Grundlegende Einführung in Apache Pinot

Pinot ist ein verteilter Echtzeit-OLAP-Datenspeicher, der selbst bei extrem hohem Durchsatz Analysen mit extrem geringer Latenz liefert. Es kann direkt von Streaming-Datenquellen wie Apache Kafka und Amazon Kinesis aufnehmen und Ereignisse für spontane Abfragen verfügbar machen. Es kann auch Batch-Datenquellen wie Hadoop HDFS, Amazon S3, Azure ADLS und Google Cloud Storage aufnehmen.

Das Herzstück des Systems ist die spaltenbasierte Speicherung mit mehreren intelligenten Indizierungs- und Voraggregationstechniken für geringe Latenz. Dadurch eignet sich Pinot am besten für benutzerorientierte Echtzeitanalysen. Pinot ist auch eine gute Wahl für andere Analyseanwendungsfälle, wie zum Beispiel interne Dashboards, Anomalieerkennung und Ad-hoc-Datenexploration.

imaged2e9d8d08d769846.png

Pinot wurde von Ingenieuren bei LinkedIn und Uber entwickelt und ist für eine unbegrenzte Skalierung konzipiert. Abhängig von der Größe des Clusters und dem Schwellenwert für erwartete Abfragen pro Sekunde (QPS) bleibt die Leistung konstant.

Echtzeitanalysen für Benutzer

Bei benutzerbezogenen Analysen oder standortbezogenen Analysen handelt es sich um Analysetools und -anwendungen, die Sie den Endbenutzern Ihres Produkts direkt zur Verfügung stellen. Stellen Sie sich bei benutzerorientierten Analyseanwendungen die Benutzerbasis als alle Endbenutzer der Anwendung vor. Bei dieser App kann es sich um eine Social-Networking-App oder eine Essensliefer-App handeln. Bei Apache Pinot geht es nicht nur um eine Handvoll Analysten, die Offline-Analysen durchführen, und es geht nicht nur um eine Handvoll Datenwissenschaftler in einem Unternehmen, die Ad-hoc-Abfragen durchführen. Stattdessen erhalten alle Endbenutzer personalisierte Analysen auf ihren persönlichen Geräten (denken Sie an 100 von 1000 Abfragen pro Sekunde). Diese Abfragen werden von der Anwendung ausgelöst und nicht von Menschen geschrieben, sodass die Größenordnung so groß ist wie die Anzahl aktiver Benutzer in der Anwendung (Millionen Ereignisse/Sekunde).

Und zwar für die aktuellsten Daten, nämlich Echtzeitanalysen. Für manche Unternehmen ist „gestern“ möglicherweise lange her und sie können es kaum erwarten, ETL- und Batch-Jobs abzuwarten. Sie möchten, dass die Daten für die Analyse bereit sind (Latenz < 1 Sekunde berücksichtigen).

Warum ist die benutzerorientierte Echtzeitanalyse so schwierig?

Der Wunsch nach einer benutzerorientierten Analyseanwendung wie dieser, die Echtzeitereignisse nutzt, klingt großartig. Aber was bedeutet die Unterstützung solcher Analyse-Workloads für die zugrunde liegende Infrastruktur?

image4fead8cf0deb73b5.png

  1. Solche Anwendungen erfordern möglichst aktuelle Daten, daher muss das System in der Lage sein, die Daten in Echtzeit aufzunehmen und für Echtzeitabfragen verfügbar zu machen.
  2. Bei den Daten für solche Anwendungen handelt es sich in der Regel um Ereignisdaten, die in einem breiten Spektrum von Vorgängen aus mehreren Quellen verwendet werden. Daher kommen die Daten mit sehr hoher Geschwindigkeit an und sind oft hochdimensional.
  3. Abfragen werden durch die Interaktion von Endbenutzern mit der Anwendung ausgelöst – Hunderttausende Abfragen pro Sekunde, mit beliebigen Abfragemustern, und die Latenz wird für ein gutes Benutzererlebnis in Millisekunden erwartet.
  4. Und gehen Sie noch einen Schritt weiter, indem Sie all das mit Skalierbarkeit, Zuverlässigkeit, hoher Verfügbarkeit und kostengünstigem Service erreichen.

