HBase
 sql >> Baza danych >  >> NoSQL >> HBase

Poprawa wydajności operacyjnej bazy danych w CDP Private Cloud Base 7 w porównaniu z CDH5

Cloudera Data Platform (CDP) Private Cloud to najbardziej wszechstronna lokalna platforma do zintegrowanej analizy i zarządzania danymi. Łączy w sobie to, co najlepsze w Cloudera Enterprise Data Hub i Hortonworks Data Platform Enterprise Plus, a także zapewnia najnowsze i najlepsze technologie open source do zarządzania danymi i ich analizy w centrum danych.

W najnowszej wersji (7) CDP Private Cloud Base wprowadziliśmy szereg nowych funkcji i ulepszeń. W tym poście na blogu chcielibyśmy podzielić się ulepszeniami wydajności dostępnymi w Apache HBase.

Dla tych, którzy są nowicjuszami w HBase lub oceniają go pod kątem nowego projektu, HBase to nierelacyjna rozproszona baza danych, której ufają architekci i programiści, którzy chcą przetwarzać duże ilości danych w sposób terminowy i niezawodny.

W tym porównaniu wydajności zmierzyliśmy HBase2 dostępne w CDP Private Cloud Base 7 do Hbase1 dostępne w CDH 5 przy użyciu obciążeń YCSB. Porównanie pomaga nam zrozumieć poprawę wydajności i konsekwencje dla klientów dokonujących uaktualnień w miejscu bez zmian w sprzęcie bazowym.

Uwaga:klienci, którzy dokonają aktualizacji z CDH 5 do CDP 7, otrzymają również aktualizację HBase z HBase1 do HBase2.

  • Niestandardowe obciążenie tylko aktualizacją YCSB
    • Wykonuje się nasze niestandardowe obciążenie YCSB Tylko aktualizacja 
      • Operacje AKTUALIZACJI 100%
    • Przykładem aplikacji byłby sklep z danymi
    • Wydajność obciążenia: Przepustowość tylko dla aktualizacji CDP 7 YCSB (operacje na sekundę) była o 20% lepsza niż w przypadku uruchamiania z CDH5

  • Obciążenie A YCSB 
    • YCSB Workload A wykonuje 
      • 50% operacji odczytu
      • 50% operacji aktualizacji
    • Przykładem aplikacji może być magazyn sesji rejestrujący ostatnie działania w sesji użytkownika 
    • Wydajność obciążenia:CDP Prywatna usługa Cloud Base 7.1 HBase2 YCSB Przepustowość A (operacje na sekundę) była o 15% lepsza niż CDH5 HBase1

  • Obciążenie YCSB C (tylko do odczytu) 
    • YCSB Workload C jest obciążeniem tylko do odczytu i wykonuje 
      • 100% operacji ODCZYTU
    • Przykładem aplikacji może być odczyt pamięci podręcznej profilu użytkownika, gdy profile są konstruowane w innym miejscu (np. Hadoop) lub system bankowy w celu uzyskania dostępu i przeglądania wyciągów z konta 
    • Wydajność obciążenia:obciążenie CDP 7 YCSB C miało podobną przepustowość (operacje na sekundę) jak CDH 5

Werdykt – CDP 7 zapewnia lepszą wydajność niż CDH 5 w YCSB  

Obciążenie Tylko aktualizacja niestandardowa :Obciążenie tylko aktualizacją CDP 7 YCSB zostało wykonane 20% lepiej niż C5.

Zadanie A YCSB :obciążenie robocze A CDP 7 YCSB wykonane 15% lepiej niż CDH5.

Zadanie YCSB C :obciążenie CDP 7 YCSB tylko do odczytu C miało podobne operacje/przepustowość do CDH 5 

Podczas naszych testów zauważyliśmy, że uaktualnienie z JDK8 do JDK 11 w ramach CDP 7 może poprawić wydajność o kolejne 10%. To wykracza poza poprawę wydajności uzyskaną dzięki uaktualnieniu z CDH5 do CDP7.

CDP 7 jest dostarczany z domyślnie zainstalowanym JDK8 i obsługuje aktualizację do JDK11. W naszych testach program CDP 7 został zaktualizowany, aby używać JDK 11 do obsługi obciążeń YCSB przedstawionych powyżej. Uruchomiliśmy te same obciążenia również z JDK8, a wyniki testów wykazały, że wydajność JDK11 jest o 5-10% lepsza w porównaniu z JDK8 , jak pokazano na poniższym wykresie

Aby zaktualizować CDP 7 z JDK 8 do OpenJDK 11, wykonaj poniższe czynności:

Krok 1:Zainstaluj OpenJDK11 na wszystkich hostach, korzystając z poniższych

RHEL

sudo yum install java-11-openjdk

Ubuntu

sudo apt install openjdk-11-jdk

