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

HBase i Hive – razem lepiej

Ten wpis na blogu został opublikowany na Hortonworks.com przed fuzją z Cloudera. Niektóre linki, zasoby lub odniesienia mogą nie być już dokładne.

Komputery stają się coraz inteligentniejsze, a my nie.

–Tim Berners Lee, programista stron internetowych

Uwarunkowały nas Google, Amazon i Netflix. Jako konsumenci oczekujemy inteligentnych aplikacji, które przewidują, sugerują i przewidują każdy nasz ruch. Chcemy, aby przeszli przez miliony możliwości i zaproponowali tylko kilka, które odpowiadają naszym potrzebom. Chcemy aplikacji, które zabiorą nas w spersonalizowaną podróż przez świat nieskończonych możliwości.

Te spersonalizowane podróże wymagają systemów do przechowywania i analizowania ogromnych ilości danych w akceptowalnym czasie. To była mocna strona Hadoopa od pierwszego dnia.

Realizacja podróży wymaga również bezpośredniej integracji aplikacji z głęboką analityką. Pozostaje to wyzwaniem, ponieważ większość systemów operacyjnych działa poza Hadoop, umieszczając dane operacyjne i analizy w oddzielnych silosach.

Technologie takie jak Apache Hadoop YARN i Apache Slider zaczynają niszczyć te silosy. YARN zapewnia kontrolę izolacji zasobów Hadoop, która umożliwia dogłębną analizę danych aplikacji w miejscu przy jednoczesnym udzielaniu odpowiedzi w akceptowalnym przedziale czasowym. Apache Slider ułatwia wdrażanie długotrwałych systemów operacyjnych w Hadoop.

YARN to architektoniczne centrum Hadoop, które umożliwia wielu silnikom przetwarzania danych, takim jak interaktywny SQL, przesyłanie strumieniowe w czasie rzeczywistym, nauka o danych i przetwarzanie wsadowe, obsługę danych przechowywanych na jednej platformie, odblokowując całkowicie nowe podejście do analiz. Zapewnia to bezproblemową integrację systemów operacyjnych i analitycznych oraz podstawę, na której przedsiębiorstwo może zbudować nowoczesną architekturę danych (MDA).

Stan sztuki w Hadoop

Obecnie w Hadoop można łączyć operacje operacyjne i analityczne, i faktycznie widzimy, jak robi to wielu naszych klientów.

Potrzebne elementy są już w Hadoop:

  • Apache HBase to baza danych NoSQL dla Hadoop, która doskonale nadaje się do szybkich aktualizacji i dostępu do danych o niskich opóźnieniach.
  • Apache Phoenix (opracowany przez Salesforce) to skórka SQL dla danych w HBase. Phoenix już bada integrację z menedżerami transakcji, takimi jak Tephra (z Cask).
  • Apache Hive to de facto silnik SQL dla platformy Hadoop, który zapewnia najgłębsze analizy SQL i obsługuje wzorce zapytań wsadowych i interaktywnych. Zobacz nasz ostatni post Stinger.Next, aby zapoznać się z postępami, takimi jak Hive LLAP.

Widzimy, jak nasi klienci używają dziś tych części do tworzenia aplikacji z dogłębną analizą, na przykład bardzo powszechny wzorzec, który widzimy, obejmuje:

  • Korzystanie z HBase jako internetowego magazynu danych operacyjnych do szybkich aktualizacji gorących danych, takich jak bieżąca partycja dla godziny, dnia itp.
  • Wykonywanie zapytań operacyjnych bezpośrednio do HBase za pomocą Apache Phoenix.
  • Starzenie się danych w tabelach HBase do Hive przy użyciu standardowych wzorców ETL.
  • Wykonywanie głębokiej analizy SQL za pomocą Hive

To działa, ale stwarza wiele komplikacji dla programistów. Na przykład:

  • Którego interfejsu SQL mam używać i kiedy? Czy używam Hive, który oferuje głęboki SQL, ale niski TPS? A może używam Phoenix z wysokim TPS i podstawowym SQL? Czy mogę używać obu?
  • Jeśli używam obu, jak udostępniać dane między Hive i HBase?
  • Jak dostroić klaster, aby móc pomyślnie zlokalizować HBase i Hive podczas spełniania moich umów SLA?

Te pytania sugerują, że potrzebna jest głębsza integracja, aby uprościć tworzenie aplikacji dzięki głębokiej analizie w Hadoop.

HBase i Hive:razem lepiej

Jakie są możliwości głębszej integracji? Obecnie klienci opracowują rozwiązania wykorzystujące HBase, Phoenix, Hive itp. do zbudowania systemu zamkniętej pętli na zamówienie do danych operacyjnych i analizy SQL. Uważamy, że istnieje możliwość zapewnienia gotowej integracji z łatwością obsługi i dodatkowymi możliwościami, takimi jak transakcje, przełączanie awaryjne między centrami danych itp.

