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.