Hadoop ; Hadoop est une révolution technologique…
Nous pouvons vous aider à le Maîtriser
Maîtriser Hadoop est la première étape pour maîtriser le Big Data
Chez dataXper nous combinons Experience et Technologies Big Data
Le résulat ? Un Succès unique et des projets qui tournent Efficament
Le Big Data est considéré comme de l’or noir du 21ème siècle. Et en effet il y a des trésors d’informations cachés dans tout ces Zetaoctets de données (logs, réseaux sociaux, open data…). Mais par quels moyens les analyser, les corréler, les prédire et en extraire des informations pertinentes?
Toute la puissance du Big Data repose sur une technologie pour le moins révolutionnaire. La plus populaire de ces technologies étant le framework Hadoop pour le traitement par lot, Spark et Storm pour les traitements temps réel ou presque.
Liste non exhaustive des technologies sur lesquelles nous sommes amené à travailler lors de nos différentes interventions.
Hadoop
Hadoop est une plate-forme open source, développée à l’origine par Yahoo!, sur une idée originale de Google. C’est la plate-forme Big Data par excellence et on la trouve presque systématiquement dans tout projet qui vise à traiter de grandes quantités de données.
En effet, de par sa nature, Hadoop s’adresse avant tout à ceux qui ont des volumes de données colossaux. En dessous de 10 To de données, l’utilisation de Hadoop en tant que tel peut apparaître comme contre productive.
De plus, le cœur d’Hadoop est réellement destiné à traiter des données en mode batch (par lot), avec une latence au lancement des traitements qui peut paraître importante (plusieurs dizaines de secondes, voire plusieurs minutes).
HBase
HBase est une base de données non relationnelle (NoSQL) distribuée, orientée colonne disposant d’un stockage non structuré pour les grandes tables.
HBase est une composante essentielle de Hadoop. HBase est conçue pour traiter des données aux volumes importants (plusieurs milliards de lignes, plusieurs millions de colonnes par ligne) et non uniformes (chaque ligne peut avoir une structure différente des autres lignes).
Hive
Apache Hive est un système d’entrepôt de données pour Hadoop qui permet de résumer des données, d’envoyer des requêtes et d’analyser des données à l’aide de HiveQL (un langage de requête similaire à SQL).
Hive peut être utilisé pour explorer vos données de manière interactive ou pour créer des tâches de traitement par lots réutilisables.
mongoDB
MongoDB est l’une des base de données NoSQL orientée document très populaire. Dans cette base les données (ou documents) sont regroupés sous forme de collections, les collections étant l’équivalent des tables du SQL.
Il est possible de représenter chaque document au format JSON (MongoDB utilise une variante binaire plus compacte de JSON nommé BSON pour son stockage interne). Chaque Document dispose d’une clé unique permettant de l’identifier dans la collection.
neo4j
Neo4J est une base de données NoSQL orientée graphe qui vit le jour en 2000. Au sein de cette base les données sont représentés sous forme d’un graphe. Un graphe est un ensemble d’objets stockés sous forme de nœuds et liés entre eux par des relations qui sont nommées.
Cette base, contrairement aux autres bases NoSQL garantit que les transactions sont ACID (atomicité, cohérence, isolation et durabilité). Chaque transaction est fiable et unique au sein de cette base. L’un des points mis en avant par Neo Technology est la possibilité d’exécuter plusieurs millions de requêtes par seconde sur des relations entre nœuds.
Spark
Apache Spark est une infrastructure de traitement parallèle open source qui prend en charge le traitement en mémoire pour améliorer les performances des applications d’analyse de données volumineuses.
Le moteur de traitement Spark est élaboré pour permettre des analyses rapides, simples d’utilisation et sophistiquées.
De par ses capacités de calcul en mémoire, Spark constitue le choix idéal pour les algorithmes itératifs utilisés dans les calculs d’apprentissage machine et de graphiques.
Strom
Apache Storm est un système de calcul distribué, open source et tolérant aux pannes qui permet de traiter les données en temps réel avec Hadoop.
Les solutions Storm peuvent également permettre un traitement garanti des données, ainsi que la possibilité de relire les données dont le traitement a échoué une première fois. Apache Storm garantit toujours que chaque message entrant sera entièrement traité, même lorsque l‘analyse de données est répartie sur des centaines de nœuds.
Kafka
Apache Kafka est un système distribué de messagerie open source qui vous permet de créer en temps réel des applications en utilisant des données en streaming.
Vous pouvez envoyer des données en streaming comme les parcours de navigation d’un site Web, des transactions financières et des journaux d’applications à votre cluster Kafka. Celui-ci met alors en mémoire tampon les données et les diffuse aux applications de traitement des flux basées sur des frameworks tels qu’Apache Spark Streaming, Apache Storm ou Apache Samza.
Cassandra
Cassandra est une base de données NoSQL appartenant à la famille des bases de données orientées colonnes. Il s’agit d’un projet lancé par Facebook en 2007 qui avait atteint les limites des bases de données relationnelles, c’est pour cela qu’ils ont décidé de créer leur propre base de données répondant à leurs besoins. Après 2 ans de développement, ils ont décidé de l’offrir au monde du libre et c’est devenu un projet open source appartenant à la fondation Apache en 2009.
Cassandra reprend les concepts de 2 bases de données existantes. La première BigTable, créé par Google, pour son modèle de données orienté colonne et son mécanisme de persistance sur disque, et la seconde Dynamo, créé par Amazon, pour son architecture distribuée sans nœud maître.
CouchDB
CouchDB est un système de gestion de base de données NoSQL orientée documents codé en Erlang et distribué sous licence Apache.
L’un des principes de base de sa conception est la facilité d’usage (d’où le logo). D’après ses développeurs, découvrir CouchDB et comprendre ses principes fondamentaux devrait paraître naturel pour la plupart des personnes qui se sont penchées un tant soit peu sur le Web. Et c’est aussi assez simple à expliquer à des profils non techniques.
CouchDB utilise une structure de données particulière pour indexer ses documents et ses vues. Il s’agit d’un B-tree, ou arbre B (ça sonne moins bien…).