Hive, HBase i Phoenix mają bardzo aktywną społeczność programistów i są wykorzystywane w produkcji w niezliczonych organizacjach. Są to solidne, sprawdzone możliwości operacyjne, które mogą stanowić podstawę i przyszłość przetwarzania transakcji w Hadoop.

Tak więc, stosując to samo podejście, co udana inicjatywa Stinger, Hortonworks chce dalej inwestować w te kluczowe projekty i nabierać rozmachu, zamiast porzucać je i zaczynać od nowa. Planujemy zainwestować w ulepszenia, które zwiększają zintegrowane doświadczenie operacyjne i analityczne poprzez ściśle zintegrowane Hive i HBase. Odnosi się to do rzeczywistych i interesujących przypadków użycia w sposób, który chroni inwestycje i zapewnia prawdziwą wartość dla klientów.

Widzimy cztery główne obszary rozwoju, które pomagają zrealizować wizję inteligentnych aplikacji:

1. Ujednolicona warstwa SQL z Hive

Deweloperzy budujący aplikacje SQL nie powinni wybierać między różnymi rozwiązaniami SQL, z których każde ma swoje mocne i słabe strony. Wyobrażamy sobie zunifikowaną warstwę SQL, aktywowaną przez wsparcie Hive dla SQL:2011, która w przejrzysty sposób wykorzystuje odpowiedni silnik na podstawie wzorca dostępu do zapytania.

Ta kombinacja zapewnia pojedynczy dialekt SQL i pojedynczy łącznik. Architekci danych i administratorzy baz danych mogą określić, gdzie dane powinny być przechowywane na podstawie wzorców użytkowania, bez obciążania aplikacji użytkownika koniecznością łączenia się z wieloma systemami.

2. Ulepszanie HBase jako sklepu operacyjnego

HBase szybko dojrzewa jako sklep operacyjny i będzie w stanie przyjmować coraz bardziej wymagające obciążenia. W ubiegłym roku HBase dodał interfejs SQL, indeksowanie pomocnicze i wysoką dostępność. Funkcje te będą nadal dojrzewać, a ponadto HBase doda dodatkowe funkcje klasy korporacyjnej, takie jak transakcje wielotabelowe, między centrami danych i inne.

Projekty takie jak Omid (Yahoo), Tephra (Cask), Trafodion (HP) itp. oferują różne podejście do wprowadzania transakcji do HBase. Facebook opracował platformę HydraBase, która umożliwia transakcje między centrami danych. Facebook przetestował HydraBase na dużą skalę i zamierza udostępnić go w HBase o otwartym kodzie źródłowym (patrz HBASE-12259). W miarę dojrzewania tych systemów HBase będzie w stanie obsłużyć najbardziej wymagające obciążenia.

3. Wspólny katalog metadanych i menedżer transakcji

Dane utworzone w HBase powinny być automatycznie widoczne w Hive i odwrotnie. Ta funkcja sprawia, że ​​udostępnianie danych między online a analitycznymi jest całkowicie trywialne. Wspólny menedżer transakcji umożliwia bezproblemową współpracę nowej funkcji ACID Hive i wielotabelowych transakcji HBase.

4. Obsługa mieszanych obciążeń z obsługą YARN

Obecnie klienci zazwyczaj wdrażają HBase i Hive w osobnych klastrach. Stworzenie zamkniętego systemu analitycznego wymaga efektywnego połączenia obciążeń operacyjnych i analitycznych w sposób wielodostępny. Dzięki YARN możemy skutecznie stworzyć pojedynczy system, wykorzystując podstawowe elementy izolacji zasobów i zarządzania obciążeniem w YARN w celu obsługi różnych form dostępu do danych. Slider korzysta z nich, gdy wdraża HBase w YARN, podczas gdy Hive LLAP i Tez są natywnymi aplikacjami YARN, upraszczając w ten sposób proces uruchamiania systemu analitycznego w pętli zamkniętej zgodnie z przewidywalną umową SLA.

Wniosek

Przedsiębiorstwa wykorzystują już istniejące technologie dostępne w HDP, takie jak Apache HBase, Apache Hive, Apache Phoenix itp., aby radzić sobie z szybkimi aktualizacjami bieżących danych i analiz w szerokim zakresie zestawów danych, wszystkie przechowywane w HDFS w celu uzyskania systemu analitycznego w pętli zamkniętej . Mamy nadzieję, że wykorzystamy te same wzorce integracji, aby zapewnić klientom bezproblemową obsługę, ulepszając Apache HBase i Apache Hive – razem lepiej, zamiast sieci nowych technologii, które użytkownicy będą mogli zrozumieć i konsumować.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Blok danych HDFS — poznaj wewnętrzne elementy Big Data Hadoop

  2. Świadomość szafy w Hadoop i jej zalety

  3. Apache HBase + Apache Hadoop + Xceivery

  4. Co to jest InputSplit w Hadoop MapReduce?

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