Hologres + Flink erweitert das Streaming-Lake-Warehouse und baut ein Echtzeit-Data-Warehouse auf Unternehmensebene auf

1. Hologres+Flink, die erste Wahl für das Echtzeit-Data-Warehouse vieler Kunden auf Alibaba Cloud

Während sich Big Data von der Größenordnung zur Echtzeit verlagert, erstreckt sich die Nachfrage nach Echtzeitdaten auf verschiedene Bereiche wie das Internet, den Transport, die Medien, das Finanzwesen und die Regierung. Auch der Anteil des Echtzeit-Computings in Big-Data-Plattformen von Unternehmen nimmt stetig zu und erreicht in einigen Branchen 50 %. Hologres+Flink ersetzt verschiedene Arten komplexer Open-Source-Technologiekomponenten durch viele umfangreiche Funktionen auf Unternehmensebene und reduziert so Kosten wie das Erlernen mehrerer Technologie-Stacks, den Betrieb und die Wartung mehrerer Cluster sowie die Aufrechterhaltung der Datenkonsistenz an mehreren Orten, sodass sich Unternehmen auf das Geschäft konzentrieren können Kosteneinsparungen erzielen und so die Effizienz steigern.

  • Im Xiaohongshu OLAP-Szenario wird Hologres als Ersatz für Clickhouse verwendet und die Abfrageleistung erheblich verbessert. Im Empfehlungsszenario wird Hologres + Flink verwendet, um die Testergebnisse der Benutzer-A/B-Gruppe in Echtzeit zu analysieren und die Empfehlungsstrategie anzupassen Echtzeit und aktualisieren Sie das Empfehlungsmodell.
  • Xiaomai Technology nutzt Hologres+Flink, um ein Echtzeit-Data-Warehouse mit mehreren zehn Milliarden Anzeigen aufzubauen, um die Anforderungen von Hochleistungsschreiben, extrem schnellen komplexen Abfragen, Hochverfügbarkeitsisolierung usw. zu erfüllen und eine Analyse des Benutzerverhaltens zu ermöglichen -Level-Reaktion und schnelle Reaktion auf Geschäftsanforderungen.
  • Kingdee Guanyi Cloud hat sein Echtzeit-Data-Warehouse auf Hologres+Flink aktualisiert und die Datenverzögerung von über 30 Sekunden auf Sekunden reduziert. Mithilfe der leistungsstarken Echtzeit-Analyse- und Aggregationsfunktionen von Hologres wurde das Problem der Verzögerung der Datenstatistiken gelöst. und die gesamten Ressourcenkosten wurden um 50 % reduziert.
  • TAL verwendete ursprünglich Kudu als OLAP-Engine und Impala zum Laden und Berechnen von Daten. Es ersetzte Kudu/Impala durch Hologres, um Schreibfunktionen auf Millionenebene und Abfragefunktionen auf Millisekundenebene zu erreichen und so die Kosten um fast eine Million pro Jahr zu senken.
  • Durch Tests stellte Le Elements fest, dass die Leistung im Vergleich zu Presto um das Fünf- bis Zehnfache verbessert wurde. Der 64-Kern-Holgores-Cluster kann den 96-Kern-Presto-Cluster direkt ersetzen, sodass die Data-Warehouse-Architektur aktualisiert wurde, um die Effizienz des Geschäftsbetriebs um das Zehnfache zu steigern mal+.

One-Stop-Echtzeit-Data-Warehouse Hologres

Hologres ist ein von Alibaba Cloud selbst entwickeltes One-Stop-Echtzeit-Data-Warehouse. Es nutzt eine integrierte Analysedienstarchitektur und eine einheitliche Datenplattformarchitektur, um Daten zu realisieren. Es unterstützt auch mehrdimensionale Analysen, Online-Dienste und Lake-Warehouse Integrations- und Vektorberechnungsszenarien, einschließlich Got:

  • Mehrdimensionale Analyse (Implementierung derselben Abfrageszenarien wie CK, Doris usw.)

Hochleistungsfähiges Schreiben, Aktualisieren und Abfragen von Daten in Echtzeit, das Abfragen unmittelbar nach dem Schreiben ermöglicht, Spaltenspeicherung und integrierte Indexbeschleunigung unterstützt

  • Onlinedienst (Implementierung derselben Abfrageszenarien wie Hbase, Redis usw.)

KV- und SQL-Abfragen, Nicht-Primärschlüssel-Abfragen mit extrem hohem QPS, unterstützen die Zeilenspeicherung und verfügen über Hochverfügbarkeitsfunktionen

  • Analyse des Seelagers (Realisierung der gleichen interaktiven Analyseszenarien wie bei Presto)

Keine Datenmigration erforderlich, interaktive Abfrage der zweiten Ebene für Tabellen in MaxCompute und Data Lake sowie automatische Erkennung von Metadaten

  • Vektorberechnung (Implementierung der gleichen Vektorabfrageszenarien wie Faiss)

Dank der integrierten DAMO Academy Proxima-Vektor-Engine sind die QPS- und Recall-Leistung um ein Vielfaches höher als bei der Open-Source-Vektordatenbank

