sql >> Databasteknik >  >> NoSQL >> HBase

HBase Performance CDH5 (HBase1) vs CDH6 (HBase2)

HBase-kunder som uppgraderar till CDH 6 från CDH 5 kommer också att få en HBase-uppgradering från HBase1 till HBase2. Prestanda är en viktig aspekt som kunderna tar hänsyn till. Vi mätte prestandan för CDH 5 HBase1 vs CDH 6 HBase2 med YCSB-arbetsbelastningar för att förstå prestandakonsekvenserna av uppgraderingen på kunder som gör uppgraderingar på plats (inga ändringar av hårdvaran).

Om YCSB

För våra tester använde vi Yahoo! Cloud Serving Benchmark (YCSB). YCSB är en öppen källkodsspecifikation och programsvit för att utvärdera hämtning och underhåll av datorprogram. Det används ofta för att jämföra relativa prestanda för NoSQL-databashanteringssystem.

Det ursprungliga riktmärket utvecklades av arbetare i forskningsavdelningen på Yahoo! som släppte den 2010. 

Mer information om YCSB på https://github.com/brianfrankcooper/YCSB

I vår testmiljö användes YCSB @1TB dataskala, och körningsarbetsbelastningar inkluderade YCSB standardarbetsbelastningar och anpassade arbetsbelastningar.

YCSB-testarbetsbelastningar som används: 

  • Arbetsbelastning A (Läs+Uppdatera) :Applikationsexempel:Sessionslager som registrerar senaste åtgärder i en användarsession
    • 50 % LÄS
    • 50 % UPPDATERING
  • Arbetsbelastning C (skrivskyddad) :Applikationsexempel:Läs användarprofilcache, där profiler är konstruerade någon annanstans (t.ex. Hadoop)
    • 100 % LÄS
  • Arbetsbelastning F (Läs+Ändra+Skriv) :Applikationsexempel:Användardatabas, där användarposter läses och ändras av användaren eller för att registrera användaraktivitet
    • 50 % LÄS
    • 25 % UPPDATERING
    • 25 % LÄS-ÄNDRA-SKRIV
  • Endast uppdatering av Cloud-anpassad YCSB-arbetsbelastning :Applikationsexempel:Massuppdateringar
    • 100 % UPPDATERING

Mer information om YCSB-arbetsbelastningar på https://github.com/brianfrankcooper/YCSB/wiki/Core-Workloads

Testmetodik

Vi laddar YCSB-datauppsättningen med 1 000 000 000 poster med varje post 1 KB i storlek, vilket skapar totalt 1 TB data. Efter lastning väntar vi på att alla packningsoperationer är klara innan vi påbörjar arbetsbelastningstestet. Varje testad arbetsbelastning kördes 3 gånger i 15 minuter vardera och genomströmningen* mätt. Det genomsnittliga antalet tas från 3 tester för att ta fram det slutliga antalet.

* Genomströmning (ops/sek) =Antal operationer per sekund

Jämförelse av genomströmning av CDH5 HBase1 vs CDH6 HBase2 med YCSB

Endast anpassad uppdatering

Endast uppdatering . Användningsfall:Bulkuppdateringar
CDH6 HBase2 genomströmning 50 % mer än CDH5 HBase1

YCSB Workload A Throughput

Tung uppdatering. Användningsfall:Sessionslagring, inspelning av senaste åtgärder
CDH6 HBase2 genomströmning 6 % mindre än CDH5 med HBase1

YCSB Workload C-genomströmning

skrivskyddad. Användningsfall:Användarprofilcache, nyhetsflödescache
CDH6 HBase2 genomströmning 5 % mindre än CDH5 HBase1

YCSB Workload F Throughput

Läs-Ändra-Skriv. Användningsfall:aktivitetsarkiv, användardatabaser
CDH6 HBase2 genomströmning mycket nära CDH5 HBase1

Sammanfattning av testresultat

Endast anpassad uppdatering arbetsbelastning :  HBase2 CDH6 Update Endast arbetsbelastningen presterade 50 % bättre än HBase1 CDH5

YCSB Workload F-arbetsbelastning: CDH6 YCSB Workload F arbetsbelastningsoperationer och genomströmning var mycket lika till CDH5 HBase1

YCSB Workload A och YCSB Workload C-arbetsbelastningar: CDH6 YCSB Workload C Read Only och YCSB Workload A hade cirka 5 % mindre operationer och genomströmning än CDH5 HBase1

CDH-versioner jämförda

CDH6 Version:Cloudera Enterprise 6.2

CDH5-version:Cloudera Enterprise 5.16.2

Java VM-namn:Java HotSpot(TM) 64-bitars server VM

Java-version:1.8.0_141

Testmiljö

Använt kluster: 6 nodkluster
Nodbeskrivning: Dell PowerEdge R430, 20c/40t Xenon e5-2630 v4 @ 2,2Ghz, 128GB RAM, 4-2TB diskar

Testa installationen

  • YCSB-version:0.14.0
  • YCSB-bindande version hbase20
  • YCSB-tabell @1TB skala
  • WAL-konfigurationer
    • Per-RegionServer Antal WAL-pipelines (wal.regiongrouping.numgroups ) satt till 1
    • Multi-WAL:wal.provider inställd på Multiple HDFS WAL
      • Obs -> Här sätts Single WAL som används som WAL-pipelines till 1
    • Asyncfs WAL:region.replica.replication.enabled inställd på false
  • Säkerhet: Ingen konfigurerad (ingen Kerberos)
  • Regionsservrar
    • Antal regioner i YCSB-tabellen 250, med 5+1 nodkluster dess cirka 50 regioner per regionserver
    • Genomsnittlig regionserverstorlek 290G
    • Data per region ~ 6G
  • Endast L1-cache med LruBlockCache används med 3 GB cachestorleksgräns

Baserat på våra tester (resultat ovan) bör kunder som vill uppgradera från CDH 5.x till 6.x förvänta sig avsevärt förbättrad prestanda för massuppdateringar och ganska liknande prestanda för andra arbetsbelastningar jämfört med vad de får idag.

Läs mer om Cloudera Operational DB här


  1. Förstöra / ta bort en Queue() i Redis Queue (rq) programmatiskt

  2. Absolut värde med MongoDB aggregeringsramverk

  3. Har Meteor en distinkt fråga för samlingar?

  4. Hur distribuerar man en node.js med redis på kubernetes?