Welche Betriebe verwenden Pinot

Pinot hat seinen Ursprung bei LinkedIn, wo es derzeit über eine der größten Implementierungen verfügt und über 50 benutzerorientierte Anwendungen wie „Mein Profil anzeigen“, „Talent Analytics“, „Unternehmensanalyse“, „Werbeanalyse“ und mehr unterstützt. Bei LinkedIn dient Pinot außerdem als Backend zur Visualisierung und Überwachung von über 10.000 Geschäftskennzahlen.

Da Pinot immer beliebter wird, nutzen mehrere Unternehmen es nun in der Produktion, um eine Vielzahl von Analyseanwendungsfällen zu unterstützen. Eine detaillierte Liste der Unternehmen, die Pinot verwenden, finden Sie hier .

Grundlegende Funktionen von Apache Pinot

  • Spaltenorientierte Datenbank mit verschiedenen Komprimierungsschemata, z. B. Lauflänge, feste Bitlänge
  • Pluggable Indexing-Technologie – sortierter Index, Bitmap-Index, invertierter Index, Star-Tree-Index, Bloom-Filter, Bereichsindex, Textsuchindex (Lucence/FST), Json-Index, Geodatenindex
  • Möglichkeit zur Optimierung von Abfrage-/Ausführungsplänen basierend auf Abfrage- und Segmentmetadaten
  • Nahezu Echtzeit-Aufnahme von Streams in Kafka, Kinesis und mehr, Batch-Aufnahme von Quellen wie Hadoop, S3, Azure, GCS und mehr
  • SQL-ähnliche Sprache, die Datenauswahl, Aggregation, Filterung, Gruppierung, Sortierung und verschiedene Abfragen unterstützt
  • Unterstützt mehrwertige Felder
  • Horizontal skalierbar und fehlertolerant

Wann kann ich es verwenden?

Pinot ist darauf ausgelegt, OLAP-Abfragen mit geringer Latenz auszuführen. Es eignet sich für Umgebungen, die eine schnelle Analyse (z. B. Aggregation) unveränderlicher Daten erfordern und möglicherweise eine Datenerfassung in Echtzeit erfordern.

Benutzerorientierte Analytics-Produkte

Pinot ist die perfekte Wahl für benutzerorientierte Analyseprodukte. Pinot wurde ursprünglich bei LinkedIn entwickelt, um umfassende, interaktive Echtzeit-Analyseanwendungen wie Who Viewed Profile, Company Analytics, Talent Insights und mehr zu ermöglichen. UberEats Restaurant Manager ist ein weiteres Beispiel für eine kundenorientierte Analyseanwendung. Bei LinkedIn betreibt Pinot mehr als 50 benutzerorientierte Produkte, erfasst Millionen von Ereignissen pro Sekunde und verarbeitet mehr als 100.000 Abfragen pro Sekunde mit einer Latenz von Millisekunden.

Echtzeit-Dashboards mit Geschäftskennzahlen

Pinot kann auch zur Durchführung typischer analytischer Vorgänge wie Schneiden und Würfeln, Drilldown, Rollup und Rotation umfangreicher mehrdimensionaler Daten verwendet werden. Bei LinkedIn stellt Pinot beispielsweise Dashboards für Tausende von Geschäftskennzahlen bereit. Zur Visualisierung von Daten in Pinot können verschiedene BI-Tools wie Superset, Tableau oder PowerBI angebunden werden.

anormale Erkennung

Neben der Visualisierung von Daten in Pinot können Sie auch Algorithmen für maschinelles Lernen ausführen, um Anomalien in den in Pinot gespeicherten Daten zu erkennen. Weitere Informationen zur Verwendung von Pinot zur Anomalieerkennung und Ursachenanalyse finden Sie unter ThirdEye .

Supongo que te gusta

Origin blog.csdn.net/weixin_39636364/article/details/124755945
Recomendado
Clasificación