Echtzeit-Data-Warehouse-Funktionen auf Unternehmensebene

Im Gegensatz zu Open-Source-Komponenten müssen Echtzeit-Data-Warehouses auf Unternehmensebene Unternehmen dabei helfen, schnell verschiedene Ressourcenisolation, Datensicherheit, agilen Betrieb und Wartung sowie andere Funktionen zu erreichen, damit Unternehmen Daten kontinuierlich, stabil und effizient nutzen und behalten können Big-Data-Plattform, die online in Echtzeit läuft. Hologres verfügt über umfangreiche Funktionen auf Unternehmensebene wie Ressourcenisolation, Datenverschlüsselung, Datendesensibilisierung, Notfallwiederherstellung, Datensicherung und -wiederherstellung, IP-Whitelist, Datenverwaltung und Datenherkunft.

  • Lastisolierung

Mehrere Recheninstanzen bilden ein Master-Multiple-Slave-Modell. Die Instanzen teilen sich einen Speicher und isolieren Rechenressourcen, um Schreib- und Leseisolation, Abfrage- und Dienstisolation zu erreichen. Unterstützt Fehlermanagement, schnelle und automatische Wiederherstellung ausgefallener Knoten, und die drei Pangu-Kopien bieten äußerst zuverlässigen redundanten Speicher.

  • Betrieb und Wartung auf Unternehmensebene

Es verfügt über bestimmte Selbstbetriebs- und Wartungsfunktionen sowie integrierte Betriebs- und Wartungsdiagnoseinformationen wie Abfrageverlauf und Metadatentabellen. Benutzer können umfassende Überwachungs- und Alarmindikatoren basierend auf Abfrageverlauf und Tabellenmetadaten bereitstellen und Systemengpässe und Risiken schnell lokalisieren Punkte und verbessern die Selbstbedienung. Dimensionsfähigkeit.

  • Datensicherheit

Unterstützt fein abgestufte Zugriffskontrollrichtlinien, BYOK-Datenspeicherverschlüsselung und Datendesensibilisierung, Datensicherung und -wiederherstellung, unterstützt mehrere Authentifizierungssysteme wie RAM, STS und unabhängige Konten und hat die PCI-DSS-Sicherheitszertifizierung bestanden (PCI-DSS ist derzeit die weltweit führende strengste und höchste Sicherheitsstandards für Finanzdaten).

  • Datenamt

Die Datenverarbeitung in Echtzeit führt zu erhöhten Kosten. Hologres stellt Tabelleninformationen bereit, die Protokollinformationen zu verschiedenen Arten der Datennutzung enthalten. Es ist praktisch zu wissen, ob jemand die Daten verwendet und wie oft sie verwendet wurden, damit Unternehmen ihre Kosten besser kontrollieren können.

2. Tiefe Integration von Hologres und Flink

Die Kombination von Hologres+Flink ist die beste Architektur, die nach Jahren der Echtzeit-Szenarienverfeinerung innerhalb der Alibaba Group erforscht wurde. Beispielsweise hat das Taotian-Benutzerwachstumsteam die 3-5-minütige Porträtanalyse erfolgreich auf etwa 10 Sekunden verbessert, und das CCO-Kundendienstteam hat es geschafft Effizienz der Datenanalyse Bei einer Steigerung um das Zehnfache werden die jährlichen Kosten von Taocai um mehrere Millionen reduziert. Nach Jahren der Anhäufung haben sich die Produktfunktionen von Hologres + Flink nach und nach ergänzt. Mit der Echtzeitberechnung von Flink als Mittelpunkt verfügt das Echtzeit-Data-Warehouse Hologres über mehrere Produktnutzungspfade: Hologres kann als Dimension verwendet werden Tabelle von Flink; verarbeitete Daten können über Flink verarbeitet werden. Die Ergebnisse werden in Hologres geschrieben; Hologres stellt Binlog bereit, das von Flink genutzt werden kann; Hologres Catalog unterstützt Metadatendienste, gesamte Datenbanksynchronisierung, SchemaEvolution usw., die im Detail vorgestellt werden später.

Nachschlagen von Dimensionstabellen in Echtzeit

