Apache Pinot, OLAP skladište podataka otvorenog koda

Apaški pinot

Apache Pinot je distribuirano OLAP skladište podataka u stvarnom vremenu

Apache Pinot je distribuirano OLAP rješenje za pohranu podataka u stvarnom vremenu, dizajnirano za pružanje skalabilne analitike u stvarnom vremenu s niskom latencijom.

Može unositi podatke iz skupnih izvora podataka (kao što su HDFS, S3, Azure Data Lake, Google Cloud Storage) kao i iz izvora streaminga (kao što je Kafka). Pinot je dizajniran za horizontalno skaliranje, tako da se može skalirati na veće skupove podataka i veće stope upita po potrebi.

O Apache pinotu

Projekt Pinot izvorno je razvio LinkedIn , a 2015. godine prebačen je u Apache Foundation radi daljnjeg zajedničkog razvoja. Pohrana je dizajnirana za rad u okruženju u kojem se stalno dodaju novi podaci i projektirana je tako da osigurava minimalnu i predvidljivu latenciju, što omogućuje njezino korištenje za obradu upita u stvarnom vremenu.

Kao i većina drugih skladišta podataka i OLAP rješenja za skladištenje podataka, Pinot podržava jezik upita sličan SQL- u koji podržava odabir, agregaciju, filtriranje, grupiranje, sortiranje i druge upite podataka.

Apache Pinot pruža horizontalnu skalabilnost i sredstvo za postizanje tolerancije grešaka i preživljavanja protiv softverskih i hardverskih kvarova. Procesi replikacije i sigurnosne kopije integrirani su izravno u ciklus obrade podataka za podatke dodane u pohranu podataka. S jedne strane, ovaj pristup značajno pojednostavljuje arhitekturu, ali s druge strane uvodi kašnjenje između dodavanja podataka i njihove dostupnosti za upite.

Podaci se pohranjuju u tablice unutar baze podataka orijentirane na stupce, a podržane su različite sheme kompresije i mogućnost postavljanja više vrijednosti u polje. Pinot pruža plug-able indeksni sustav koji može koristiti različite tehnologije indeksiranja (uređeni indeks, bitmapni indeks, invertirani indeks, StarTree indeks, Bloomov filtar, indeks raspona, indeks pretraživanja teksta (Lucence/FST), JSON indeks, geoprostorni indeks).

Od karakteristika koje se izdvajaju od Apache Pinota:

  • Orijentiran na stupac– Baza podataka orijentirana na stupce s različitim shemama kompresije kao što su duljina niza i fiksna duljina bita.
  • Priključno indeksiranje: Priključne tehnologije indeksiranja, sortirani indeks, bitmap indeks, obrnuti indeks.
  • Optimizacija upita- Sposobnost optimiziranja plana upita/izvršenja na temelju upita i metapodataka segmenta.
  • Gutanje tokova i serija: Gutanje Hadoop tokova i skupno gutanje gotovo u stvarnom vremenu.
  • Konzultacija: Mehanizam za izvršavanje upita temeljen na SQL-u.
  • Upsert tijekom ingestije u stvarnom vremenu: dosljedno ažurirati podatke u velikom broju
  • Polja s više vrijednosti: podrška za polja s više vrijednosti, što vam omogućuje postavljanje upita u polja kao vrijednosti odvojene zarezom.
  • Izvorni oblak na Kubernetesu: Helm chart pruža horizontalno skalabilnu klasteriranu implementaciju otpornu na greške kojom je lako upravljati s Kubernetesom.

Nova verzija Apache Pinota

Vrijedi spomenuti da je nedavno objavljena verzija 1.0 Apache Pinota , koja je u osnovi sažela mnogo rada na stabilizaciji kodne baze i uzimanju u obzir želja zajednice (uzeto je u obzir više od 300 komentara).

Osim toga, vrijedi napomenuti da je novi Višestupanjski mehanizam za upite (Multi-Stage Query Engine) dosegao svoj puni potencijal , omogućujući podršku za spajanja tablica (JOIN-ove). Mehanizam koji je u početku korišten izvrsno je funkcionirao s jednostavnim operacijama filtriranja i agregacije, ali kako bi se osiguralo predvidljivo vrijeme izvršavanja upita, nije podržavao operacije spajanja tablica.

Novi mehanizam uključuje međufaze za obradu složenih upita, a njegova SQL semantika je bliska ANSI SQL-u . Nadalje, nova verzija nudi izvornu podršku za obradu JSON podataka, pruža podršku za vrijednost "NULL", integrira se s Apache Sparkom 3.x i poboljšava implementaciju tablica u Upsert načinu rada (dodavanje kompresije segmenata i pružanje podrške za operacije brisanja).

Konačno, ako ste zainteresirani saznati više , trebali biste znati da je kod projekta napisan u Javi i distribuiran pod Apache licencom. Detalje o novoj verziji možete pronaći na sljedećoj poveznici.


Dodaj kao preferirani izvor na Googleu