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

Leistungsverbesserungen der operativen Datenbank in CDP Private Cloud Base 7 gegenüber CDH5

Cloudera Data Platform (CDP) Private Cloud ist die umfassendste lokale Plattform für integrierte Analysen und Datenverwaltung. Es kombiniert das Beste aus Cloudera Enterprise Data Hub und Hortonworks Data Platform Enterprise Plus und bringt die neuesten und besten Open-Source-Technologien für Datenmanagement und -analyse in das Rechenzentrum.

Mit der neuesten Version (7) von CDP Private Cloud Base haben wir eine Reihe neuer Funktionen und Verbesserungen eingeführt. In diesem Blogbeitrag möchten wir die in Apache HBase verfügbaren Leistungsverbesserungen vorstellen.

Für diejenigen, die neu bei HBase sind oder es für ein neues Projekt evaluieren:HBase ist eine nicht relationale verteilte Datenbank, der Architekten und Entwickler vertrauen, die große Datenmengen zeitnah und zuverlässig verarbeiten möchten.

Für diesen Leistungsvergleich haben wir HBase2, verfügbar in CDP Private Cloud Base 7, bis Hbase1, verfügbar in CDH 5, unter Verwendung von YCSB-Workloads gemessen. Der Vergleich hilft uns, die Leistungsverbesserungen und Auswirkungen für Kunden zu verstehen, die In-Place-Upgrades ohne Änderungen an der zugrunde liegenden Hardware durchführen.

Hinweis:Kunden, die von CDH 5 auf CDP 7 aktualisieren, erhalten auch ein HBase-Upgrade von HBase1 auf HBase2.

  • Nur benutzerdefinierte YCSB-Update-Workload
    • Unsere benutzerdefinierte YCSB-Workload „Nur Update“ ist leistungsstark 
      • 100 % UPDATE-Operationen
    • Ein Anwendungsbeispiel wäre ein Metrics Store
    • Workload-Leistung: CDP 7 YCSB-Update Nur der Workload-Durchsatz (Vorgänge pro Sekunde) war 20 % besser als bei der Ausführung mit CDH5

  • YCSB-WorkloadA 
    • YCSB-Arbeitslast A führt 
        aus
      • 50 % Lesevorgänge
      • 50 % UPDATE-Vorgänge
    • Ein Anwendungsbeispiel wäre ein Sitzungsspeicher, der die letzten Aktionen in einer Benutzersitzung aufzeichnet 
    • Workload-Leistung:CDP Private Cloud Base 7.1 HBase2 YCSB Workload A Durchsatz (Vorgänge pro Sekunde) war 15 % besser als CDH5 HBase1

  • YCSB-Arbeitslast C (schreibgeschützt) 
    • YCSB-Arbeitslast C ist eine schreibgeschützte Arbeitslast und führt 
        aus
      • 100 % READ-Operationen
    • Ein Anwendungsbeispiel wäre das Lesen des Benutzerprofil-Cache, wenn Profile an anderer Stelle erstellt werden (z. B. Hadoop), oder ein Banksystem, um auf Kontoauszüge zuzugreifen und diese anzuzeigen 
    • Workload-Leistung:CDP 7 YCSB-Workload C hatte einen ähnlichen Durchsatz (Vorgänge pro Sekunde) wie CDH 5

Fazit – CDP 7 bietet eine verbesserte Leistung als CDH 5 in YCSB  

Benutzerdefinierte UpdateOnly-Workload :CDP 7 YCSB-Update-Nur-Workload war 20 % besser als C5.

YCSB-Arbeitslast A :CDP 7 YCSB-Arbeitslast A war 15 % besser als CDH5.

YCSB-Arbeitslast C :CDP 7 YCSB-Nur-Lese-Workload C hatte ähnliche Vorgänge/Durchsatz zu CDH 5 

Während unserer Tests haben wir festgestellt, dass ein Upgrade von JDK8 auf JDK 11 innerhalb von CDP 7 die Leistung um weitere 10 % verbessern kann. Dies geht über die Leistungsverbesserungen hinaus, die durch das Upgrade von CDH5 auf CDP7 erzielt wurden.

CDP 7 wird standardmäßig mit installiertem JDK8 geliefert und unterstützt ein Upgrade auf JDK11. In unseren Testläufen wurde CDP 7 aktualisiert, um JDK 11 für die oben gezeigten YCSB-Workload-Läufe zu verwenden. Wir haben die gleichen Workloads auch mit JDK8 ausgeführt und die Testergebnisse zeigten, dass die Leistung von JDK11 im Vergleich zu JDK8 um 5–10 % besser ist , wie im Diagramm unten gezeigt

