Heim  >  Artikel  >  Technologie-Peripheriegeräte  >  Apache IoTDB: eine innovative Datenbank, die Speicher-, Abfrage- und Nutzungsprobleme in industriellen IoT-Szenarien löst

Apache IoTDB: eine innovative Datenbank, die Speicher-, Abfrage- und Nutzungsprobleme in industriellen IoT-Szenarien löst

WBOY
WBOYnach vorne
2023-09-15 17:25:011030Durchsuche

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

Apache IoTDB:解决工业物联网场景下的存储、查询和使用难题的创新数据库

  • Der Schwerpunkt des Papiers umfasst die folgenden Teile:
  • 1. Design des Datenmodells:
  • Organisation von Zeitreihen auf logischer Ebene und Speicherung im physischen Modus; usw.;

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

Apache IoTDB:解决工业物联网场景下的存储、查询和使用难题的创新数据库

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:

Apache IoTDB:解决工业物联网场景下的存储、查询和使用难题的创新数据库

Beim Entwurf von TsFile konzentrierte sich das Forschungsteam hauptsächlich auf die Lösung der Probleme:

  • Sparen Sie Platz und komprimieren Sie Daten so weit wie möglich.
  • Reduzieren Sie die Anzahl der Dateien
  • Die physische Nähe von Zeitreihen, die zusammen abgefragt werden
  • Reduzierte Festplattenfragmentierung
  • Effizienter Zugriff

Die wichtigsten bereitgestellten Lösungen sind:

  • Spaltenspeicher: eliminiert leeren Speicherplatz und spart Speicherplatz; Datenzugriffslokalität
  • Zeitreihenkodierung: Nutzung der einzigartigen Eigenschaften von Zeitreihen in IoT-Szenarien
  • Frequenzbereichskodierung: Die Frequenzbereichsanalyse von Zeitreihen wird häufig durchgeführt Signalverarbeitung
  • Spezifische Strukturanalyse: Seite (Seite) ist die grundlegende Speichereinheit. Die Seiten in einem Chunk gehören zur gleichen Zeitreihe und haben mehrere Chunks Ein Gruppenblock gehört zu einer oder mehreren Reihen von Geräten, die im selben Zeitraum geschrieben wurden. Sie werden im kontinuierlichen Speicherplatz abgelegt, da sie häufig zusammen abgefragt werden und die geschriebene Blockgruppe zuerst im Speicher liegt Wird in TsFile ausgeführt, und wenn der Speicher den Schwellenwert erreicht, werden alle Blockgruppen in TsFile geleert; der Index (FileIndex) zeichnet Informationen am Ende der Datei für den Datenzugriff auf.

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:

Apache IoTDB:解决工业物联网场景下的存储、查询和使用难题的创新数据库

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).

Apache IoTDB:解决工业物联网场景下的存储、查询和使用难题的创新数据库

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

Apache IoTDB:解决工业物联网场景下的存储、查询和使用难题的创新数据库

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

Apache IoTDB:解决工业物联网场景下的存储、查询和使用难题的创新数据库

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen