Premiers pas avec le Big Data - Qu'est-ce que Kudu

teneur

1. Conception

2.Architecture

1.Serveur maître

2.Serveur de tablette

3.Tableau

4. Tablette

3. Caractéristiques

1.Importance

2. Facilité d'utilisation

3. Avantages

4. Comparaison avec les bases de données relationnelles traditionnelles

5. Comparaison avec d'autres composants Big Data

Quatre phrases couramment utilisées

1. Construire un tableau

1. Construire une table commune

2. Créer une table de partition

2. Supprimer le tableau

3. Interroger les données

4. Ajouter des données

5. Mettre à jour les données

6. Supprimer les données

7. Ajouter une seule partition

8. Supprimer une seule partition

9. Ajouter plusieurs partitions

10. Supprimer plusieurs partitions

11. Nouvelle colonne

12. Supprimer des colonnes

13. Modifier le nom de la colonne

14. Partitionnement en plusieurs colonnes

1. Créer un nouveau tableau

2. Ajouter une nouvelle partition

3. Supprimer la partition

Cinq, le vernaculaire

6. Autres

Une série d'articles sur la prise en main du Big Data


Voici une brève introduction à certains noms communs de Kudu, une structure simple et quelques déclarations couramment utilisées. En ce qui concerne l'introduction plus détaillée de suivi, ce composant sera présenté en détail séparément, et vous pouvez suivre le blog pour une lecture de suivi.

1. Conception

Kudu est un nouveau type de système de stockage en colonnes open source de Cloudera. Il fait partie de l'écosystème Apache Hadoop. Il est conçu pour analyser rapidement les données qui changent rapidement et combler le vide de la couche de stockage Hadoop précédente.

Kudu fournit des fonctions et des modèles de données plus proches du RDBMS, fournissant une structure de stockage similaire aux bases de données relationnelles pour stocker les données, permettant aux utilisateurs d'insérer, de mettre à jour et de supprimer des données de la même manière que les bases de données relationnelles.

Kudu n'est qu'une couche de stockage, il ne stocke pas de données, mais s'appuie sur des moteurs de traitement Hadoop externes (MapReduce, Spark, Impala). Kudu stocke les données dans le système de fichiers Linux sous-jacent dans son propre format de stockage en colonnes.

Le cœur de Kudu est un moteur de stockage basé sur des tables. Kudu stocke ses propres informations de métadonnées (sur la table) et les données utilisateur, stockées dans la tablette.

Kudu a Upsert pour mettre à jour les données, similaire à Merge d'Oracle.

2.Architecture

Semblable à HDFS et HBase, Kudu utilise un seul nœud maître, qui gère les métadonnées du cluster, et n'importe quel nombre de nœuds Tablet Server (comparez le rôle RegionServer dans HBase) pour stocker les données réelles. Plusieurs nœuds maîtres peuvent être déployés pour améliorer la tolérance aux pannes. Les données d'une table Table sont divisées en une ou plusieurs tablettes, qui sont déployées sur Tablet Server pour fournir des services de lecture et d'écriture de données.

1.Serveur maître

Le leader du cluster Kudu peut avoir plusieurs serveurs maîtres pour améliorer la tolérance aux pannes du cluster, mais un seul serveur maître fournit des services externes et est responsable de la gestion du cluster et de la gestion des métadonnées.

2.Serveur de tablette

Il peut y avoir n'importe quel nombre de jeunes frères dans le cluster Kudu, responsables du stockage des données et de la lecture et de l'écriture des données. Les tablettes sont stockées sur le serveur de tablette. Pour une tablette, un seul des serveurs de table sert de leader pour fournir des services de lecture et d'écriture, tandis que les autres serveurs de table sont tous des suiveurs et ne fournissent que des services de lecture.

3.Tableau

Table : le concept de table dans Kudu comprend les concepts de schéma et de clé primaire. La table dans Kudu sera divisée horizontalement en plusieurs fragments de tablette et stockée sur le serveur de tablette.

4. Tablette

