Les clients HBase effectuant une mise à niveau vers CDH 6 à partir de CDH 5 bénéficieront également d'une mise à niveau HBase passant de HBase1 à HBase2. La performance est un aspect important pris en compte par les clients. Nous avons mesuré les performances de CDH 5 HBase1 par rapport à CDH 6 HBase2 à l'aide de charges de travail YCSB afin de comprendre les implications de la mise à niveau sur les performances des clients effectuant des mises à niveau sur place (aucune modification du matériel).
À propos du BSJC
Pour nos tests, nous avons utilisé Yahoo ! Référence de service cloud (YCSB). YCSB est une spécification open-source et une suite de programmes pour évaluer les capacités de récupération et de maintenance des programmes informatiques. Il est souvent utilisé pour comparer les performances relatives des systèmes de gestion de base de données NoSQL.
Le benchmark original a été développé par des travailleurs de la division de recherche de Yahoo! qui l'a publié en 2010.
Plus d'informations sur YCSB à https://github.com/brianfrankcooper/YCSB
Dans notre environnement de test, l'échelle de données YCSB @ 1 To a été utilisée, et les charges de travail d'exécution comprenaient les charges de travail par défaut YCSB et les charges de travail personnalisées.
Charges de travail de test YCSB utilisées :
- Charge de travail A (lecture + mise à jour) :Exemple d'application :magasin de sessions enregistrant les actions récentes d'une session utilisateur
- 50 % LU
- 50 % DE MISE À JOUR
- Charge de travail C (lecture seule) :Exemple d'application :Lire le cache du profil utilisateur, où les profils sont construits ailleurs (par exemple, Hadoop)
- 100 % LU
- Charge de travail F (Lecture+Modification+Écriture) :Exemple d'application :base de données utilisateur, où les enregistrements utilisateur sont lus et modifiés par l'utilisateur ou pour enregistrer l'activité de l'utilisateur
- 50 % LU
- 25 % DE MISE À JOUR
- 25 % LECTURE-MODIFICATION-ÉCRITURE
- Mise à jour de la charge de travail YCSB personnalisée Cloudera uniquement :Exemple d'application :mises à jour en masse
- Opérations de mise à jour à 100 %
Plus d'informations sur les charges de travail YCSB sur https://github.com/brianfrankcooper/YCSB/wiki/Core-Workloads
Méthodologie des tests
Nous chargeons l'ensemble de données YCSB avec 1 000 000 000 enregistrements, chaque enregistrement ayant une taille de 1 Ko, créant un total de 1 To de données. Après le chargement, nous attendons que toutes les opérations de compactage soient terminées avant de commencer le test de charge de travail. Chaque charge de travail testée a été exécutée 3 fois pendant 15 minutes chacune et le débit* mesuré. Le nombre moyen est tiré de 3 tests pour produire le nombre final.
* Débit (ops/sec) =nombre d'opérations par seconde
Comparaison du débit de CDH5 HBase1 et CDH6 HBase2 avec YCSB
Débit de mise à jour personnalisée uniquement
Mise à jour uniquement . Cas d'utilisation :mises à jour en masse
Débit CDH6 HBase2 supérieur de 50 % à CDH5 HBase1
Débit de la charge de travail A du YCSB
Mise à jour lourde. Cas d'utilisation :stockage de session, enregistrement des actions récentes
Débit CDH6 HBase2 6 % inférieur à CDH5 avec HBase1
Débit de la charge de travail C du YCSB
Lecture seule. Cas d'utilisation :cache de profil utilisateur, cache de flux d'actualités
Débit CDH6 HBase2 5 % inférieur à CDH5 HBase1
Débit de la charge de travail F du YCSB
Lire-Modifier-Ecrire. Cas d'utilisation :magasin d'activités, bases de données utilisateur
Débit CDH6 HBase2 très proche de CDH5 HBase1
Résumé des résultats des tests
Mise à jour personnalisée uniquement charge de travail : Mise à jour HBase2 CDH6 Seule la charge de travail a été 50 % meilleure que HBase1 CDH5
Charge de travail F du YCSB : Les opérations et le débit de la charge de travail CDH6 YCSB Workload F étaient très similaires vers CDH5 HBase1
Charges de travail YCSB Workload A et YCSB Workload C : CDH6 YCSB Workload C Read Only et YCSB Workload A avaient environ 5 % de moins opérations et débit que CDH5 HBase1
Versions CDH comparées
Version CDH6 :Cloudera Enterprise 6.2
Version CDH5 :Cloudera Enterprise 5.16.2
Nom de la machine virtuelle Java :machine virtuelle du serveur Java HotSpot(TM) 64 bits
Version Java : 1.8.0_141
Environnement de test
Cluster utilisé : Cluster à 6 nœuds
Description du nœud : Dell PowerEdge R430, 20c/40t Xenon e5-2630 v4 à 2,2 GHz, 128 Go de RAM, disques de 4 à 2 To
Configuration du test
- Version YCSB : 0.14.0
- Version de liaison YCSB hbase20
- Tableau YCSB à l'échelle de 1 To
- Configurations WAL
- Nombre de pipelines WAL par serveur de région (wal.regiongrouping.numgroups ) mis à 1
- Multi-WAL :wal.provider défini sur Multiple HDFS WAL
- Remarque -> Ici, le WAL unique utilisé comme pipelines WAL est défini sur 1
- WAL Asyncfs :region.replica.replication.enabled défini sur faux
- Sécurité : Aucun configuré (pas de Kerberos)
- Serveurs régionaux
- Nombre de régions dans le tableau YCSB 250, avec un cluster de 5 + 1 nœuds, soit environ 50 régions par serveur de région
- Taille moyenne du serveur régional :290 G
- Données par région ~ 6G
- Seul le cache L1 avec LruBlockCache est utilisé avec une limite de taille de cache de 3 Go
Sur la base de nos tests (résultats ci-dessus), les clients souhaitant passer de CDH 5.x à 6.x doivent s'attendre à des performances nettement améliorées pour les mises à jour groupées et à des performances assez similaires pour les autres charges de travail par rapport à ce qu'ils obtiennent aujourd'hui.
En savoir plus sur la base de données opérationnelle Cloudera ici