Krok 2:Tylko na hoście Cloudera Manager Server (niewymagane dla innych hostów):

  1. Otwórz plik /etc/default/cloudera-scm-server w edytorze tekstu.
  2. Edytuj linię zaczynającą się od eksportu JAVA_HOME (jeśli ta linia nie istnieje, dodaj ją) i zmień ścieżkę na ścieżkę nowego JDK (JDK jest zwykle instalowany w / usr/lib/jvm)(lub /usr/lib64/jvm na SLES 12), ale ścieżka może się różnić w zależności od tego, jak zainstalowano JDK).

Aby uzyskać więcej informacji na temat uaktualniania JDK, śledź Aktualizacja JDK

Środowisko testowe

Metodologia testów

W klastrze zainstalowano CDH 5.16.3/HBase1 i wygenerowano dane obciążenia z 1 miliardem wierszy (rozmiar zestawu danych 1 TB) i uruchomiono obciążenia CDH 5.16.3 YCSB. Po załadowaniu czekaliśmy na zakończenie wszystkich operacji zagęszczania przed rozpoczęciem testu obciążenia.

Po zakończeniu uruchomień CDH 5.16.3, zainstalowano czystą instalację CDP Private Cloud Base 7.1 HBase2 i ponownie wygenerowano dane w tym samym klastrze. Następnie uruchomiono obciążenia CDP Private Cloud Base 7.1 YCSB, aby uzyskać czasy testów. Przed każdym uruchomieniem obciążenia zainicjowaliśmy tabelę HBase używaną przez YCSB. Migawka tabeli użytkownika utable_snap zostały stworzone i zastosowane przed każdym uruchomieniem.

Każde testowane obciążenie zostało uruchomione 3 razy po 15 minut, aby zmierzyć przepustowość*. Pokazane wyniki są średnimi z 3 testów.

*Przepustowość (operacje/s) =liczba operacji na sekundę

CDP Private Cloud Base 7.1 zawiera HBase2, a CDH 5.16.3 zawiera HBase1. Zarówno CDP Private Cloud Base 7.1, jak i CDH5 mają zainstalowany JDK 8. CDP Private Cloud Base 7.1 obsługuje JDK11, a CDP Private Cloud Base 7.1 został zaktualizowany, aby używać JDK 11 do testowania YCSB, uruchomiono CDH 5.13.3 z JDK 8 (1.8.0_141)

Konfiguracje testowe

  • YCSB wersja 0.17.0
  • Wersja powiązania YCSB hbase2(CDP-CD 7.1) i hbase1(CDH 5) 
  • Klienci YCSB używali 2
  • Wątki YCSB na klienta 20
  • Rozmiar danych
    • Tabela YCSB @skala 1TB
    • Łączna liczba rekordów w tabeli YCSB 1 000 000 000 (1 TB), każdy rekord to 1 KB
    • Liczba regionów w tabeli YCSB 250, z klastrem 5+1 węzłów to około 50 regionów na serwer regionu
    • Średnia przestrzeń pamięci w regionie używana na serwer o rozmiarze 290G
  • Serwery regionu HBase zostały skonfigurowane ze stertą 32 GB 
  • Tylko pamięć podręczna L1 z LruBlockCache była używana z rozmiarem pamięci podręcznej 12,3 GB
  • Odsetek trafień w pamięci podręcznej L1 zaobserwowany podczas uruchomień na serwerach regionu wyniósł 85%
  • Pamięć podręczna L2 wyłączonej sterty nie została skonfigurowana w klastrze

Konfiguracje klastra

  • Użyty klaster: Klaster z 6 węzłami (1 master + 5 serwerów regionalnych)
  • Opis: Dell PowerEdge R430, 20c/40t Xenon e5-2630 v4 @ 2,2 Ghz, 128 GB pamięci RAM, dyski 4-2 TB
  • Zabezpieczenia: Brak skonfigurowanych (bez protokołu Kerberos)

Porównano wersje Cloudera

Wersja C7 :CDP Private Cloud Base 7.1.0

Wersja C5: CDH5.16.3

Użyte pakiety JDK:JDK 8 ( 1.8.0_141) i JDK 11 (11.0.6)

Na podstawie naszych testów (wyniki powyżej) klienci, którzy chcą uaktualnić CDH 5 do CDP 7, powinni spodziewać się lepszej wydajności dla podobnych obciążeń w porównaniu z tym, co otrzymują dzisiaj.

Dowiedz się więcej o operacyjnej bazie danych Cloudera tutaj


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Instrukcje:zarządzanie danymi HBase przez Hue

  2. Indeksowanie wiadomości e-mail za pomocą Cloudera Search i HBase

  3. Jak HBase w CDP może wykorzystać S3 firmy Amazon?

  4. Co to jest para klucz-wartość MapReduce w usłudze Hadoop?

  5. Przedstawiamy zasady partycji kompaktowania Apache HBase Medium Object Storage (MOB)