Hologres bietet als Echtzeit-Dimensionstabelle von Flink folgende Vorteile gegenüber anderen Dimensionstabellen:

  • Dimensionstabelle Millionen RPS-Abfrage. Durch die Unterstützung sehr hoher RPS-Abfragen ist es einfacher, Hunderte Millionen Einzelabfragen pro Sekunde zu erreichen. Einige unserer internen Unternehmen können sogar Dutzende Millionen und Hunderte Millionen Abfragen erreichen.
  • Dimensionstabellen können in Echtzeit aktualisiert werden. Dimensionstabellen und einige darin enthaltene Felder können aktualisiert werden, um die Schwierigkeit bei Betrieb und Wartung zu verringern und die Effizienz zu verbessern.
  • Unterstützt 1-zu-N-Punkt-Scan (Präfix-Scan). Unterstützt nicht nur Eins-zu-Eins-Abfragen, sondern auch Eins-zu-Viele-Abfragen. Beispielsweise müssen wir bei unseren Versicherungskunden anhand unserer Ausweise prüfen, welche Versicherungspolicen wir haben. Diese Person kann mehreren Versicherungspolicen entsprechen, und Hologres kann auch diese Art von Paar-N-Abfrage unterstützen.
  • InsertIfNotExist wird unterstützt. Dies ist eine ganz besondere Fähigkeit. Wenn eine allgemeine Dimensionstabelle abgefragt wird, wird sie zurückgegeben, wenn sie gefunden wird, und wenn sie nicht gefunden wird, wird sie leer zurückgegeben. Hologres fügt jedoch einen Wert ein, wenn die Abfrage ihn nicht finden kann, und kehrt dann zurück der eingefügte Wert. Dies wird hauptsächlich verwendet, um das Problem genauer UV-Szenen im Verkehr zu lösen. Durch die RoaringBitmap-Bildgebungslösung können Hunderte Milliarden Porträtanalysen von Minuten auf Sekunden reduziert werden.

Hochleistungsfähiges Schreiben und Aktualisieren in Echtzeit

Die Flink+Hologres-Kombination unterstützt leistungsstarkes Echtzeit-Schreiben. Rechts sind unsere Messdaten von vor einem Jahr, die dieses Jahr höher ausfallen dürften. Es ist ersichtlich, dass unter der 128CU-Konfiguration, wenn die Schreibtabelle keinen Primärschlüssel hat, ungefähr 2,3 Millionen Einträge pro Sekunde geschrieben werden können; wenn die Schreibtabelle einen Primärschlüssel hat, werden neue Zeilen aufgrund von Primärschlüsselkonflikten verworfen und mehr Es können bis zu 2 Millionen Einträge pro Sekunde geschrieben werden. Im Allgemeinen erfordern Tabellenaktualisierungen eine Rückprüfung, und mit zunehmender Datenmenge nimmt die Aktualisierungsleistung ab. Hologres kann auch eine Aktualisierungsleistung von 700.000 Elementen pro Sekunde erreichen, selbst wenn dies bereits der Fall ist verfügt über 2 Milliarden zu aktualisierende Datentabellen. Diese Art der Echtzeit-Schreib- und Aktualisierungsleistung eignet sich sehr gut für die Verwendung mit einer großen Anzahl von Aktualisierungen und Löschungen wie Flink.

Während Hologres über starke Update-Fähigkeiten verfügt, unterstützt es auch Teilaktualisierungen breiter Tabellen, ersetzt in gewissem Umfang den Multi-Stream-Join von Flink und hat auch einige sehr detaillierte Optimierungen vorgenommen. Beispielsweise sind die Daten im Upstream-Datengeschäft manchmal nicht in Ordnung. Die um 1 Uhr erstellten Daten und die um 1:05 Uhr erstellten Daten. Wir hoffen, dass die um 1:05 Uhr erstellten Daten die vorherigen Daten abdecken, denn Die Daten basieren auf der Geschäftszeit. Sie möchten auf jeden Fall, dass die späteren Daten die vorherigen überschreiben. Aufgrund der Unsicherheit der gesamten Berechnungsverbindung ist es jedoch möglich, dass die Daten um 1:05 Uhr zuerst eintreffen und die Daten um 1 Uhr später. Wenn Sie blind direkt schreiben, überschreiben die Daten bei 1 Uhr die Daten bei 1:05. In diesem Fall übernimmt Hologres diese Abdeckung jedoch nicht. Selbst wenn der Upstream außer Betrieb ist, kann er dennoch die neuesten Daten speichern, um die Konsistenz der Upstream- und Downstream-Daten sicherzustellen.

Schließlich führte Hologres in der noch nicht von Flink veröffentlichten Version 1.19 einen Modus namens Fixed Copy ein. Im Vergleich zum Bild rechts bietet dieser Modus eine bessere Schreibleistung und spart mehr CPU-Ressourcen.

Zusammenführung mehrerer Streams

Neben dem Dimensionstabellen-Join stellt der Dual-Stream-Join einen weiteren Schwachpunkt beim Stream-Computing dar. Wenn jeder Pfad einen vollständigen Zustand sicherstellen muss, ist dies theoretisch eine sehr kostspielige Sache. Unsere Lösung ersetzt den Dual-Stream-Join nicht vollständig, aber für Benutzerporträtszenarien gibt es beispielsweise eine eindeutige ID, und dann hoffen wir, die Daten mehrerer Streams basierend auf dieser vorhandenen ID zu verknüpfen. In diesem Szenario kann Hologres den Dual-Stream-Join problemlos ersetzen, um eine solche kostengünstigere Verbindung zu implementieren.

