FrostDB fungiert als eingebettete Wide-Column-Datenbank mit spaltenorientierter Ablage und richtet sich auf Analyseabfragen über überwiegend schreiblastige Datenströme. Die Implementierung in Go integriert Apache Parquet für persistente Speicherung und Apache Arrow für die Ausführung analytischer Abfragen im Arbeitsspeicher. Das System befindet sich in einem frühen Entwicklungsstadium und gilt nicht als produktionsreif, adressiert jedoch gezielt Anforderungen aus Observability-Szenarien.
Die Wide-Column-Datenbank FrostDB unterstützt semi-strukturierte Schemata mit dynamischen Spalten.
(Bild: Midjourney / KI-generiert)
Die DatenbankFrostDB läuft als Bibliothek innerhalb eines Go-Prozesses und benötigt keinen separaten Serverdienst. Dieser Ansatz vereinfacht die Integration in bestehende Anwendungen und reduziert operative Abhängigkeiten. FrostDB unterstützt semi-strukturierte Schemata mit dynamischen Spalten. Neue Spalten erscheinen zur Laufzeit, sobald neue Dimensionen im Datenstrom auftreten. Diese Eigenschaft passt zu Telemetrie- und Metrikdaten mit variablen Attributen, bei denen sich die Anzahl der Dimensionen kontinuierlich ändert.
Spaltenlayout und Ausführungsmodell
Die Ablage erfolgt spaltenweise. Alle Werte einer Spalte liegen zusammenhängend vor, was Scan- und Aggregationsoperationen beschleunigt. Parquet übernimmt die persistente Speicherung und nutzt komprimierende Encodings zur Reduktion von Speicher- und Plattenbedarf. Arrow bildet die Grundlage für vektorisierte Abfrageausführung und stellt ein einheitliches Speicherformat für In-Memory-Verarbeitung bereit. Abfragen laufen über einen integrierten Query-Builder mit Optimierungen, die an DataFrame-ähnliche Modelle angelehnt sind.
Observability-Daten weisen häufig Dimensionen auf, die nicht vorab definiert sind. Zeitreihen identifizieren sich über Kombinationen von Labels, deren Schlüssel zur Laufzeit variieren. FrostDB behandelt solche Dimensionen als dynamische Spalten. Für jede neu auftretende Dimension erzeugt das System automatisch eine eigene Spalte. Diese Spalten bleiben strikt typisiert und profitieren von Dictionary- und Run-Length-Encoding. Dadurch bleibt die spaltenorientierte Verarbeitung erhalten, ohne auf Map-Strukturen zurückzugreifen.
Unveränderliche Daten und LSM-basierter Index
FrostDB unterstützt ausschließlich Schreib- und Lesezugriffe. Einmal geschriebene Daten lassen sich nicht ändern oder entfernen. Intern organisiert ein LSM-ähnlicher Index die Daten in mehreren Ebenen. Neue Daten landen zunächst als Arrow-Records in der ersten Ebene. Mit wachsendem Umfang konsolidiert der Index diese Daten schrittweise zu Parquet-Dateien in höheren Ebenen. Erreicht der Index eine definierte Speichergrenze, rotiert das System den Inhalt aus dem Speicher und schreibt ihn optional in ein angebundenes Speichermedium oder verwirft ihn vollständig.
Abfragepfad und Filtermechanismen
Bei einer Abfrage scannt FrostDB alle relevanten Indexteile. Parquet-Metadaten unterstützen die Selektion geeigneter Datenbereiche. Bloom-Filter sowie Minimal- und Maximalwerte pro Spaltengruppe begrenzen den zu verarbeitenden Datenumfang. Dieser Mechanismus reduziert die I/O-Last und beschleunigt analytische Abfragen über große Datenmengen. Das System implementiert Snapshot-Isolation mit Einschränkungen. Leseoperationen liefern keinen unmittelbaren Zugriff auf zuvor geschriebene Daten. Abfragen arbeiten auf einem stabilen Schnappschuss, der durch einen globalen Wasserstand definiert ist. Schreibtransaktionen erhalten fortlaufende Transaktionskennungen und werden in Batches freigegeben.
Abgrenzung und Einsatzgrenzen
FrostDB eignet sich für Go-basierte Anwendungen, die eine eingebettete Spaltendatenbank benötigen und mit unveränderlichen Datensätzen arbeiten. Dynamische Schemata und analytische Abfragen über Spalten stehen im Vordergrund. Anwendungen mit Bedarf an Lösch- oder Update-Operationen, zeilenorientierten Zugriffsmustern oder einem eigenständigen Datenbankdienst fallen außerhalb des vorgesehenen Einsatzbereichs.
Aktuelles eBook
Storage-Software als Effizienzbooster
eBook „Storage-Software als Effizienzbooster“
(Bild: Storage-Insider)
Mit der geeigneten Storage-Software kann sich ein Unternehmen einen Effizienzbooster ins Haus holen oder in der Cloud abonnieren. Dieser Booster steigert nicht nur die Performance der geschäftskritischen Anwendungen, sondern optimiert auch die Kosten der bereits installierten Speichersysteme.
Die Themen im Überblick:
Herausforderungen eines modernen Speichersystems
Methoden und Technologien effizienter Speichersysteme
Effizienter Speicher mit Pure Storage, AWS, Cohesity und Dell
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.