Apache Pinot, hurtownia danych OLAP typu open source

Apacz Pinot

Apache Pinot to rozproszona hurtownia danych OLAP działająca w czasie rzeczywistym

Apacz Pinot Jest to rozwiązanie pamięci masowej OLAP rozproszone, zaprojektowane w czasie rzeczywistym, wykorzystywane do dostarczania skalowalnych analiz w czasie rzeczywistym przy małych opóźnieniach.

Może pozyskiwać dane ze źródeł danych wsadowych (takich jak HDFS, S3, Azure Data Lake, Google Cloud Storage), a także ze źródeł strumieniowych (takich jak Kafka). Pinot zaprojektowano z myślą o skalowaniu w poziomie, dzięki czemu w razie potrzeby można skalować do większych zestawów danych i większej liczby zapytań.

O Apache Pinot

Projekt Pinot został pierwotnie opracowany przez LinkedIn a w 2015 roku został przekazany Fundacji Apache w celu dalszego wspólnego rozwoju. Pamięć masową zaprojektowano do działania w środowisku, w którym stale dodawane są nowe dane, i zaprojektowano ją tak, aby zapewniała minimalne i przewidywalne opóźnienia, umożliwiając wykorzystanie pamięci do przetwarzania zapytań w czasie rzeczywistym.

Podobnie jak większość innych hurtowni danych i rozwiązań do przechowywania danych OLAP, Pinot obsługuje język zapytań podobny do SQL który obsługuje selekcję, agregację, filtrowanie, grupowanie, sortowanie i odrębne zapytania o dane.

Apacz Pinot zapewnia skalowalność poziomą i zapewnia środki do osiągnięcia odporności na błędy i odporność na błędy oprogramowania i sprzętu. Procesy replikacji i tworzenia kopii zapasowych integrowane są bezpośrednio z cyklem przetwarzania danych dodawanych do hurtowni. Z jednej strony takie podejście pozwala znacznie uprościć architekturę, ale z drugiej strony powoduje opóźnienie pomiędzy dodaniem danych a ich dostępnością dla zapytań.

Dane przechowywane są w tabelach w bazie danych zorientowanej kolumnowo, Ponadto obsługiwanych jest kilka schematów kompresji i możliwość umieszczenia wielu wartości w polu. Pinot zapewnia podłączany system indeksowania, który może wykorzystywać różne technologie indeksowania (indeks posortowany, indeks bitmapy, indeks odwrócony, indeks StarTree, filtr Blooma, indeks zakresu, indeks wyszukiwania tekstowego (Lucence/FST), indeks JSON, indeks geoprzestrzenny).

Z cech wyróżniających się z Apache Pinot:

  • Orientacja kolumnowa– Baza danych zorientowana na kolumny z różnymi schematami kompresji, takimi jak długość przebiegu i stała długość bitów.
  • Możliwość podłączenia indeksowania: Wtykowe technologie indeksowania, indeks sortowany, indeks bitmapowy, indeks odwrócony.
  • Optymalizacja zapytań- Możliwość optymalizacji planu zapytań/wykonania w oparciu o metadane zapytań i segmentów.
  • Przyjmowanie strumieni i partii: Pozyskiwanie strumieni Hadoop i przetwarzanie wsadowe w czasie zbliżonym do rzeczywistego.
  • Zapytanie: Silnik wykonywania zapytań oparty na języku SQL.
  • Upsert podczas przyjmowania w czasie rzeczywistym: aktualizuj dane na dużą skalę i z zachowaniem spójności
  • Wiele pól wartości: obsługa pól wielowartościowych, umożliwiająca wysyłanie zapytań do pól jako wartości oddzielonych przecinkami.
  • Natywny w chmurze na Kubernetesie: Wykres Helm zapewnia skalowalne poziomo, odporne na błędy wdrożenie klastrowe, którym można łatwo zarządzać za pomocą Kubernetes.

Nowa wersja Apache Pinot

Warto o tym wspomnieć niedawno Wydano wersję Apache Pinot 1.0, co w zasadzie podsumował wiele pracy, aby ustabilizować bazę kodu i uwzględnić życzenia społeczności (uwzględniono ponad 300 uwag).

Oprócz tego podkreślono, żee nowy silnik przetwarzania zapytanie wieloetapowe (Multi-Stage Query Engine) osiągnął swój pełny potencjał, co umożliwia zaimplementowanie obsługi łączenia tabel (JOIN). Zastosowany silnik początkowo spisał się znakomicie przy prostych operacjach filtrowania i agregacji, jednak aby zapewnić przewidywalny czas wykonania zapytania, nie obsługiwał operacji łączenia tabel.

nowy silnik obejmuje pośrednie etapy złożonego przetwarzania zapytań, a semantyka SQL jest zbliżona do ANSI SQL. Dodatkowo nowa wersja oferuje natywną obsługę przetwarzania danych w formacie JSON, zapewnia obsługę wartości „NULL”, integruje się z Apache Spark 3.x oraz usprawnia implementację tabel w trybie Upsert (dodanie kompresji segmentów i zapewnienie wsparcia dla eliminacji operacji ).

Wreszcie, jeśli jesteś zainteresowany w możliwości poznania więcej na ten temat, powinieneś wiedzieć, że kod projektu jest napisany w Javie i rozpowszechniany na licencji Apache. Możesz sprawdzić szczegóły nowej wersji w następujący link.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.