Im Porträtszenario müssen wir das Porträt eines Benutzers oder eines Produkts beschreiben, das viele Dimensionen hat. Was sind beispielsweise für einen Benutzer seine Surfgewohnheiten, was sind seine Erfüllungsgewohnheiten, was sind seine Rückkehrgewohnheiten usw. , Wir können diesen Kunden aus verschiedenen Perspektiven betrachten und müssen dann ein Porträt des Benutzers zeichnen, um festzustellen, zu welchem ​​Benutzertyp er gehört. Bei der Klassifizierung möchten wir zunächst unbedingt alle Informationen zu diesem Benutzer wissen. Wir hoffen, die Benutzer-ID als Granularität zu verwenden, um alle Benutzerinformationen zusammenzufassen und sie dann an einen Klassifikator zu übergeben, um zu klassifizieren und zu bestimmen, zu welcher Kategorie der Benutzer gehört. Dies ist eine sehr klassische Verwendung von Benutzerporträts.

Bevor das Hologres-Produkt hinzugefügt wurde, konnte Flink nur zur Durchführung von Dual-Stream-Joins verwendet werden. Flink wurde verwendet, um ein so großes Feld zu bilden, und unterschiedliche Dimensionen hatten unterschiedliche Felder. Nach dem Beitritt zu Hologres entspricht dies jedoch dem Erstellen einer breiten Tabelle in Hologres. Der Primärschlüssel dieser Tabelle ist die Benutzer-ID, und dann schreiben verschiedene Flink-Aufgaben unterschiedliche Felder. Dies bedeutet nicht, dass eine Aufgabe alle gesamten Zeilen schreibt, sondern dass jede Aufgabe nur einige ihrer eigenen Felder schreibt und dieselbe Tabelle unterschiedliche Felder enthält. In diesem Fall ist die Verwendung der lokalen Aktualisierungsfunktion von Hologres gleichbedeutend mit der automatischen Verknüpfung der Benutzerdaten unterschiedlicher Dimensionen.

Mit der oben genannten Leistung hat Hologres gegenüber anderen Data Warehouse-Produkten den Vorteil, dass es auch Binlog unterstützt. Nachdem sich ein Feld in dieser breiten Tabelle geändert hat, spuckt unser Binlog die gesamte Datenzeile aus und zeigt sie im Binlog an. Flink stellt dann eine Verbindung zum Binlog her und dann kennen wir die Daten dieser Zeile. Wie ist die aktuelle Situation? ?Wir können das Porträt für diesen Benutzer neu berechnen.

Hologres als Datenquelle von Flink

Durch die schrittweise Aktualisierung von Hologres und Binlog in Kombination mit Flink kann ein Benutzerporträt in Echtzeit erstellt werden, wodurch die Kosten erheblich gesenkt werden können. Wenn andererseits Hologres als Quelltabelle von Flink verwendet wird, kann Flink die Tabellendaten sowohl im Stream- als auch im Batch-Modus lesen. Sie können die Änderungen auch anpassen, z. B. das vollständige inkrementelle integrierte Lesen oder das Lesen des Bestandsteils nur inkrementell.

Automatische Erkennung und Aktualisierung von Metadaten

Hologres ist auch mit dem Katalog von Flink verbunden, der Metadaten direkt lesen kann. Die Syntax von Flink zum Erstellen einer Tabelle und zum Erstellen einer Datenbank sowie einschließlich der Schemaentwicklung kann gut angepasst werden.

3. Hologres+Flink baut ein Echtzeit-Data-Warehouse auf Unternehmensebene auf

Wie baut man ein Echtzeit-Data-Warehouse auf? Für den Aufbau eines Offline-Data-Warehouse verfügen wir über ein sehr standardisiertes Methodensystem. Nachdem die Daten eingegangen sind, werden sie Schicht für Schicht von der ODS-Schicht, der DWD-Schicht, der DWS-Schicht und der ADS-Schicht verarbeitet. Jede Schicht wird durch geplante Planung abgeschlossen Aufgaben. von.

In einem Echtzeit-Data Warehouse gibt es aus Sicht des Data Warehouse definitiv hierarchische Anforderungen. Wie können wir eine nützlichere Lösung finden? Wie kann das Problem der Echtzeit-Data-Warehouse-Schichtung gelöst werden? Wenn wir diese Probleme lösen können, können wir einen freien Datenfluss zwischen verschiedenen Ebenen des Data Warehouse ermöglichen. Im Folgenden finden Sie eine Einführung in das spezifische Echtzeit-Data-Warehouse-Schichtungsschema:

Traditionelle Echtzeit-Data-Warehouse-Layering-Lösung 1: Streaming-ETL

Das erste und klassischste Data-Warehouse-Schichtungsschema besteht darin, es mit Flink zu verarbeiten und an Kafka zu übergeben. Jede Verarbeitungsschicht wird an Kafka übergeben und dann verarbeitet und über Flink in die nächste Schicht von Kafka geschrieben. Schließlich wird darauf geschrieben Eine Datei wird durch Flink-Berechnung erstellt. Die KV-Engine stellt Dienste für die Außenwelt bereit. Die Leute betrachten dies manchmal nicht als Data-Warehouse-Schichtung, weil sie das Konzept von Warehouses nicht verstehen und es nur Schichten der Data-Warehouse-Datenverarbeitung gibt.

