HBase
 sql >> Datenbank >  >> NoSQL >> HBase

HBase-Leistung CDH5 (HBase1) vs. CDH6 (HBase2)

HBase-Kunden, die von CDH 5 auf CDH 6 upgraden, erhalten auch ein HBase-Upgrade, das von HBase1 auf HBase2 wechselt. Leistung ist ein wichtiger Aspekt, den Kunden berücksichtigen. Wir haben die Leistung von CDH 5 HBase1 im Vergleich zu CDH 6 HBase2 unter Verwendung von YCSB-Workloads gemessen, um die Leistungsauswirkungen des Upgrades auf Kunden zu verstehen, die In-Place-Upgrades durchführen (keine Änderungen an der Hardware).

Über YCSB

Für unsere Tests verwendeten wir das Yahoo! Cloud-Serving-Benchmark (YCSB). YCSB ist eine Open-Source-Spezifikation und Programmsuite zur Bewertung der Abruf- und Wartungsfähigkeiten von Computerprogrammen. Es wird oft verwendet, um die relative Leistung von NoSQL-Datenbankverwaltungssystemen zu vergleichen.

Der ursprüngliche Benchmark wurde von Mitarbeitern der Forschungsabteilung von Yahoo! der es 2010 veröffentlicht hat. 

Weitere Informationen zu YCSB unter https://github.com/brianfrankcooper/YCSB

In unserer Testumgebung wurde eine YCSB-Datenskalierung von 1 TB verwendet, und die ausgeführten Workloads umfassten YCSB-Standardworkloads und angepasste Workloads.

Verwendete YCSB-Testarbeitslasten: 

  • Workload A (Lesen+Aktualisieren) :Anwendungsbeispiel:Sitzungsspeicher, der letzte Aktionen in einer Benutzersitzung aufzeichnet
    • 50 % LESEN
    • 50 % UPDATE
  • Arbeitslast C (schreibgeschützt) :Anwendungsbeispiel:Benutzerprofil-Cache lesen, wo Profile an anderer Stelle aufgebaut werden (z. B. Hadoop)
    • 100 % GELESEN
  • Workload F (Lesen+Ändern+Schreiben) :Anwendungsbeispiel:Benutzerdatenbank, in der Benutzerdatensätze vom Benutzer gelesen und geändert werden oder um Benutzeraktivitäten aufzuzeichnen
    • 50 % LESEN
    • 25 % UPDATE
    • 25 % LESEN-ÄNDERN-SCHREIBEN
  • Nur Aktualisierung der benutzerdefinierten YCSB-Arbeitslast von Cloudera :Anwendungsbeispiel:Massenaktualisierungen
    • 100 % UPDATE-Operationen

Weitere Informationen zu YCSB-Workloads unter https://github.com/brianfrankcooper/YCSB/wiki/Core-Workloads

Testmethodik

Wir laden das YCSB-Dataset mit 1.000.000.000 Datensätzen, wobei jeder Datensatz 1 KB groß ist, wodurch insgesamt 1 TB an Daten erstellt werden. Nach dem Laden warten wir, bis alle Komprimierungsvorgänge abgeschlossen sind, bevor wir mit dem Workload-Test beginnen. Jede getestete Workload wurde dreimal für jeweils 15 Minuten ausgeführt und der Durchsatz* gemessen. Die Durchschnittszahl wird aus 3 Tests genommen, um die endgültige Zahl zu erhalten.

* Durchsatz (Operationen/Sek.) =Anzahl der Operationen pro Sekunde

Durchsatzvergleich von CDH5 HBase1 vs. CDH6 HBase2 mit YCSB

Nur benutzerdefinierter Update-Durchsatz

Nur aktualisieren . Anwendungsfälle:Massenaktualisierungen
CDH6 HBase2-Durchsatz 50 % höher als bei CDH5 HBase1

YCSB-Arbeitslast A-Durchsatz

Schwierig aktualisieren. Anwendungsfälle:Sitzungsspeicher, Aufzeichnung der letzten Aktionen
CDH6 HBase2-Durchsatz 6 % geringer als CDH5 mit HBase1

YCSB Workload C-Durchsatz

Nur lesen. Anwendungsfälle:Benutzerprofil-Cache, Newsfeed-Cache
CDH6 HBase2-Durchsatz 5 % geringer als CDH5 HBase1

YCSB Workload F-Durchsatz

Lesen-Ändern-Schreiben. Anwendungsfälle:Aktivitätsspeicher, Benutzerdatenbanken
CDH6 HBase2-Durchsatz sehr nahe an CDH5 HBase1

Zusammenfassung der Testergebnisse

Nur benutzerdefiniertes Update Arbeitsbelastung :  HBase2-CDH6-Update-Nur-Workload schnitt 50 % besser ab als HBase1 CDH5

YCSB-Arbeitslast F-Arbeitslast: CDH6 YCSB Workload F-Workload-Vorgänge und -Durchsatz waren sehr ähnlich zu CDH5 HBase1

YCSB-Arbeitslast A und YCSB-Arbeitslast C-Arbeitslasten: CDH6 YCSB Workload C Read Only und YCSB Workload A hatten ca. 5 % weniger Betrieb und Durchsatz als CDH5 HBase1

CDH-Versionen im Vergleich

CDH6-Version:Cloudera Enterprise 6.2

CDH5-Version:Cloudera Enterprise 5.16.2

Name der Java-VM:Java HotSpot(TM) 64-Bit-Server-VM

Java-Version:1.8.0_141

Testumgebung

Verwendeter Cluster: 6-Knoten-Cluster
Knotenbeschreibung: Dell PowerEdge R430, 20c/40t Xenon e5-2630 v4 bei 2,2 GHz, 128 GB RAM, 4–2 TB Festplatten

Setup testen

  • YCSB-Version:0.14.0
  • YCSB-Bindungsversion hbase20
  • YCSB-Tabelle im 1-TB-Maßstab
  • WAL-Konfigurationen
    • Anzahl der WAL-Pipelines pro RegionServer (wal.regiongrouping.numgroups ) auf 1 gesetzt
    • Multi-WAL:wal.provider auf Multiple HDFS WAL
        gesetzt
      • Hinweis -> Hier wird Single WAL, das als WAL-Pipelines verwendet wird, auf 1 gesetzt
    • Asyncfs WAL:region.replica.replication.enabled auf false setzen
  • Sicherheit: Nichts konfiguriert (Kein Kerberos)
  • Regionsserver
    • Anzahl der Regionen in der YCSB-Tabelle 250, mit 5+1-Knoten-Cluster sind es ungefähr 50 Regionen pro Regionsserver
    • Durchschnittliche Servergröße der Region:290 GB
    • Daten pro Region ~ 6G
  • Nur L1-Cache mit LruBlockCache verwendet mit 3 GB Cache-Größenbeschränkung

Basierend auf unseren Tests (Ergebnisse oben) sollten Kunden, die ein Upgrade von CDH 5.x auf 6.x anstreben, eine deutlich verbesserte Leistung für Massenaktualisierungen und eine ziemlich ähnliche Leistung für andere Workloads im Vergleich zu dem erwarten, was sie heute erhalten.

Erfahren Sie hier mehr über Cloudera Operational DB