Une tablette est un segment continu d'une table, une tablette est une partition horizontale d'une table, les plages de clés primaires entre les tablettes ne se chevauchent pas et tous les segments de tablette d'une table constituent toutes les plages de clés primaires de la table. La tablette sera stockée de manière redondante sur plusieurs serveurs de tablette pour configurer des répliques. À tout moment, un seul serveur de tablette est le leader et les autres sont des suiveurs.

3. Caractéristiques

​​​​​​​

 

1.Importance

1. La complexité de l'analyse des mégadonnées est souvent due aux limites du système de stockage. Les limites de Kudu sont beaucoup plus petites, ce qui simplifie dans une certaine mesure l'analyse des mégadonnées.
2. De nouveaux scénarios d'application nécessitent Kudu, comme de plus en plus d'applications axées sur les données générées par la machine et l'analyse en temps réel.
3. Adaptez-vous au nouvel environnement matériel, apportant ainsi des performances et une flexibilité d'application supérieures.

2. Facilité d'utilisation

1. Fournir des fonctions et des modèles de données plus proches du SGBDR ;
2. Fournir une structure de stockage de table de base de données de type SGBDR ;
3. Permettre aux utilisateurs d'insérer, de mettre à jour et de supprimer des données de la même manière que le SGBDR.

3. Avantages

Kudu a également la capacité d'insérer ligne par ligne, un accès aléatoire à faible latence, une mise à jour et une analyse d'analyse rapide, ce qui le rend bien pris en charge à la fois dans OLAP et OLTP.Ces architectures complexes qui nécessitaient à l'origine plusieurs systèmes de stockage pour prendre en charge en même temps temps ont été remplacés Il n'y a qu'un seul système de stockage, et toutes les données sont stockées dans ce système de stockage, ce qui simplifie grandement l'architecture du Big Data.

4. Comparaison avec les bases de données relationnelles traditionnelles

1. Comme les bases de données relationnelles, les tables Kudu ont une clé primaire unique.
2. Les fonctionnalités courantes des bases de données relationnelles, telles que les transactions, les clés étrangères et les index de clés non primaires, ne sont actuellement pas prises en charge dans Kudu.
3. Kudu possède certaines fonctionnalités OLAP et OLTP, mais ne prend pas en charge l'atomicité inter-lignes, la cohérence, l'isolation et les transactions persistantes.
4. Kudu peut être classé comme une base de données de type Hybrid Transaction/Analytic Processing (HTAP).
5.Kudu prend en charge la récupération rapide de la clé primaire et peut analyser les données pendant que les données sont saisies en continu, et les performances de la base de données OLAP ne sont généralement pas très bonnes dans ce scénario.
6. La garantie de persistance de Kudu est plus proche de celle d'une base de données OLTP.
7. La fonctionnalité Quorum de Kudu peut implémenter un mécanisme appelé miroirs fracturés, c'est-à-dire qu'un ou deux nœuds utilisent le stockage en ligne et les autres nœuds utilisent le stockage en colonne. De cette façon, les requêtes de type OLTP peuvent être exécutées sur les nœuds du magasin de lignes, et les requêtes OLAP peuvent être exécutées sur les nœuds du magasin de colonnes, mélangeant les deux charges de travail.

5. Comparaison avec d'autres composants Big Data

1. HDFS est bon pour la numérisation à grande échelle, mais pas bon pour la lecture aléatoire. À proprement parler, il ne prend pas en charge l'écriture aléatoire. Il peut simuler l'écriture aléatoire par fusion, mais le coût est très élevé.
2. HBase et Cassandra sont bons pour l'accès aléatoire, lisant et modifiant les données de manière aléatoire, mais les performances sont médiocres pour l'analyse à grande échelle.
3. L'objectif de Kudu est de doubler les performances d'analyse de HDFS, tandis que les performances de lecture aléatoire sont connectées à HBase et Cassandra.L'objectif réel est d'obtenir une latence de lecture/écriture aléatoire sur SSD en 1 ms.

Quatre phrases couramment utilisées

1. Construire un tableau

Kudu nécessite une clé primaire pour créer une table, et la clé primaire ne peut pas être vide.

1. Construire une table commune

create table test.test1 (
  date_timekey string not null,
  username string null,
  product_qty string null
)
stored as kudu

