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 (
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ć.