Zum Inhalt springen

Glossar · Q

QuestDB

Open-Source-Zeitreihen-Datenbank mit besonderem Fokus auf hohe Schreibraten und SQL-kompatible Abfragen.

Definition

QuestDB ist eine Open-Source-Datenbank, die speziell für Zeitreihendaten entwickelt wurde. Sie zeichnet sich durch hohe Schreibraten und die Unterstützung von SQL-kompatiblen Abfragen aus. Ziel von QuestDB ist es, große Mengen an zeitlich geordneten Daten effizient zu speichern und abzufragen.

Die Datenbank eignet sich vor allem für Anwendungen, die kontinuierlich Daten erfassen und analysieren, wie zum Beispiel in den Bereichen IoT, Finanzmärkte, Monitoring oder Telemetrie. QuestDB bietet eine Kombination aus Performance und Benutzerfreundlichkeit durch die Nutzung bekannter SQL-Syntax.

Geschichte und Hintergrund

QuestDB wurde 2018 gegründet und ist seitdem als Open-Source-Projekt verfügbar. Die Entwicklung erfolgt unter der Apache-2.0-Lizenz, was eine freie Nutzung und Anpassung ermöglicht. Das Unternehmen hinter QuestDB hat seinen Sitz in Großbritannien.

Die Motivation für die Entwicklung von QuestDB lag in der Notwendigkeit, eine Datenbank zu schaffen, die speziell auf die Anforderungen von Zeitreihendaten zugeschnitten ist und gleichzeitig die Vertrautheit von SQL bietet. Die Kombination aus hoher Performance und einfacher Integration in bestehende Systeme war ein zentrales Ziel.

Funktionsweise

QuestDB nutzt eine spaltenorientierte Speicherung, die für Zeitreihendaten besonders effizient ist. Die Daten werden in Tabellen mit Zeitstempeln als primärem Index abgelegt, was schnelle Abfragen über Zeitintervalle ermöglicht. Die Architektur ist auf hohe Schreibgeschwindigkeiten optimiert, um kontinuierliche Datenströme zu verarbeiten.

Die Datenbank unterstützt Standard-SQL mit Erweiterungen für Zeitreihenfunktionen, wie Zeitfensteraggregation und zeitbasierte Filter. QuestDB kann Daten sowohl aus CSV-Dateien als auch über eine REST-API oder InfluxDB-kompatible Schnittstellen importieren. Die Kombination aus Echtzeit-Datenaufnahme und schnellen Abfragen macht sie für Analysezwecke geeignet.

Einsatzgebiete

QuestDB wird vor allem in Szenarien eingesetzt, in denen große Mengen an Zeitreihendaten verarbeitet werden müssen. Typische Anwendungsbereiche sind das Internet der Dinge (IoT), Finanzmarktanalysen, System- und Anwendungsmonitoring sowie Telemetriedaten von Maschinen oder Fahrzeugen.

Durch die Fähigkeit, hohe Schreibraten zu bewältigen, eignet sich QuestDB für Echtzeit-Analysen und Dashboards, die aktuelle Daten anzeigen. Die SQL-Kompatibilität erleichtert die Integration in bestehende Dateninfrastrukturen und Analysewerkzeuge.

Abgrenzung zu anderen Zeitreihen-Datenbanken

QuestDB unterscheidet sich von anderen Zeitreihen-Datenbanken wie InfluxDB oder TimescaleDB durch seine besonders hohe Schreibleistung und die native Unterstützung von SQL ohne proprietäre Abfragesprachen. Während InfluxDB eine eigene Abfragesprache (Flux) verwendet, setzt QuestDB auf Standard-SQL mit Erweiterungen.

Im Vergleich zu TimescaleDB, das auf PostgreSQL basiert, ist QuestDB eine eigenständige Datenbank mit Fokus auf Performance und Einfachheit. Andere Systeme wie OpenTSDB basieren auf NoSQL-Technologien und bieten andere Skalierungsansätze. QuestDB positioniert sich als leichtgewichtige und schnelle Lösung für Echtzeit-Zeitreihendaten.