2. Créer une table de partition

create table test.test1 (
  date_timekey string not null,
  username string null,
  product_qty string null,
  primary key (date_timekey)
)
partition by range (date_timekey) (value='20220417')
stored as kudu

2. Supprimer le tableau

drop table if exists test.test1;

3. Interroger les données

Remarque : Lors de l'interrogation des données, il est préférable d'amener les colonnes à interroger, ce qui peut réduire le nombre de colonnes de requête et réduire le chargement de la requête. Lors de l'écriture de SQL, l'utilisation des colonnes spécifiées met moins de pression sur le cluster Big Data et rend le système plus robuste.

select date_timekey,username  from test.test1

4. Ajouter des données

Remarque : Avant d'insérer des données dans une table partitionnée, vous devez d'abord créer une partition.

insert into test.test1 (date_timekey,username)values('20200330','shuijianshiqing');

Remarque : La clé primaire des données ajoutées ne peut pas être vide, sinon les données ne seront pas saisies.

insert into test.test1 (date_timekey,b)values(null,'shuijianshiqing');

5. Mettre à jour les données

upsert into test.test1 (date_timekey,username)values('20200330','shuijianshiqing');

6. Supprimer les données

Remarque : lors de la suppression de données, vous ne pouvez pas utiliser la suppression d'alias, comme test.test t, puis la condition est t.date_timekey, de sorte que les données ne peuvent pas être supprimées.

delete from test.test1 where date_timekey='20200328';

7. Ajouter une seule partition

alter table test.test1 add range partition value='20200325';

8. Supprimer une seule partition

alter table test.test1 drop range partition value='20200325';

9. Ajouter plusieurs partitions

alter table test.test1 add range partition '20200327'<=values<'20200331';

10. Supprimer plusieurs partitions

alter table test.test1 drop range partition '20200327'<=values<'20200331';

11. Nouvelle colonne

alter table test.test1 add columns(column_new string);

12. Supprimer des colonnes

alter table test.test1 drop column column_new;

13. Modifier le nom de la colonne

username est l'ancien nom de la colonne, username_new est le nom de la nouvelle colonne,

alter table test.test1 change column username username_new string;

14. Partitionnement en plusieurs colonnes

1. Créer un nouveau tableau

drop table if exists test.test2;
create table test.test2 (
  id String not null,
  date_timekey String not null,
  hour_timekey String not null,
  username STRING,
  password STRING,
  interface_time String,
  primary key (id,date_timekey,hour_timekey)
)
partition by range (date_timekey,hour_timekey) (partition value=('20200601','20200601 0730')) 
stored as kudu

2. Ajouter une nouvelle partition

alter table test.test2_kudu add range partition value=('20200601','20200601 0830');

3. Supprimer la partition

alter table test.test2_kudu drop range partition value=('20200601','20200601 0830');

Cinq, le vernaculaire

Kudu est un moteur de stockage, similaire à RDBMS, qui peut ajouter, supprimer, modifier et interroger, ce qui rend l'analyse de données volumineuses plus pratique. Son stockage n'est pas basé sur Hadoop, mais il dispose d'un système indépendant sous Linux. Quant au contenu plus détaillé de la lecture et de l'écriture de Kudu, il sera présenté en détail plus tard.

6. Autres

Soupe au Poulet : Le monde a le plus peur du mot sérieux, ces deux mots valent des milliers de dollars, et des milliers de dollars ne s'échangent pas !

Une série d'articles sur la prise en main du Big Data

1. Introduction au Big Data - Qu'est-ce que le Big Data ?

2. Introduction au Big Data - Présentation de la technologie Big Data (1)

3. Introduction au Big Data - Présentation de la technologie Big Data (2)

4. Introduction au big data - comprendre Hadoop en trois minutes

5. Introduction au big data - cinq minutes pour comprendre HDFS

6. Introduction au big data - cinq minutes pour comprendre Hive

Ne manquez pas les beaux mecs et les beautés qui passent, faites attention et aimez le pinacle de la vie ! ! !

Je suppose que tu aimes

Origine blog.csdn.net/helongqiang/article/details/123704306
conseillé
Classement