Um CDP 7 von JDK 8 auf OpenJDK 11 zu aktualisieren, führen Sie bitte die folgenden Schritte aus:

Schritt 1:Installieren Sie OpenJDK11 auf allen Hosts mithilfe des Folgenden

RHEL 

sudo yum install java-11-openjdk

Ubuntu

sudo apt install openjdk-11-jdk

Schritt 2:Nur auf dem Cloudera Manager Server-Host (nicht erforderlich für andere Hosts):

  1. Öffnen Sie die Datei /etc/default/cloudera-scm-server in einem Texteditor.
  2. Bearbeiten Sie die Zeile, die mit export JAVA_HOME beginnt (falls diese Zeile nicht existiert, fügen Sie sie hinzu) und ändern Sie den Pfad in den Pfad des neuen JDK (das JDK wird normalerweise in / usr/lib/jvm) (oder /usr/lib64/jvm auf SLES 12), aber der Pfad kann je nachdem, wie das JDK installiert wurde, unterschiedlich sein).

Für weitere Informationen zum Upgrade von JDK folgen Sie bitte Aktualisieren des JDK

Testumgebung

Testmethodik

CDH 5.16.3/HBase1 wurde auf dem Cluster installiert und Workload-Daten mit 1 Milliarde Zeilen (Datensatzgröße 1 TB) wurden generiert und CDH 5.16.3 YCSB-Workloads wurden ausgeführt. Nach dem Laden haben wir gewartet, bis alle Komprimierungsvorgänge abgeschlossen sind, bevor wir mit dem Workload-Test begonnen haben.

Nachdem CDH 5.16.3-Läufe abgeschlossen waren, wurde CDP Private Cloud Base 7.1 HBase2 neu installiert und die Daten auf demselben Cluster neu generiert. Die CDP Private Cloud Base 7.1 YCSB-Arbeitslasten wurden dann ausgeführt, um die Testzeiten zu erhalten. Vor jedem Workload-Lauf haben wir die von YCSB verwendete HBase-Tabelle initialisiert. Snapshot der Benutzertabelle utable_snap wurden erstellt und vor jedem Lauf angewendet.

Jede getestete Workload wurde dreimal für jeweils 15 Minuten ausgeführt, um den Durchsatz zu messen*. Die angezeigten Ergebnisse sind die Durchschnittswerte der 3 Tests.

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

CDP Private Cloud Base 7.1 enthält HBase2 und CDH 5.16.3 enthält HBase1. Sowohl CDP Private Cloud Base 7.1 als auch CDH5 haben JDK 8 installiert. CDP Private Cloud Base 7.1 unterstützt JDK11 und CDP Private Cloud Base 7.1 wurde aktualisiert, um JDK 11 für YCSB-Tests zu verwenden, CDH 5.13.3-Läufe wurden mit JDK 8 (1.8.0_141) ausgeführt.

Konfigurationen testen

  • YCSB-Version 0.17.0
  • YCSB-Bindungsversion hbase2 (CDP-CD 7.1) und hbase1 (CDH 5) 
  • YCSB-Clients verwendeten 2
  • YCSB-Threads pro Client 20
  • Datengröße
    • YCSB-Tabelle im 1-TB-Maßstab
    • Gesamtzahl der Datensätze in der YCSB-Tabelle 1.000.000.000 (1 TB), jeder Datensatz ist 1 KB groß
    • Anzahl der Regionen in der YCSB-Tabelle 250, mit 5+1-Knoten-Cluster sind es ungefähr 50 Regionen pro Regionsserver
    • Durchschnittlicher regionaler Speicherplatzverbrauch pro Servergröße 290 GB
  • Server der HBase-Region wurden mit 32-GB-Heap konfiguriert 
  • Nur L1-Cache mit LruBlockCache wurde mit 12,3 GB Cachegröße verwendet
  • Der
  • Prozentsatz der Treffer im L1-Cache, der während der Ausführung auf regionalen Servern beobachtet wurde, betrug 85 %
  • L2 Off-Heap-Cache wurde nicht auf dem Cluster konfiguriert

Cluster-Konfigurationen

  • Verwendeter Cluster: 6-Knoten-Cluster (1 Master + 5 Regionsserver)
  • Beschreibung: Dell PowerEdge R430, 20c/40t Xenon e5-2630 v4 @ 2,2 GHz, 128 GB RAM, 4–2 TB Festplatten
  • Sicherheit: Nichts konfiguriert (Kein Kerberos)

Cloudera-Versionen im Vergleich

C7-Version :CDP Private Cloud Base 7.1.0

C5-Version: CDH5.16.3

Verwendete JDKs:JDK 8 ( 1.8.0_141) und JDK 11 (11.0.6)

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

Weitere Informationen zu Cloudera Operational DB hier