sql >> Database >  >> NoSQL >> HBase

Verbeteringen in operationele databaseprestaties in CDP Private Cloud Base 7 versus CDH5

Cloudera Data Platform (CDP) Private Cloud is het meest uitgebreide platform op locatie voor geïntegreerde analyse en gegevensbeheer. Het combineert het beste van Cloudera Enterprise Data Hub en Hortonworks Data Platform Enterprise Plus en brengt de nieuwste en beste open source-technologieën voor databeheer en -analyse naar het datacenter.

Met de nieuwste versie (7) van CDP Private Cloud Base hebben we een aantal nieuwe functies en verbeteringen geïntroduceerd. In deze blogpost willen we de prestatieverbeteringen delen die beschikbaar zijn in Apache HBase.

Voor degenen die nieuw zijn bij HBase of het evalueren voor een nieuw project, HBase is een niet-relationele gedistribueerde database die wordt vertrouwd door architecten en ontwikkelaars die grote hoeveelheden gegevens op een tijdige en betrouwbare manier willen verwerken.

Voor deze prestatievergelijking hebben we HBase2 gemeten die beschikbaar is in CDP Private Cloud Base 7 tot Hbase1 beschikbaar in CDH 5 met behulp van YCSB-workloads. De vergelijking helpt ons de prestatieverbeteringen en implicaties te begrijpen voor klanten die interne upgrades uitvoeren zonder wijzigingen aan de onderliggende hardware.

Opmerking:klanten die upgraden van CDH 5 naar CDP 7 krijgen ook een HBase-upgrade van HBase1 naar HBase2.

  • Aangepaste YCSB-update alleen werklast
    • Onze aangepaste YCSB Update Only-workload presteert 
      • 100% UPDATE-bewerkingen
    • Een toepassingsvoorbeeld is een metrische winkel
    • Werklastprestaties: CDP 7 YCSB-update Alleen de verwerkingscapaciteit van de werklast (bewerkingen per seconde) was 20% beter dan bij uitvoering met CDH5

  • YCSB-werkbelastingA 
    • YCSB Workload A presteert 
      • 50% LEES-bewerkingen
      • 50% UPDATE-bewerkingen
    • Een toepassingsvoorbeeld is een sessieopslag waarin recente acties in een gebruikerssessie worden vastgelegd 
    • Werklastprestaties:CDP Private Cloud Base 7.1 HBase2 YCSB-workload Een doorvoer (bewerkingen per seconde) was 15% beter dan CDH5 HBase1

  • YCSB Workload C (alleen-lezen) 
    • YCSB Workload C is een alleen-lezen werkbelasting en voert 
        . uit
      • 100% LEES-bewerkingen
    • Een toepassingsvoorbeeld is het lezen van de cache van gebruikersprofielen wanneer profielen elders worden gemaakt (bijv. Hadoop) of een banksysteem om rekeningafschriften te openen en te bekijken 
    • Werklastprestaties:CDP 7 YCSB-werklast C had een vergelijkbare doorvoer (bewerkingen per seconde) als CDH 5

Uitspraak - CDP 7 biedt verbeterde prestaties dan CDH 5 in YCSB  

Werklast Alleen aangepaste update :CDP 7 YCSB Update alleen werklast uitgevoerd 20% beter dan C5.

YCSB-werkbelasting A :CDP 7 YCSB-werklast A presteerde 15% beter dan CDH5.

YCSB-werkbelasting C :CDP 7 YCSB alleen-lezen werkbelasting C had vergelijkbare bewerkingen/doorvoer naar CDH 5 

Tijdens onze tests hebben we gemerkt dat het upgraden van JDK8 naar JDK 11 binnen CDP 7 de prestaties met nog eens 10% kan verbeteren. Dit is een aanvulling op de prestatieverbeteringen die zijn verkregen door een upgrade van CDH5 naar CDP7.

CDP 7 wordt geleverd met JDK8 standaard geïnstalleerd en ondersteunt een upgrade naar JDK11. In onze testruns is CDP 7 bijgewerkt om JDK 11 te gebruiken voor de hierboven getoonde YCSB-workloadruns. We hebben dezelfde workloads ook met JDK8 uitgevoerd, en de testresultaten toonden aan dat JDK11-prestaties 5-10% beter zijn in vergelijking met JDK8 , zoals weergegeven in de onderstaande grafiek

Als u CDP 7 wilt upgraden van JDK 8 naar OpenJDK 11, volgt u onderstaande stappen:

Stap 1:Installeer OpenJDK11 op alle hosts met behulp van de onderstaande

RHEL 

sudo yum install java-11-openjdk

Ubuntu

sudo apt install openjdk-11-jdk

