Stockage de données structurées et de traitement dans Hadoop
Lorsque l'on considère les capacités de Hadoop pour travailler avec des données structurées (ou de travailler avec des données de tout type, d'ailleurs), rappelez-vous les caractéristiques de base de Hadoop: Hadoop est, d'abord et avant tout, une plate-forme de stockage et de traitement de données à usage général conçu pour évoluer à des milliers des nœuds de calcul et pétaoctets de données.
Il n'y a pas modèle de données dans les données Hadoop est simplement de stockée sur le cluster Hadoop comme les fichiers RAW. En tant que tel, les composants de base de Hadoop lui-même ont pas de capacités spéciales pour le catalogage, indexation, ou l'interrogation de données structurées.
La beauté d'un système de stockage de données à usage général est qu'elle peut être étendue à des fins très spécifiques. La communauté Hadoop a fait exactement cela avec un certain nombre de projets Apache - des projets qui, dans sa totalité, constituent la Hadoop écosystème. Quand il vient au stockage de données structurées et de traitement, les projets décrits dans cette liste sont les plus couramment utilisés:
Hive: Un cadre de l'entreposage de données pour Hadoop. Données de catalogues ruche dans des fichiers structurés et fournit une interface de requête avec le langage SQL-like nommé HiveQL.
HBase: UN distribué base de données - une base de données NoSQL qui repose sur plusieurs ordinateurs plutôt que sur un seul CPU, en d'autres termes - qui est construit au-dessus de Hadoop.
Giraph: Un moteur de traitement graphique pour les données stockées dans Hadoop.
De nombreux autres projets Apache prennent en charge différents aspects de l'analyse des données structurées, et certains projets se concentrent sur un certain nombre de cadres et d'interfaces.
Lors de la détermination de l'architecture optimale pour vos besoins d'analyse, assurez-vous d'évaluer les attributs et les capacités des systèmes que vous envisagez. Le tableau compare les magasins de données basées sur Hadoop (Hive, Giraph et Hbase) avec SGBDR traditionnel.
Critères | Hive | Giraph | HBase | SGBDR |
---|---|---|---|---|
Données modifiables | Non | Oui | Oui | |
Mise en page des données | Les fichiers Raw stockés dans HDFS- Hive soutient proprietaryrow-orienté ou formats en colonnes. | A, distribué, SortedMap multidimensionnelle persistante clairsemée | Rangée colonne orientée ou orientée | |
Les types de données | Types de données Bytes- sont interprétées sur requête. | Rich support de type de données | ||
Hardware | Hadoop cluster produits x86 Serveurs- cinq ou plus est typicalbecause la technologie de stockage sous-jacent est HDFS, qui, par defaultrequires trois répliques. | Typiquement grands systèmes multiprocesseurs, évolutives | ||
Haute disponibilité | OUI- intégré dans l'architecture Hadoop | Oui, si le matériel et le SGBDR sont correctement configurés | ||
Index | Oui | Non | Row-clé uniquement ou table spéciale requise | Oui |
Langage d'interrogation | HiveQL | Giraph API | HBase commandes API (,,,,,, HiveQL | SQL |
Schema | Schéma défini comme les fichiers sont catalogués avec le Hive DataDefinition Langue (DDL) | Schéma sur lecture | Variabilité dans le schéma entre les rangées | Schéma sur la charge |
Débit | Des millions de lectures et écritures par seconde | Des milliers de lectures et écritures par seconde | ||
Transactions | Aucun | Fournit support acide sur une seule ligne | Fournit multi-ligne et tableau croisé support transactionnel withfull respect de la propriété ACID | |
La vitesse de transaction | Vitesse modeste pour queries- interactive rapide pour tablescans complètes | Rapide pour interactive queries- rapide pour analyses complètes de table | Rapide pour queries- interactive plus lente pour les analyses complètes de table | |
Taille typique | Gammes de téraoctets à pétaoctets (parmi des centaines de milliards de millionsto de lignes) | De gigaoctets à téraoctets (des centaines de milliers de lignes) tomillions |