Die Flink + Kafka-Lösung weist ein sehr ernstes Problem auf: Jede Ebene der Kafka-Daten wird von Flink verwendet und kann kaum andere Aufgaben ausführen. Natürlich kann man sagen, dass Sie Presto verwenden können, um die Kafka-Datenquelle zu verbinden, und dann Fragen Sie ab, ob die Daten Fehler enthalten. , aber das ist alles, wofür es nützlich ist. Im Allgemeinen besteht jeder Ansatz darin, unten ein anderes Echtzeit-Data-Warehouse anzuschließen und alle Entwicklungsdaten mit dem Echtzeit-Data-Warehouse zu synchronisieren. Wenn Sie Daten abfragen und Daten analysieren möchten, verwenden Sie bitte das Echtzeit-Data-Warehouse und verwenden Sie dann Kafka für den Flink-Verbrauch. Es ist eine klassische Architektur und sehr ausgereift. Seine Mängel sind jedoch: Es müssen zwei Kopien verschiedener synchronisierter Daten gespeichert werden, was viele Ressourcen verbraucht und die gesamte Verarbeitungsverbindung ebenfalls sehr kompliziert ist. Probleme mit den Zwischendaten von Kafka sind nicht einfach zu beheben und die Datenkorrektur ist mühsam. Manchmal möchte der Upstream Felder hinzufügen und der Downstream muss mehr Felder ändern, was es schwierig macht, auf dynamische Änderungen im Schema zu reagieren.

Traditionelle Echtzeit-Data-Warehouse-Layering-Lösung 2: geplante Planung

Die zweite Methode besteht darin, die Offline-Methode zu verwenden. Flink ist für die Datenbereinigung und -zuordnung verantwortlich. Die bereinigten Detaildaten werden in Echtzeit in das Echtzeit-Data-Warehouse geschrieben, um die DWD-Schicht zu bilden. Anschließend wird die DWS/ADS-Schicht durch Hochfrequenzplanung (Minutenebene) aufgebaut, um inkrementelle Aktualisierungen auf Minutenebene zu erreichen.

Der Vorteil besteht darin, dass die Lösung ausgereift und einfach ist und die Kosten niedrig sind. Sein Manko ist jedoch die mangelnde Aktualität. Da die von Flink geschriebenen Daten tatsächlich sehr aktuell sind, ist es tatsächlich schwierig, Aufgaben sehr häufig zu planen. Denn wenn Sie weiter unten Anpassungen vornehmen, beispielsweise 5 Minuten Anpassungszeit, steigt der Schwierigkeitsgrad plötzlich an. Denn wenn die Datenmenge groß ist, können die Daten manchmal nicht in 5 Minuten ausgeführt werden und können nur inkrementell geplant werden, was komplizierter wird. Daher entscheiden sich viele Benutzer bei der tatsächlichen Verwendung häufig für die Planung auf Stundenebene, und das Echtzeit-Data-Warehouse degeneriert zu einem Quasi-Echtzeit-Data-Warehouse.

Traditionelle Echtzeit-Data-Warehouse-Layering-Lösung 3: materialisierte Ansicht

Die dritte Lösung ist die materialisierte Sicht. Tatsächlich handelt es sich im Wesentlichen um eine Kombination der beiden vorherigen Lösungen. Flink ist für die Datenbereinigung und -zuordnung verantwortlich. Die bereinigten Detaildaten werden in Echtzeit in das Echtzeit-Data-Warehouse geschrieben, um die DWD-Schicht zu bilden. Verarbeiten Sie DWS oder ADS über materialisierte Ansichten im Echtzeit-Data Warehouse. Heutzutage werden die von allen bereitgestellten Produktfunktionen grundsätzlich im Batch-Materialisierungsmodus ausgeführt, der im Wesentlichen Planungsaufgaben in das System integriert. Hologres führt auch die Echtzeit-Materialisierung durch, die innerhalb der Gruppe bereits verwendet wird und in Zukunft für die öffentliche Cloud geöffnet werden soll. Allerdings stellt diese Art der Echtzeit-Materialisierungsansicht immer noch eine relativ große technische Herausforderung dar.

Nach der Analyse der oben genannten drei Data Warehouse-Partitionierungslösungen kann die Datenübertragung zwischen Flink und Hologres realisiert werden, wenn Kafka vollständig durch Hologres ersetzt und unter Verwendung der Zeilen-Spalten-Koexistenz gespeichert wird. Basierend auf der einheitlichen Architektur können die Daten auf jeder Ebene des Data Warehouse abgefragt und geändert werden, und die starken Ressourcenisolationsfunktionen von Flink und Hologres werden genutzt. Das gesamte System ist in der Produktionsumgebung hochverfügbar. Im Folgenden werden die Details der Streaming Warehouse-Lösung basierend auf Flink+Hologres vorgestellt.

Die Streaming Warehouse-Lösung von Hologres+Hologres