Stap 2:Alleen op de Cloudera Manager Server-host (niet vereist voor andere hosts):

  1. Open het bestand /etc/default/cloudera-scm-server in een teksteditor.
  2. Bewerk de regel die begint met export JAVA_HOME (als deze regel niet bestaat, voeg deze dan toe) en wijzig het pad naar het pad van de nieuwe JDK (de JDK wordt meestal geïnstalleerd in / usr/lib/jvm)(of /usr/lib64/jvm op SLES 12), maar het pad kan verschillen, afhankelijk van hoe de JDK is geïnstalleerd).

Voor meer informatie over het upgraden van JDK, volg De JDK upgraden

Testomgeving

Testmethodologie

CDH 5.16.3/HBase1 is geïnstalleerd op het cluster en er zijn werklastgegevens met 1 miljard rijen (datasetgrootte 1 TB) gegenereerd en CDH 5.16.3 YCSB-werklasten zijn uitgevoerd. Na het laden hebben we gewacht tot alle verdichtingswerkzaamheden waren voltooid voordat we met de werkbelastingstest begonnen.

Nadat CDH 5.16.3-runs waren voltooid, werd CDP Private Cloud Base 7.1 HBase2 schoon geïnstalleerd en werden de gegevens opnieuw gegenereerd op hetzelfde cluster. De CDP Private Cloud Base 7.1 YCSB-workloads werden vervolgens uitgevoerd om de testtimings te krijgen. Voor elke workload hebben we de HBase-tabel geïnitialiseerd die door YCSB wordt gebruikt. Momentopname van de gebruikerstabel utable_snap werden gemaakt en toegepast vóór elke run.

Elke geteste workload werd 3 keer uitgevoerd gedurende 15 minuten om de doorvoer te meten*. De getoonde resultaten zijn de gemiddelden van de 3 tests.

*Doorvoer (ops/sec) =aantal bewerkingen per seconde

CDP Private Cloud Base 7.1 bevat HBase2 en CDH 5.16.3 bevat HBase1. Zowel CDP Private Cloud Base 7.1 als CDH5 hebben JDK 8 geïnstalleerd. CDP Private Cloud Base 7.1 ondersteunt JDK11 en CDP Private Cloud Base 7.1 is bijgewerkt om JDK 11 te gebruiken voor YCSB-tests, CDH 5.13.3-runs zijn uitgevoerd met JDK 8 (1.8.0_141)

Testconfiguraties

  • YCSB-versie 0.17.0
  • YCSB-bindingsversie hbase2(CDP-CD 7.1) en hbase1(CDH 5) 
  • YCSB-clients gebruikten er 2
  • YCSB-threads per klant 20
  • Gegevensgrootte
    • YCSB-tabel @1TB schaal
    • Totaal aantal records in de YCSB-tabel 1.000.000.000 (1 TB), elk record is 1 KB
    • Aantal regio's in de YCSB-tabel 250, met 5+1 node-cluster zijn ongeveer 50 regio's per regioserver
    • Gemiddelde opslagruimte in regio gebruikt per servergrootte 290G
  • HBase Region-servers zijn geconfigureerd met 32 ​​GB heap 
  • Alleen L1-cache met LruBlockCache werd gebruikt met een cachegrootte van 12,3 GB
  • L1-cache hitpercentage waargenomen tijdens runs op regioservers was 85%
  • L2 off heap cache is niet geconfigureerd op het cluster

Clusterconfiguraties

  • Gebruikt cluster: 6 node cluster (1 master + 5 regioservers)
  • Beschrijving: Dell PowerEdge R430, 20c/40t Xenon e5-2630 v4 @ 2,2 Ghz, 128 GB RAM, 4-2 TB schijven
  • Beveiliging: Niet geconfigureerd (geen Kerberos)

Cloudera-versies vergeleken

C7-versie :CDP Private Cloud Base 7.1.0

C5-versie: CDH5.16.3

Gebruikte JDK's:JDK 8 ( 1.8.0_141) en JDK 11 (11.0.6)

Op basis van onze testen (resultaten hierboven) kunnen klanten die willen upgraden van CDH 5 naar CDP 7 betere prestaties verwachten voor vergelijkbare workloads in vergelijking met wat ze vandaag krijgen.

Meer informatie over Cloudera Operational DB hier


  1. mongodb versie 3.0.0 client robomongo mongovue

  2. pymongo - dnspython-module moet zijn geïnstalleerd om mongodb+srv:// URI's te gebruiken

  3. MongoDB .NET-stuurprogramma groeperen op tijdbereik

  4. Hoe de waarde van een specifiek ingesloten document, in een array, van een specifiek document in MongoDB bij te werken?