Big Data : l'analyse de données en masse

Pour faire face à l'explosion du volume des données, un nouveau domaine technologique a vu le jour : le Big Data. Inventées par les géants du web, ces solutions sont dessinées pour offrir un accès en temps réel à des bases de données géantes.

Comment définir le Big Data, et quelle est sa promesse ?

Face à l'explosion du volume d'informations, le Big Data vise à proposer une alternative aux solutions traditionnelles de bases de données et d'analyse (serveur SQL, plateforme de Business Intelligence...). Confrontés très tôt à des problématiques de très gros volumes, les géants du web, au premier rang desquels Yahoo (mais aussi Google et Facebook), ont été les premiers à déployer ce type de technologies. Selon le Gartner, le Big Data (en français mégadonnées ou "Grandes données") regroupe une famille d'outils qui répondent à une triple problématiques : un Volume de données important à traiter, une grande Variété d'informations (en provenance de plusieurs sources, non-structurées, structurées, Opendata...), et un certain niveau de Vélocité à atteindre - c'est-à-dire de fréquence de création, collecte, traitement/analyse et partage de ces données. C'est la règle dite des 3V.


Quelles sont les principales technologies de Big Data ?

Elles sont nombreuses. Pour optimiser les temps de traitement sur des bases de données géantes, plusieurs solutions peuvent entrer en jeu :

 Des bases de données NoSQL (comme MongoDB, Cassandra ou Redis) qui implémentent des systèmes de stockage considérés comme plus performants que le traditionnel SQL pour l'analyse de données en masse (orienté clé/valeur, document, colonne ou graphe).

 Des infrastructures de serveurs pour distribuer les traitements sur des dizaines, centaines, voire milliers de nœuds. C'est ce qu'on appelle le traitement massivement parallèle. Le framework Hadoop est sans doute le plus connu d'entre eux. Il combine le système de fichiers distribué HDFS, la base NoSQL HBase et l'algorithme MapReduce. D'autres technologies visant à tendre vers des traitements plus "temps réel" ont émergé dans la foulée (c'est le cas d'Apache Spark).

 Le stockage des données en mémoire (Memtables) permet d'accélérer les temps de traitement des requêtes.