Heim > Artikel > Technologie-Peripheriegeräte > Apache IoTDB: eine innovative Datenbank, die Speicher-, Abfrage- und Nutzungsprobleme in industriellen IoT-Szenarien löst
Mit dem Eintritt in die Industrie 4.0-Ära und der Einführung von Digitalisierung und Automatisierung wird die Produktionsumgebung effizienter. Gleichzeitig beginnen die Menschen, auf den potenziellen Wert der riesigen Datenmengen zu achten, die von intelligenten Geräten bereitgestellt werden. Allerdings ist es zu einem Problem geworden, die von intelligenten Geräten generierten Daten effizient zu speichern und die riesigen Datenmengen besser zu analysieren. Herkömmliche Datenbankmodelle und Speichermethoden können diese Anforderungen nicht mehr erfüllen. Daher entstand die Zeitreihendatenbank entsprechend den Anforderungen der Zeit mit dem Ziel, eine effiziente Datenspeicherung und -abfrage zu erreichen und dabei zu helfen, den potenziellen Wert von Daten besser zu erkunden.
Angesichts dieser Situation startete die Tsinghua-Universität 2015 die Entwicklung von IoTDB. Am 23. September 2020 schloss Apache IoTDB ab und wurde zum Apache Top-Level-Projekt. Es ist derzeit das einzige Top-Level-Projekt der Apache Foundation, das von chinesischen Universitäten initiiert wurde, und auch das einzige Open-Source-Projekt im Bereich der Datenverwaltung im Internet der Dinge unter der Apache Foundation. Im Oktober 2021 gründete das Kernteam von Apache IoTDB Tianmou Technology und betreibt IoTDB weiterhin, um Industrieanwendern dabei zu helfen, die Probleme des „Speicherns, Überprüfens und Verwendens“ von Daten zu lösen. Bezüglich der von Apache IoTDB entwickelten Kerntechnologie haben mehrere Teilnehmer gemeinsam ein Review-Paper veröffentlicht, in dem das Design von IoTDB ausführlich und vollständig erläutert wird. Der Artikel nimmt als Beispiel ein Industrieunternehmen, das zehntausende Bagger verwalten muss, und beschreibt die Anforderungen: „Die Daten werden zunächst in das Gerät gepackt und dann über das 5G-Mobilfunknetz an den Server gesendet. Im Server werden die Daten werden für OLTP-Abfragen in die Zeitreihendatenbank geschrieben. Schließlich können Datenwissenschaftler Daten aus der Datenbank für komplexe Analysen und Vorhersagen laden, d. h. für OLAP-Aufgaben
Projektadresse: https://github.com/apache/iotdb
3. IoTDB-Engine:
Beinhaltet hauptsächlich Speicher-Engine, Abfrage-Engine usw.;
Die verteilte Lösung bezieht sich auf die Zerlegung einer Aufgabe oder eines Problems Unteraufgaben erstellen und diese Unteraufgaben mehreren Computern oder Knoten zur Verarbeitung zuweisen. Diese Lösung verbessert die Systemzuverlässigkeit, Skalierbarkeit und Leistung. Durch die Verteilung von Aufgaben auf mehrere Computer kann die Belastung eines einzelnen Computers verringert und die gleichzeitige Verarbeitungsfähigkeit des Systems verbessert werden. Gleichzeitig können verteilte Lösungen durch redundantes Backup und Failover auch die Fehlertoleranz des Systems erhöhen. Selbst wenn ein Knoten ausfällt, kann das System weiterlaufen. In der heutigen Big-Data- und Cloud-Computing-Umgebung sind verteilte Lösungen zu einem gängigen Architekturmuster geworden und werden häufig in verschiedenen Bereichen eingesetzt, beispielsweise in verteilten Datenbanken, verteilten Speichersystemen und verteilten Computerplattformen usw.Für das Folgende Inhaltlich werden wir eine detailliertere Interpretation dieser Schlüsselteile geben.
Detaillierte Interpretation. Erfordert Datenmodelldesign. Intensitätsschreibvorgänge und können das häufige Problem der verzögerten Datenankunft in IoT-Szenarien effektiv bewältigen. In der Baumstruktur stellt jeder Blattknoten einen Sensor dar, und jeder Blattknoten stellt einen Sensor dar. Jeder Sensor verfügt über ein entsprechendes Gerät. Wie in den unteren beiden Ebenen der Abbildung dargestellt, gilt das Gleiche auch für die oberen Ebenen
(2) Die logische Struktur wurde im vorherigen Artikel erläutert. Nun betrachten wir die Umsetzung der physischen Struktur , hauptsächlich einschließlich Zeitreihen (Zeitreihen) und Sequenzfamilien (Serienfamilien). Die folgende Abbildung zeigt, dass jede Zeitreihe aus zwei Attributen besteht: Zeit und Wert. Die Zeitreihe verläuft über den gesamten Pfad vom Wurzelknoten bis zum Blattknoten. Das Bild oben zeigt das Konzept eines Sequenzclusters. Ein Sequenzcluster kann mehrere Geräte enthalten, und ihre Daten werden zusammen in TsFile (einer Dateistruktur, die später erläutert wird) gespeichert
Der Inhalt, der neu geschrieben werden muss, ist: 2. Design des TsFile-Dateiformats TsFile ist ein von Apache IoTDB selbst entwickeltes spaltenorientiertes Speicherdateiformat. Seine Struktur ist in der folgenden Abbildung dargestellt: Beim Entwurf von TsFile konzentrierte sich das Forschungsteam hauptsächlich auf die Lösung der Probleme: Die wichtigsten bereitgestellten Lösungen sind: Der Inhalt, der neu geschrieben werden muss, ist: 3. IoTDB-Engine In diesem Teil konzentrieren sich die Forscher hauptsächlich auf verzögerte Ankunft, effiziente Abfrageverarbeitung und ähnliche SQL-Abfragen im Szenario des Internet der Dinge Design. Die Struktur der IoTDB-Engine ist in der folgenden Abbildung dargestellt: In der Abbildung können wir sehen, dass der Speicher-Engine-Teil hauptsächlich zum Schreiben, Lesen und Verwalten von TsFile verwendet wird. In diesem Teil wird die Technologie der automatischen verzögerten Trennung übernommen (wie in der Abbildung unten dargestellt). In den meisten Fällen, wenn sich die Zeitbereiche in TsFile nicht überschneiden, wird die Verwendung der verzögerten Datentrennung empfohlen. In Fällen, in denen die meisten Daten jedoch ungeordnet sind, wird eine verzögerte Datentrennung nicht empfohlen Nach dem Umschreiben: Eine weitere wichtige Komponente ist die Abfrage-Engine, die für die Umwandlung von SQL-Abfragen in solche verantwortlich ist, die im Datenbankoperator ausgeführt werden können . Gleichzeitig hat Apache IoTDB zur Anpassung an industrielle IoT-Szenarien auch umfangreiche Abfragefunktionen für Zeitreihendaten entwickelt. Der Inhalt, der neu geschrieben werden muss, ist: 4. Dezentrale Lösung TsFile ist unter „Distributed on HDFS“ zu finden und wird von Spark betrieben. Darüber hinaus bietet es auch native Lösungen für eine bessere Handhabung der Datenverteilung und Abfrageverarbeitung, einschließlich Partitionsreplikation, NB-Raft-Replikation und dynamische Lesekonsistenz VergleichsergebnisseIn dem Artikel vergleichen wir TsFile und IoTDB, zwei hochmoderne Dateiformate und in der Industrie weit verbreitete Timing-Datenbanken. Anhand der folgenden Abbildung zeigen wir die Vorteile von Apache IoTDB in vielerlei Hinsicht
Die beiden Bilder oben zeigen die Vorteile von TsFile in Bezug auf Schreibdurchsatz, Lesezeitkosten und Synchronisationsleistung. Dies ist hauptsächlich auf das IoT-fähige Strukturdesign von TsFile zurückzuführen, das die Speicherung redundanter Informationen wie Geräte-IDs vermeidet. Obwohl die Festplattennutzung von TsFile keinen offensichtlichen Vorteil bietet, liegt dies daran, dass ein detaillierterer Index erstellt wird, was zu einem höheren Speicherplatzbedarf führt. Dieses Opfer kann jedoch zu außergewöhnlichen Verbesserungen der Abfragezeit führen, da wir einen klaren Vorteil bei den Lesezeitkosten erkennen können Wie in der obigen Tabelle deutlich zu sehen ist, schneidet IoTDB in fast allen Tests besser ab und weist eine bessere Leistung auf. einschließlich höherem Schreibdurchsatz und geringerer Schreiblatenz In den obigen Experimenten haben wir beobachtet, dass IoTDB eine bessere Leistung aufweist, wenn die Abfragedatengröße größer ist. Insbesondere bei der Datenaggregation in großem Maßstab liegen die Vorteile von IoTDB besonders auf der Hand Echtzeitabfrage und Big-Data-Analyse für IoT-Anwendungen. Das System enthält ein neues Zeitreihendateiformat namens TsFile, das Spaltenspeicher zum Speichern von Zeiten und Werten verwendet, um Nullwerte zu vermeiden und eine effektive Komprimierung zu erreichen. Basierend auf TsFile verwendet die IoTDB-Engine eine baumartige LSM-Strategie zur Verarbeitung hochintensiver Schreibvorgänge und kann das häufige Problem der verzögerten Datenankunft in IoT-Szenarien bewältigen. Umfangreiche skalierbare Abfragefunktionen und vorberechnete statistische Informationen in TsFile ermöglichen IoTDB die effiziente Bearbeitung von OLTP- und OLAP-Aufgaben
Das obige ist der detaillierte Inhalt vonApache IoTDB: eine innovative Datenbank, die Speicher-, Abfrage- und Nutzungsprobleme in industriellen IoT-Szenarien löst. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!