I clienti HBase che effettuano l'aggiornamento a CDH 6 da CDH 5, riceveranno anche un aggiornamento HBase passando da HBase1 a HBase2. Le prestazioni sono un aspetto importante che i clienti considerano. Abbiamo misurato le prestazioni di CDH 5 HBase1 rispetto a CDH 6 HBase2 utilizzando i carichi di lavoro YCSB per comprendere le implicazioni sulle prestazioni dell'aggiornamento sui clienti che eseguono aggiornamenti sul posto (nessuna modifica all'hardware).
Informazioni su YCSB
Per i nostri test abbiamo utilizzato Yahoo! Benchmark del servizio cloud (YCSB). YCSB è una specifica open source e una suite di programmi per valutare le capacità di recupero e manutenzione dei programmi per computer. Viene spesso utilizzato per confrontare le prestazioni relative dei sistemi di gestione di database NoSQL.
Il benchmark originale è stato sviluppato dai lavoratori della divisione di ricerca di Yahoo! che lo ha rilasciato nel 2010.
Maggiori informazioni su YCSB su https://github.com/brianfrankcooper/YCSB
Nel nostro ambiente di test è stata utilizzata la scala dati YCSB @1TB e i carichi di lavoro di esecuzione includevano i carichi di lavoro predefiniti YCSB e i carichi di lavoro personalizzati.
Carichi di lavoro di test YCSB utilizzati:
- Carico di lavoro A (lettura+aggiornamento) :Esempio di applicazione:archivio sessioni che registra le azioni recenti in una sessione utente
- 50% LEGGI
- 50% AGGIORNAMENTO
- Carico di lavoro C (sola lettura) :Esempio di applicazione:lettura della cache del profilo utente, in cui i profili sono costruiti altrove (ad es. Hadoop)
- LETTURA AL 100%
- Carico di lavoro F (lettura+modifica+scrittura) :Esempio di applicazione:database utente, in cui i record utente vengono letti e modificati dall'utente o per registrare l'attività dell'utente
- 50% LEGGI
- 25% AGGIORNAMENTO
- 25% LETTURA-MODIFICA-SCRITTURA
- Solo aggiornamento del carico di lavoro YCSB personalizzato di Cloudera :Esempio di applicazione:aggiornamenti in blocco
- Operazioni di AGGIORNAMENTO al 100%
Maggiori informazioni sui carichi di lavoro YCSB su https://github.com/brianfrankcooper/YCSB/wiki/Core-Workloads
Metodologia di prova
Stiamo caricando il set di dati YCSB con 1000.000.000 di record con ogni record di 1 KB di dimensione, creando un totale di 1 TB di dati. Dopo il caricamento, attendiamo il termine di tutte le operazioni di compattazione prima di iniziare il test del carico di lavoro. Ciascun carico di lavoro testato è stato eseguito 3 volte per 15 minuti ciascuna e la velocità effettiva * misurato. Il numero medio è preso da 3 prove per produrre il numero finale.
* Throughput (operazioni/sec) =N. di operazioni al secondo
Confronto throughput di CDH5 HBase1 vs CDH6 HBase2 utilizzando YCSB
Produttività di soli aggiornamenti personalizzati
Solo aggiornamento . Casi d'uso:aggiornamenti in blocco
CDH6 HBase2 throughput 50% in più rispetto a CDH5 HBase1
Carico di lavoro YCSB Un throughput
Aggiornamenti pesanti. Casi d'uso:archivio sessioni, registrazione di azioni recenti
CDH6 HBase2 throughput 6% in meno rispetto a CDH5 con HBase1
Attività C del carico di lavoro YCSB
Sola lettura. Casi d'uso:cache del profilo utente, cache del feed di notizie
CDH6 HBase2 throughput 5% in meno rispetto a CDH5 HBase1
Produttività F del carico di lavoro YCSB
Leggi-Modifica-Scrivi. Casi d'uso:archivio attività, database utente
CDH6 HBase2 throughput molto vicino a CDH5 HBase1
Riepilogo dei risultati del test
Solo aggiornamento personalizzato carico di lavoro : Solo aggiornamento CDH6 HBase2 Il carico di lavoro è stato migliore del 50% rispetto a HBase1 CDH5
Carico di lavoro YCSB Carico di lavoro F: CDH6 YCSB Workload F Le operazioni e il throughput del carico di lavoro erano molto simili a CDH5 HBase1
Carico di lavoro YCSB A e carico di lavoro YCSB C: CDH6 YCSB Workload C Sola lettura e YCSB Workload A hanno avuto circa il 5% in meno operazioni e throughput rispetto a CDH5 HBase1
Versioni CDH a confronto
Versione CDH6:Cloudera Enterprise 6.2
Versione CDH5:Cloudera Enterprise 5.16.2
Nome VM Java:VM server Java HotSpot(TM) a 64 bit
Versione Java:1.8.0_141
Ambiente di prova
Cluster utilizzato : Cluster a 6 nodi
Descrizione del nodo: Dell PowerEdge R430, 20c/40t Xenon e5-2630 v4 a 2,2 Ghz, 128 GB di RAM, dischi da 4-2 TB
Impostazione di prova
- Versione YCSB:0.14.0
- Versione di rilegatura YCSB hbase20
- Tabella YCSB @scala da 1 TB
- Configurazioni WAL
- Numero di pipeline WAL per server per regione (wal.regiongrouping.numgroups ) impostato su 1
- Multi-WAL:wal.provider impostato su WAL HDFS multiplo
- Nota -> Qui il WAL singolo utilizzato come pipeline WAL è impostato su 1
- Asyncfs WAL:region.replica.replication.enabled impostato su false
- Sicurezza: Nessuno configurato (nessun Kerberos)
- Server regionali
- Numero di regioni nella tabella YCSB 250, con cluster di 5+1 nodi e circa 50 regioni per server di regione
- Dimensione media del server della regione 290G
- Dati per regione ~ 6G
- Solo cache L1 con LruBlockCache utilizzata con limite di dimensione della cache di 3 GB
Sulla base dei nostri test (risultati sopra), i clienti che desiderano eseguire l'aggiornamento da CDH 5.x a 6.x dovrebbero aspettarsi prestazioni notevolmente migliorate per gli aggiornamenti in blocco e prestazioni abbastanza simili per altri carichi di lavoro rispetto a quelle che ottengono oggi.
Ulteriori informazioni su Cloudera Operational DB qui