2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Das Unternehmen möchte eine neue Big-Data-Architektur nutzen und plant, ausländische Big-Data-Plattformen durch inländische zu ersetzen. Daher bin ich mir nicht sicher, ob ich Doris oder Starrocks verwenden soll, da es Open Source ist, kann ich in Zukunft direkt den Cloud-Anbieter verwenden. Wenn Sie Starrocks verwenden, müssen Sie es selbst bauen, aber es wird in Zukunft definitiv kommerzialisiert und Sie müssen dafür Geld verlangen. Ich habe doris schon einmal verwendet, aber nicht starRocks. Ich wollte sehen, ob es wirklich so leistungsstark ist wie der Referenzlink unten, also habe ich mich für starrocks entschieden. Verwenden Sie es als Data Warehouse, um Hive-Presto oder Kudu-Impala in unserem vorherigen CDH zu ersetzen.
Glauben Sie, dass StarRocks Hive ersetzen kann? Ich denke, es ist möglich, dass Google vor 20 Jahren genug davon hatte. Der Vorteil ist, dass es in den letzten 20 Jahren sehr stabil war . Sie müssen Hadoop überhaupt nicht verwenden, sondern können stattdessen StarRocks verwenden.
cat /proc/cpuinfo | grep avx2
Wenn nichts gedruckt wird, können Sie die CPU wechseln.
Be ist für die Berechnung verantwortlich. Wenn Sie nicht über diesen Befehlssatz verfügen, können Sie ihn nicht bereitstellen.
startrocks ist ein [Data Warehouse] für [Datenanalyse], das den traditionellen Bienenstock ersetzen kannVektorisierung,MMP-ArchitekturvonSpaltenspeicher-Engine,UnterstützungEchtzeitanalyse , gleichzeitiges Rechnen.Kompatibel mit dem MySQL-Protokoll, kann verwendet werdenMySQL-Client-Docking .UnterstützungHorizontale Erweiterung . Das gesamte System weist keine externen Abhängigkeiten auf, das heißt, es benötigt keinen Zookeeper zur Verwaltung oder Metadaten sind in MySQL vorhanden, es muss sich nur selbst verwalten.
Es eignet sich nicht für Transaktionsvorgänge wie Aktualisierungen und andere Vorgänge. Die für die Analyse verwendeten Daten bleiben nach dem Schreiben unverändert, z. B. Protokolldaten oder Berichte über körperliche Untersuchungen usw.
Vektorisierung: bezieht sich auf die Tatsache, dass die CPU nach der Vektorisierung der Daten nur ein Element verarbeiten konnte, jetzt jedoch mehrere Elemente gleichzeitig verarbeiten kann.
MPP-Architektur: Umfangreiche Parallelverarbeitungsarchitektur, die Daten zur gemeinsamen Ausführung auf mehrere Maschinen aufteilt und große Datenmengen verarbeitet
Spaltenspeicher-Engine: Verwaltet Spalten und unterstützt Tabellenspeicher und -analysen mit großer Breite. MySQL ist nicht gut und bricht zusammen, wenn zu viele Felder vorhanden sind. Das Abfragen einzelner Spalten ist schnell und die Spalten können in Echtzeit aktualisiert werden.
Echtzeitanalyse: Die Geschwindigkeit der Abfrageanalyse ist relativ hoch und liegt im Millisekundenbereich
MySQL-Client-Docking: Können Navicat oder JDBC beispielsweise direkt darauf verlinken?Muss bestätigt werden
Horizontale Erweiterung: 1 Maschine ist zu schwach, ich kann weitere Maschinen hinzufügen, um seine Analysefähigkeit zu stärken
Unterstützungdie folgendeBI-Andocken: Einschließlich Tableau, Power BI, FineBI und Smartbi.
Als Echtzeit-Data-Warehouse kann er nur [Zweite Ebene: Daten synchronisieren, kann Echtzeit【Millisekundenebene】Anfragen。
Der Kern des Systems besteht nur aus FE- (Frontend), BE- (Backend) oder CN- (Compute Node) Prozessen.
Front-End (Anzeigeschnittstelle), Back-End (Logiksteuerung), Knoten
Nach 3.0 wird die Trennung von Speicherung und Berechnung unterstützt und persistente Daten müssen auf HDFS gespeichert werden. Selbstverständlich besteht auch die Möglichkeit, Speicherung und Berechnung zu integrieren.
3.0 unterstützt auch beide Architekturen.
Was ist der Unterschied zwischen den beiden? Wenn Speicherung und Berechnung integriert sind, müssen Sie die Daten nach startRocks kopieren. Wenn Speicherung und Berechnung getrennt sind, können Sie die Daten einfach direkt in HDFS verwenden. Durch die Trennung von Speicher und Computer sparen Sie Geld und Festplatten und können eine bessere dynamische Erweiterung durchführen. Sie müssen sich beim Erweitern nicht um den Speicher kümmern, sondern können einfach die Computerknoten direkt erweitern. Der Nachteil besteht darin, dass Sie einen zusätzlichen Satz externer Daten pflegen müssen.
Hybridbereitstellung wird nicht unterstützt. Wenn Speicher und Computer integriert sind, können Sie Speicher und Computer nicht trennen.
Fe ist für die Koordination und Katalogverwaltung verantwortlich
Verantwortlich seinLagerungUndBerechnung
Fe (ausführliche Version):
Verantwortlich für die GeschäftsführungMetadaten, Clientverbindungen verwalten,Abfrageplanung, Abfrageplanung.
FE-Metadaten werden im Speicher gespeichert und es gibt auch eine Kopie auf der Festplatte.
FE hat drei Rollen: Anführer, Gefolgsmann und Beobachter
Der Leiter wird gewählt und ist für das Lesen und Schreiben verantwortlich. Nach dem Schreiben werden die Metadaten dann aktualisiert und mit den Followern und Beobachtern synchronisiert. Nur die Hälfte der Follower ist erfolgreich.
Follower hat keine Schreibberechtigung, nur Leseberechtigung
Beobachter können wie Follower optional eingesetzt werden, können die Abfragegeschwindigkeit verbessern und nehmen nicht an Wahlen teil, was dem Hinzufügen von mehr Macht zu einem Tiger gleichkommt.
Be (ausführliche Version):
Jedes BE ist gleich (kein Leader oder Follower), aber nicht jedes BE ist für die Speicherung und Berechnung verantwortlich. FE weist BE Daten zu, und BE speichert sie und generiert Indizes.
Bei der Berechnung wird die SQL entsprechend der grammatikalischen Bedeutung in logische Einheiten (Codeebene) unterteilt und dannLaut DatenverteilungWerden Sie eine physische Einheit (Hardwareebene) und führen Sie sie dann lokal aus.
Metadaten: Ehrlich gesagt möchte ich es nicht einmal schreiben, nur um mich um Xiaobai zu kümmern. Um welche Art von Daten handelt es sich beispielsweise, ob es sich um eine Zeichenfolge oder eine Zahl handelt? Dies sind Metadaten, die Daten, die zum Ändern der Daten verwendet werden.
Abfrageplanung: Wie viel Leistung wird der Plan verbrauchen, welches SQL sollte verwendet, optimiert und in einen physischen Plan umgewandelt werden
Abfrageplanung: Wählen Sie aus, welcher physische Plan ausgeführt werden soll
Die kleinste Speichereinheit von starRocks heißt Tablet. Wir können uns selbst partitionieren und dann Buckets angeben.
Das Bild wird durch die Zeitspalte partitioniert, und dann werden Buckets für 4 Felder angegeben (4 Spalten, tatsächlich kann 1 Spalte verwendet werden), und dann werden 3 Kopien angegeben, und die Daten jeder Spalte und jeder Dateneinheit sind in verschiedenen Unterknoten verteilt. A-1, A-2 und A-3 sind alle die gleichen Daten und Backups von A.
Wenn der Dienst erweitert wird, muss der Dienst nicht gestoppt werden. Das Hinzufügen von Knoten erfolgt automatisch, und wenn die Anzahl der Knoten abnimmt, werden die Daten automatisch gleichmäßig verteilt.
eingeführt【Zwischenspeicher】Konzept, Be ist [nur] für die Berechnung verantwortlich, und dannUmbenannt in Cn(Rechenknoten-Rechenknoten)
Caching: Daten werden basierend auf der Abfragehäufigkeit automatisch zwischengespeichert.Dynamische Veränderungen
Dynamische Änderungen: unterteilt in 3 Ebenen: Speicher, lokal und externe Quelle. Die heißesten Daten befinden sich im Speicher, der Rest befindet sich auf der lokalen Festplatte und die kalten Daten (seltener verwendet) befinden sich in externen Quellen.Dynamische Datenanpassung basierend auf Ihrer Zugriffshäufigkeit
Wenn Sie eine Tabelle mit separater Speicherung und Berechnung erstellen, müssen Sie ihm mitteilen, ob das Caching aktiviert werden soll.
Der folgende Backend-Speicher wird unterstützt:
Ich habe hier jeden Satz über die Systemarchitektur der offiziellen Website mit meinen eigenen Worten beendet. Beginnen Sie unten mit dem Bau.
Es verwendet einen Docker-Container, um die Umgebung für Sie zu packen, sodass sie direkt gestartet werden kann.
Installieren Sie zunächst Docker, mindestens 4G Arbeitsspeicher und 10 GB Speicherplatz.
Die CPU unseres Servers unterstützt avx2 nicht. Ich betreibe hier eine virtuelle Maschine und plane, Ubuntu.22 unter Windows zu installieren, da mein PC avx2 unterstützt. ---Wenn ich mit dem Herunterladen fertig bin, werde ich mit dem Schreiben des Rests beginnen.
beziehen auf:
📚 【源码解析】StarRocks 查询优化系列文章 - 原理解读 - StarRocks中文社区论坛