Wir haben alle Kafka durch Hologres und KV durch Hologres ersetzt. Im gesamten Link können Daten nach dem Schreiben von Flink direkt an Hologres übertragen werden. Die Zeilen-Spalten-Koexistenztabelle speichert zwei Kopien von Daten gleichzeitig, eine für Zeilen und eine für Spalten. Die beiden Kopien sind ohne zusätzlichen Verwaltungsaufwand stark konsistent und die Leistung kann in einigen Szenarien sogar verbessert werden. Im Vergleich zur vorherigen Kafaka-Architektur bietet Flink+Hologres folgende Vorteile:

  • Es löst das Problem, dass die herkömmlichen Kafka-Daten der mittleren Schicht schwer zu überprüfen, zu aktualisieren und zu korrigieren sind. Jede Schicht kann überprüft und korrigiert werden.
  • Die Daten der mittleren Schicht werden nicht nur von Flink konsumiert, sondern können von jedem überprüft werden. Es kann sogar externe Dienste direkt bereitstellen und mit OLAP/Online-Diensten und anderem Verbrauch kommunizieren.
  • Die Architektur wird vereinheitlicht, Betriebs- und Wartungskosten werden reduziert, die Geschäftseffizienz erhöht und die Modelle werden vereinheitlicht.

Basierend auf der Streaming Warehouse-Lösung von Flink+Hologres bietet das Echtzeit-Data-Warehouse Hologres hauptsächlich drei Kernfunktionen:

  • Binlog unterstützt die Binlog-Offenlegungsfunktion von Tabellenaktualisierungsereignissen. Es nutzt Hologres Binlog über Flink, um die Echtzeitentwicklung vollständiger Verbindungen zwischen Data Warehouse-Ebenen zu realisieren, verkürzt die End-to-End-Verzögerung der Datenverarbeitung und erfüllt gleichzeitig die Prämisse der hierarchischen Governance .
  • Die Koexistenz von Zeilen und Spalten ermöglicht die Datenübertragung zwischen Flink und Hologres und ermöglicht die Abfrage und Änderung der Daten auf jeder Ebene.
  • Starke Ressourcenisolation, Ressourcenisolation zwischen mehreren Berechnungen, Erreichen der Schreib- und Leseisolation, Abfrage- und Dienstisolation.

Wie in der Abbildung gezeigt, ist das Flink-Streaming im Architekturdiagramm markiert, sodass in der gesamten Echtzeit-Datenverarbeitungsverbindung kein Hologres-SQL geschrieben werden muss. Die gesamte Datenverarbeitungsverbindung wird vollständig durch FlinkSQL dargestellt. Obwohl die Syntax von FlinkSQL und Hologres SQL relativ unterschiedlich ist, können sie den Speicher jeder Schicht des Data Warehouse gleichzeitig abfragen und wiederverwenden.

Anwendungsfall: Der Echtzeit-Data-Warehouse-Upgrade-Pfad eines Kunden

Bei diesem Kunden handelt es sich um einen Logistikkunden, dessen Kerngeschäft sich um Lager dreht. Das Data Warehouse-Geschäftsszenario ist relativ komplex und sein Hauptgeschäft ist in drei Kategorien unterteilt:

  • Echtzeitübertragung. Die Echtzeitübertragung von Lagereingängen, -ausgängen, -lieferungen und anderen Inhalten erfordert ein hohes Maß an Sicherheit.
  • Es gibt eine Vielzahl von Lagerabläufen in Echtzeit, die eine hohe Leistung und kontinuierliche Dienste erfordern.
  • Für verschiedene gängige Indikatorenzentren und Self-Service-Analysen sind mehrdimensionale OLAP-Analysen und Flexibilität erforderlich

Unter den oben genannten drei Geschäftsbereichen verfügt das Echtzeit-Data-Warehouse des Kunden über etwa 350 Aufgaben und nutzt Zehntausende CU-Echtzeit-Computing-Skalen. Gleichzeitig werden einige wichtige Aufgaben kalibriert. Beispielsweise können Aufgaben über P2 mehr als 70 % ihrer Aufgaben ausmachen. Es ist ersichtlich, dass Echtzeit für ihre Geschäftsszenarien sehr wichtig ist. Zweitens ist der Echtzeitdurchsatz von Geschäftsdaten hoch, mit einem durchschnittlichen täglichen Schreibvolumen von 20 Millionen pro Sekunde. In der Spitze können 60 Millionen Datensätze pro Sekunde erreicht werden, und täglich werden mehr als 500.000 Ausgabeergebnisse pro Sekunde generiert. Das gesamte Datenvolumen beträgt etwa mehrere hundert TB.

Echtzeit-Data-Warehouse 1.0 – Kostenreduzierung um 70–120 %

Dieser Kunde ist ein früher Kunde von Hologres und Flink. Im Jahr 2020 befindet sich Hologres im Kommerzialisierungsjahr und der Kunde verwendet Hologres nur als Ersatz für die OLAP-Engine. Von unten beginnend werden Kafka und Flink für die Verarbeitung verwendet. Nach Abschluss der Verarbeitung müssen die Daten doppelt geschrieben werden, um vom Logistikbetriebssystem bzw. dem OLAP-Abfragesystem verwendet zu werden. Die ersteren Daten sind sehr garantiert. Wenn Wenn es fehlschlägt, ist das gesamte Lager betroffen. Die Verwaltung wird chaotisch sein. Anfangs hatten die Kunden noch Zweifel an den Produkten von Hologres, also schrieben sie einen Brief an Lindorm, um KV-Prüffunktionen für wichtige Dienste extern bereitzustellen, und einen weiteren Brief an Hologres, um intern flexible OLAP-Analysen bereitzustellen. Dies ist der erste Ansatz, den Kunden gewählt haben. Er ersetzt hauptsächlich die OLAP-Engine und nutzt die leistungsstarke Schreib- und Abfrageleistung von Hologres. Für sie werden dadurch vor allem die Kosten um 70–120 % gesenkt.

