Klienci HBase, którzy dokonają aktualizacji do CDH 6 z CDH 5, otrzymają również aktualizację HBase przenoszącą się z HBase1 na HBase2. Wydajność jest ważnym aspektem, który klienci biorą pod uwagę. Zmierzyliśmy wydajność CDH 5 HBase1 w porównaniu z CDH 6 HBase2 przy użyciu obciążeń YCSB, aby zrozumieć wpływ uaktualnienia na wydajność dla klientów dokonujących uaktualnień w miejscu (bez zmian w sprzęcie).
O YCSB
Do naszych testów użyliśmy Yahoo! Test porównawczy udostępniania w chmurze (YCSB). YCSB to specyfikacja i pakiet programów typu open source do oceny możliwości pobierania i konserwacji programów komputerowych. Jest często używany do porównywania względnej wydajności systemów zarządzania bazami danych NoSQL.
Oryginalny test porównawczy został opracowany przez pracowników działu badawczego Yahoo! który wydał go w 2010 roku.
Więcej informacji na temat YCSB na https://github.com/brianfrankcooper/YCSB
W naszym środowisku testowym zastosowano skalę danych YCSB @1TB, a uruchomione obciążenia obejmowały domyślne obciążenia YCSB i niestandardowe obciążenia.
Wykorzystane obciążenia testowe YCSB:
- Zadanie A (odczyt + aktualizacja) :Przykład aplikacji:Magazyn sesji rejestrujący ostatnie działania w sesji użytkownika
- 50% PRZECZYTAJ
- 50% AKTUALIZACJA
- Zadanie C (tylko do odczytu) :Przykład aplikacji:Odczyt pamięci podręcznej profili użytkownika, gdzie profile są konstruowane w innym miejscu (np. Hadoop)
- 100% PRZECZYTAJ
- Zadanie F (odczyt+modyfikacja+zapis) :Przykład aplikacji:Baza danych użytkowników, w której rekordy użytkowników są odczytywane i modyfikowane przez użytkownika lub w celu rejestrowania aktywności użytkownika
- 50% PRZECZYTAJ
- AKTUALIZACJA 25%
- 25% ODCZYT-ZMIANA-ZAPIS
- Tylko aktualizacja niestandardowego obciążenia YCSB Cloudera :Przykład aplikacji:Aktualizacje zbiorcze
- Operacje AKTUALIZACJI 100%
Więcej informacji o obciążeniach YCSB na https://github.com/brianfrankcooper/YCSB/wiki/Core-Workloads
Metodologia testów
Ładujemy zbiór danych YCSB 1000.000.000 rekordów z każdym rekordem o rozmiarze 1 KB, tworząc łącznie 1 TB danych. Po załadowaniu czekamy na zakończenie wszystkich operacji zagęszczania przed rozpoczęciem testu obciążenia. Każde testowane obciążenie zostało uruchomione 3 razy po 15 minut, a przepustowość* wymierzony. Średnia liczba jest pobierana z 3 testów, aby uzyskać ostateczną liczbę.
* Przepustowość (operacje/s) =liczba operacji na sekundę
Porównanie przepustowości CDH5 HBase1 i CDH6 HBase2 przy użyciu YCSB
Przepustowość tylko aktualizacji niestandardowych
Tylko aktualizacja . Przypadki użycia:aktualizacje zbiorcze
Przepustowość CDH6 HBase2 o 50% większa niż w przypadku CDH5 HBase1
Przepustowość obciążenia A YCSB
Aktualizacja ciężka. Przypadki użycia:przechowywanie sesji, rejestrowanie ostatnich działań
Przepustowość CDH6 HBase2 o 6% mniejsza niż CDH5 z HBase1
Przepustowość obciążenia C YCSB
Tylko do odczytu. Przypadki użycia:pamięć podręczna profilu użytkownika, pamięć podręczna kanałów informacyjnych
Przepustowość CDH6 HBase2 o 5% mniejsza niż CDH5 HBase1
Przepustowość F obciążenia roboczego YCSB
Odczyt-modyfikacja-zapis. Przypadki użycia:magazyn aktywności, bazy danych użytkowników
Przepustowość CDH6 HBase2 bardzo zbliżona do CDH5 HBase1
Podsumowanie wyników testu
Tylko aktualizacja niestandardowa obciążenie pracą : HBase2 CDH6 Update Tylko obciążenie wykonywane 50% lepiej niż HBase1 CDH5
Obciążenie F zadania YCSB: Operacje i przepustowość obciążenia roboczego CDH6 YCSB F były bardzo podobne do CDH5 HBase1
Obciążenia YCSB Workload A i YCSB Workload C: CDH6 YCSB Workload C Tylko do odczytu i YCSB Workload A miały około 5% mniej operacje i przepustowość niż CDH5 HBase1
Porównano wersje CDH
Wersja CDH6:Cloudera Enterprise 6.2
Wersja CDH5:Cloudera Enterprise 5.16.2
Nazwa maszyny wirtualnej Java:64-bitowa maszyna wirtualna serwera Java HotSpot(TM)
Wersja Java:1.8.0_141
Środowisko testowe
Użyty klaster: Klaster z 6 węzłami
Opis węzła: Dell PowerEdge R430, 20c/40t Xenon e5-2630 v4 @ 2,2 Ghz, 128 GB pamięci RAM, dyski 4-2 TB
Konfiguracja testowa
- Wersja YCSB:0.14.0
- Wersja wiązania YCSB hbase20
- Tabela YCSB @skala 1TB
- Konfiguracje WAL
- Liczba potoków WAL na poziomie serwera (wal.regiongrouping.numgroups ) ustaw na 1
- Multi-WAL:wal.provider ustawiony na Wiele HDFS WAL
- Uwaga -> Tutaj pojedynczy WAL używany jako potoki WAL jest ustawiony na 1
- Asyncfs WAL:region.replica.replication.enabled ustaw na fałsz
- Bezpieczeństwo: Brak skonfigurowanych (bez protokołu Kerberos)
- Serwery regionalne
- Liczba regionów w tabeli YCSB 250, z klastrami 5+1 węzłów, około 50 regionów na serwer regionu
- Średni rozmiar serwera regionu 290G
- Dane na region ~ 6G
- Tylko pamięć podręczna L1 z LruBlockCache używana z limitem rozmiaru pamięci podręcznej 3 GB
Na podstawie naszych testów (wyniki powyżej) klienci, którzy chcą uaktualnić CDH 5.x do 6.x, powinni spodziewać się znacznie lepszej wydajności w przypadku aktualizacji zbiorczych i dość podobnej wydajności w przypadku innych obciążeń w porównaniu z tym, co otrzymują dzisiaj.
Dowiedz się więcej o Cloudera Operational DB tutaj