sql >> Database >  >> NoSQL >> HBase

HBase-prestaties CDH5 (HBase1) versus CDH6 (HBase2)

HBase-klanten die upgraden naar CDH 6 van CDH 5, krijgen ook een HBase-upgrade van HBase1 naar HBase2. Prestaties zijn een belangrijk aspect waarmee klanten rekening houden. We hebben de prestaties van CDH 5 HBase1 versus CDH 6 HBase2 gemeten met behulp van YCSB-workloads om inzicht te krijgen in de prestatie-implicaties van de upgrade voor klanten die interne upgrades uitvoeren (geen wijzigingen aan hardware).

Over YCSB

Voor onze tests gebruikten we de Yahoo! Cloud Serving Benchmark (YCSB). YCSB is een open-source specificatie- en programmasuite voor het evalueren van de ophaal- en onderhoudsmogelijkheden van computerprogramma's. Het wordt vaak gebruikt om de relatieve prestaties van NoSQL-databasebeheersystemen te vergelijken.

De oorspronkelijke benchmark is ontwikkeld door medewerkers van de onderzoeksafdeling van Yahoo! die het in 2010 heeft uitgebracht. 

Meer informatie over YCSB op https://github.com/brianfrankcooper/YCSB

In onze testomgeving werd YCSB @1TB-gegevensschaal gebruikt, en de run-workloads omvatten YCSB-standaardworkloads en aangepaste workloads.

Gebruikte YCSB-testworkloads: 

  • Werklast A (lezen+update) :Toepassingsvoorbeeld:Sessieopslag die recente acties in een gebruikerssessie registreert
    • 50% LEZEN
    • 50% UPDATE
  • Werkbelasting C (alleen-lezen) :Toepassingsvoorbeeld:Cache van gebruikersprofiel lezen, waar profielen elders worden geconstrueerd (bijv. Hadoop)
    • 100% LEZEN
  • Werklast F (Lezen+Wijzigen+Schrijven) :Toepassingsvoorbeeld:gebruikersdatabase, waar gebruikersrecords worden gelezen en gewijzigd door de gebruiker of om gebruikersactiviteit vast te leggen
    • 50% LEZEN
    • 25% UPDATE
    • 25% LEZEN-WIJZIG-SCHRIJVEN
  • Alleen update voor aangepaste YCSB-workload voor Cloudera :Toepassingsvoorbeeld:Bulkupdates
    • 100% UPDATE-bewerkingen

Meer informatie over YCSB-workloads op https://github.com/brianfrankcooper/YCSB/wiki/Core-Workloads

Testmethodologie

We laden de YCSB-gegevensset met 100.000.000 records met elk record van 1 KB groot, waardoor in totaal 1 TB aan gegevens ontstaat. Na het laden wachten we totdat alle verdichtingsbewerkingen zijn voltooid voordat we de werkbelastingstest starten. Elke geteste workload werd 3 keer uitgevoerd gedurende 15 minuten en de doorvoer* gemeten. Het gemiddelde aantal wordt genomen uit 3 tests om het uiteindelijke aantal te produceren.

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

Doorvoervergelijking van CDH5 HBase1 versus CDH6 HBase2 met behulp van YCSB

Alleen aangepaste update-doorvoer

Alleen bijwerken . Gebruiksscenario's:bulkupdates
CDH6 HBase2-doorvoer 50% meer dan CDH5 HBase1

YCSB-werklast A-doorvoer

Zware update. Gebruiksscenario's:sessieopslag, opname van recente acties
CDH6 HBase2-doorvoer 6% minder dan CDH5 met HBase1

YCSB Workload C-doorvoer

Alleen-lezen. Gebruiksvoorbeelden:gebruikersprofielcache, nieuwsfeedcache
CDH6 HBase2-doorvoer 5% minder dan CDH5 HBase1

YCSB-werkbelasting F-doorvoer

Lezen-Wijzigen-Schrijven. Gebruiksscenario's:activiteitenarchief, gebruikersdatabases
CDH6 HBase2-doorvoer zeer dicht bij CDH5 HBase1

Samenvatting testresultaten

Alleen aangepaste update werklast :  HBase2 CDH6 Update Alleen werkbelasting presteerde 50% beter dan HBase1 CDH5

YCSB Workload F-workload: CDH6 YCSB Workload F-werklastbewerkingen en -doorvoer waren zeer vergelijkbaar naar CDH5 HBase1

YCSB Workload A en YCSB Workload C workloads: CDH6 YCSB Workload C Alleen-lezen en YCSB Workload A hadden ongeveer 5% minder bewerkingen en doorvoer dan CDH5 HBase1

CDH-versies vergeleken

CDH6-versie:Cloudera Enterprise 6.2

CDH5-versie:Cloudera Enterprise 5.16.2

Java VM-naam:Java HotSpot(TM) 64-bits server-VM

Java-versie:1.8.0_141

Testomgeving

Gebruikt cluster: 6 node cluster
Knooppuntbeschrijving: Dell PowerEdge R430, 20c/40t Xenon e5-2630 v4 @ 2,2 Ghz, 128 GB RAM, 4-2 TB schijven

Testopstelling

  • YCSB-versie:0.14.0
  • YCSB bindende versie hbase20
  • YCSB-tabel @1TB schaal
  • WAL-configuraties
    • Per-RegionServer Aantal WAL-pijplijnen (wal.regiongrouping.numgroups ) ingesteld op 1
    • Multi-WAL:wal.provider ingesteld op Meerdere HDFS WAL
      • Opmerking -> Hier is Single WAL gebruikt als WAL-pipelines ingesteld op 1
    • Asyncfs WAL:region.replica.replication.enabled ingesteld op false
  • Beveiliging: Niet geconfigureerd (geen Kerberos)
  • Regioservers
    • Aantal regio's in de YCSB-tabel 250, met 5+1 node-cluster zijn ongeveer 50 regio's per regioserver
    • Gemiddelde servergrootte voor regio's 290G
    • Gegevens per regio ~ 6G
  • Alleen L1-cache met LruBlockCache gebruikt met een cachelimiet van 3 GB

Op basis van onze tests (resultaten hierboven) kunnen klanten die willen upgraden van CDH 5.x naar 6.x aanzienlijk betere prestaties verwachten voor bulkupdates en redelijk vergelijkbare prestaties voor andere workloads in vergelijking met wat ze vandaag krijgen.

Lees hier meer over Cloudera Operational DB


  1. Inleiding tot Redis-gegevensstructuren:hashes

  2. Redis gebruiken om inloggen te implementeren?

  3. MySQL naar MongoDB - Een cheatsheet voor beheerders

  4. MongoDB Regex, Index &Prestaties