Die Effizienz der Echtzeit-Data-Warehouse-2.0-Entwicklung wurde um 100 % gesteigert

Bis 2022 wurden die Binlog-Produktfunktionen von Hologres von vielen Kunden genutzt. Nach einer Zeit der Vertrautheit haben die Kunden mehr Vertrauen in die Produkte von Hologres. Gleichzeitig führte Hologres Master-Slave-Instanzen ein. Eine Dateneinheit verfügt über eine oder mehrere Instanzen, und die Instanzen können dieselben Daten vollständig gemeinsam nutzen. Auch die Rechenressourcen sind stark isoliert, sodass der Kunde die Echtzeit-Data-Warehouse-Architektur auf aktualisiert hat 2,0.

Auf der untersten Ebene führt MaxCompute die Offline-Datenverarbeitung durch, und Flink schreibt in die Hologres-Masterinstanz, abonniert sie, führt einen sekundären Verbrauch durch und schreibt dann zurück, wodurch eine Schleife entsteht. Alle Kundenanfragen werden extern über Slave-Instanzen bereitgestellt. Unabhängig davon, ob es sich um eine Aufgabe mit hoher Garantie wie die Auswahl von Logistikvorgängen handelt oder um eine OLAP-Analyseaufgabe, die viele Ressourcen erfordert, aber ein relativ niedriges Garantieniveau aufweist, kann sie zwischen mehreren Slaves isoliert werden Instanzen. Stellen Sie sicher, dass die Ressourcen isoliert sind. In der gesamten Verbindung bilden Flink und Hologres einen geschlossenen Kreislauf, und Hologres wird zur Bereitstellung einheitlicher externer Datendienste verwendet.

Aus Kundensicht haben sie eine Trennung von Lesen und Schreiben, eine Notfallwiederherstellung in derselben Stadt, die Isolierung mehrerer Computerressourcen im Speicher und ein besseres Gleichgewicht zwischen Verfügbarkeit und Kosten erreicht. Die Fehlerstatistik des Kunden sank von 6 auf 0, das gesamte Speichervolumen sank um Hunderte TB und die Gesamtentwicklungseffizienz wurde deutlich verbessert.

Echtzeit-Data-Warehouse 3.0 – Leistungssteigerung 100–200 %:

Im Jahr 2023 führte Hologres Rechengruppeninstanzen ein, bei denen es sich um aktualisierte Versionen von Master-Slave-Instanzen handelt. Obwohl Master-Slave-Instanzen den Vorteil einer starken Isolation zwischen den Berechnungen haben, besteht das größte Problem darin, dass jede Instanz einen unabhängigen Eingang hat. Wenn Sie hinzufügen möchten Zwei Slave-Instanzen während des Tages. Wenn Sie diese reduzieren möchten, wenn das Unternehmen nachts nicht ausgelastet ist, ist dies schwierig zu erreichen und das Unternehmen muss erneut freigegeben werden.

Die Rechengruppeninstanz kann auch als Master-Slave-Instanz betrachtet werden, es gibt jedoch einen einheitlichen Eingang darüber. Das Hinzufügen einer Computergruppe oder das Ändern ihres Namens in eine Computergruppe erfordert keine Änderungen. Für das Hinzufügen einer Computergruppe muss der Administrator lediglich eine Routing-Regel konfigurieren. Diese Routing-Regel kann auf unsere neue Computergruppe verweisen. Daher muss nun ein Klassenkamerad oder eine Geschäftsabteilung ein neues Unternehmen hinzufügen. Zu diesem Zeitpunkt entspricht das bloße Hinzufügen einer Berechnungsgruppe dem Einrichten einer Geschäftsregel, und der Vorgang ist sehr einfach.

In diesem Fall werden alle Kunden durch Rechengruppeninstanzen ersetzt, um externe Dienste bereitzustellen. Rechengruppen können manuell erstellt oder gelöscht werden. Rechengruppen können vertikal vergrößert oder verkleinert und horizontal vergrößert/verkleinert werden, um den elastischen Ressourcenanforderungen des Unternehmens gerecht zu werden. Geschäftsisolation und Aufgabenisolation sorgen für Flexibilität und sind gleichzeitig serverloser, sodass Kunden ihre Geschäftsleistung um 100 steigern können %-200%. %.

Hologres+ Echtzeit-Datensee

