Apache Pinot, et åpen kildekode OLAP-datavarehus

Apache Pinot

Apache Pinot er et sanntidsdistribuert OLAP-datavarehus

Apache Pinot er en distribuert OLAP-lagringsløsning i sanntid, utviklet for å levere skalerbar analyse med lav latens i sanntid.

Den kan innhente data fra batchdatakilder (som HDFS, S3, Azure Data Lake, Google Cloud Storage) samt strømmekilder (som Kafka). Pinot er designet for å skaleres horisontalt, slik at den kan skaleres til større datasett og høyere spørringsrater etter behov.

Om Apache Pinot

Pinot-prosjektet ble opprinnelig utviklet av LinkedIn og ble i 2015 overført til Apache Foundation for videre felles utvikling. Lagringen er designet for å operere i et miljø der nye data stadig legges til, og er konstruert for å gi minimal og forutsigbar ventetid, noe som muliggjør bruk for sanntids spørrebehandling.

Som de fleste andre datavarehus og OLAP-datavarehusløsninger støtter Pinot et SQL-lignende spørrespråk som støtter valg, aggregering, filtrering, gruppering, sortering og andre dataspørringer.

Apache Pinot tilbyr horisontal skalerbarhet og en metode for å oppnå feiltoleranse og overlevelsesevne mot programvare- og maskinvarefeil. Replikerings- og sikkerhetskopieringsprosesser er integrert direkte i databehandlingssyklusen for data som legges til i datalageret. På den ene siden forenkler denne tilnærmingen arkitekturen betydelig, men på den andre siden introduserer den en forsinkelse mellom datatilføyelse og tilgjengelighet for spørring.

Dataene lagres i tabeller i en kolonneorientert database, og ulike komprimeringsskjemaer og muligheten til å plassere flere verdier i et felt støttes. Pinot tilbyr et pluggbart indekseringssystem som kan bruke ulike indekseringsteknologier (ordnet indeks, bitmap-indeks, invertert indeks, StarTree-indeks, Bloom-filter, områdeindeks, tekstsøkindeks (Lucence/FST), JSON-indeks, geospatial indeks).

Av egenskapene som skiller seg ut fra Apache Pinot:

  • Kolonneorientert– En kolonneorientert database med ulike komprimeringsskjemaer som kjørelengde og fast bitlengde.
  • Pluggbar indeksering: Pluggbare indekseringsteknologier, sortert indeks, bitmapindeks, invertert indeks.
  • Spørringsoptimalisering- Evne til å optimalisere spørringen/utførelsesplanen basert på spørrings- og segmentmetadata.
  • Inntak av bekker og batcher: Nær sanntidsinntak av Hadoop-strømmer og batchinntak.
  • Konsultasjon: SQL-basert søkekjøringsmotor.
  • Upsert under inntak i sanntid: oppdater data i stor skala med konsistens
  • Flere verdifelt: støtte for felt med flere verdier, slik at du kan søke etter felt som kommadelte verdier.
  • Cloud native på Kubernetes: Rordiagram gir en horisontalt skalerbar, feiltolerant gruppert distribusjon som er enkel å administrere med Kubernetes.

Ny versjon av Apache Pinot

Det er verdt å nevne at versjon 1.0 av Apache Pinot nylig ble utgitt , som i bunn og grunn oppsummerte mye arbeid med å stabilisere kodebasen og ta hensyn til fellesskapets ønsker (mer enn 300 kommentarer ble vurdert).

I tillegg er det verdt å merke seg at den nye Multi-Stage Query Engine har nådd sitt fulle potensial , og muliggjør støtte for tabellsammenslåinger (JOIN-er). Motoren som opprinnelig ble brukt fungerte utmerket med enkle filtrerings- og aggregeringsoperasjoner, men for å sikre forutsigbare spørreutførelsestider støttet den ikke tabellsammenslåingsoperasjoner.

Den nye motoren inkluderer mellomliggende stadier for behandling av komplekse spørringer, og SQL-semantikken er nær ANSI SQL . Videre tilbyr den nye versjonen innebygd støtte for behandling av JSON-data, støtte for "NULL"-verdien, integreres med Apache Spark 3.x og forbedrer implementeringen av tabeller i Upsert-modus (legger til segmentkomprimering og gir støtte for sletteoperasjoner).

Til slutt, hvis du er interessert i å lære mer , bør du vite at prosjektets kode er skrevet i Java og distribuert under Apache-lisensen. Du finner detaljer om den nye versjonen på følgende lenke.


Legg til som foretrukket kilde i Google