Worüber wir gerade gesprochen haben, ist das Echtzeit-Data-Warehouse, das auch die ausgereifteste Architektur ist, die derzeit von unseren Kunden verwendet wird. Mit der steigenden Nachfrage nach Streaming-Lake-Lagerhäusern ist die aktuelle Technologie hauptsächlich in zwei Entwicklungsrichtungen unterteilt. Einerseits gibt es Data-Lake-Speicher, einschließlich neuer Streaming-Data-Lake-Speicher wie Paimon, der die Dateneingabe in den Lake einfacher und effizienter macht. Auf der Ebene der Abfrageanalyse werden dann effiziente Abfrageanalyse-Engines wie Presto und Hologres verwendet, um eine bessere Beschleunigung der Datenabfrage zu erreichen. Hologres kann das Lesen und Schreiben von Daten in Hudi, Delta, ORC, Parquet, CSV, SequenceFile und anderen auf OSS gespeicherten Formaten direkt beschleunigen. In diesem Jahr haben wir eine intensivere Zusammenarbeit mit Paimon durchgeführt und können eine Streaming-Lake-Warehouse-Analyse auf Basis durchführen auf Paimon. Die Ebenenmodellierung reduziert Entwicklungs-, Betriebs- und Wartungskosten, bricht Datensilos auf und ermöglicht Geschäftseinblicke.

Hierarchische Modellierung des Flow Lake Warehouse

Um auf die soeben besprochene Data-Warehouse-Schichtung zurückzukommen: Sowohl Hologres als auch Paimon verfügen über Streaming-Zugriffsfunktionen. Wenn das Streaming Lake Warehouse auf Hologres + Paimon basiert, kann jede Schicht des Data Warehouse flexibel an die Speicherkosten und die Geschäftszeit des Unternehmens angepasst werden.

Datenspeicherung Paimon, Hologres zur Abfragebeschleunigung: Bereitstellung von Aktualität auf Minutenebene und OLAP-Leistung auf zweiter Ebene

Beispielsweise werden für einige ODS-Layer-Daten, die nicht auf Aktualität achten, die Daten in Paimon gespeichert und Hologres zur Beschleunigung der Abfrage verwendet. Hologres kann Aktualität auf Minutenebene bereitstellen, was relativ kostengünstiger ist, und in Kombination mit Paimon Um die Abfrage zu beschleunigen, optimieren und verbessern wir auch kontinuierlich die Leistung.

Daten werden von Paimon nach Hologres geschrieben: Dies sorgt für Aktualität auf zweiter Ebene und ultimative OLAP-Leistung

Beispielsweise können für einige ADS-Schichten mit relativ hohen Anforderungen an die Abfrageleistung Daten direkt in Hologres eingegeben werden, das mit Flink kombiniert werden kann, um Aktualität der zweiten Ebene und ultimative Abfrageleistung bereitzustellen. Die Abfragezeit kann mehrere zehn Millisekunden betragen Dadurch sind die Kosten relativ höher, aber die Leistung wird viel schneller sein.

Es ist ersichtlich, dass Hologres sich während des Entwicklungsprozesses immer auf Echtzeitszenarien konzentriert hat, unabhängig davon, ob es tief in Flink integriert ist, um ein Echtzeit-Data-Warehouse auf Unternehmensebene aufzubauen, oder mit Paimon kombiniert, um Streaming-Lake-Warehouses zu erkunden und zu optimieren. Ständige Verbesserung der Leistung und Verfügbarkeit von Echtzeit-Data-Warehouses. ,Benutzererfahrung. Hologres hofft, die komplizierte Data-Warehouse-Architektur von Unternehmen durch das Konzept eines Echtzeit-Data-Warehouses aus einer Hand zu ersetzen, das Echtzeit-Data-Warehouse sauberer, benutzerfreundlicher und effizienter zu machen und Unternehmen dabei zu helfen, kontinuierlich Kosten zu senken und die digitale Transformation zu beschleunigen Upgrade durchführen.

Ursprünglicher Link

Dieser Artikel ist Originalinhalt von Alibaba Cloud und darf nicht ohne Genehmigung reproduziert werden.

Bilibili stürzte zweimal ab, Tencents „3.29“-Unfall erster Stufe … Bestandsaufnahme der zehn häufigsten Ausfallunfälle im Jahr 2023 Vue 3.4 „Slam Dunk“ veröffentlichte MySQL 5.7, Moqu, Li Tiaotiao … Bestandsaufnahme des „Stopps“ im Jahr 2023 Mehr ” (Open-Source-)Projekte und Websites blicken auf die IDE von vor 30 Jahren zurück: nur TUI, helle Hintergrundfarbe... Vim 9.1 wird veröffentlicht, gewidmet Bram Moolenaar, dem Vater von Redis, „Rapid Review“ LLM Programming: Omniscient und Omnipotent&& Stupid „Post-Open Source“ Die Ära ist gekommen: Die Lizenz ist abgelaufen und kann nicht mehr für die breite Öffentlichkeit bereitgestellt werden. China Unicom Broadband begrenzte plötzlich die Upload-Geschwindigkeit und eine große Anzahl von Benutzern beschwerte sich. Windows-Führungskräfte versprachen Verbesserungen: Machen Sie den Anfang Speisekarte wieder super. Niklaus Wirth, der Vater von Pascal, ist verstorben.
{{o.name}}
{{m.name}}

Je suppose que tu aimes

Origine my.oschina.net/yunqi/blog/10584418
conseillé
Classement