QuestDB 8.0 mit 50 Prozent mehr SQL-Performance und neuem VARCHAR-Datentyp

Die Zeitreihendatenbank QuestDB soll in Version 8.0 deutlich schneller sein. Ferner unterstützt die Open-Source-Variante nun auch ZFS-Kompression.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Symbolbild Open Source

(Bild: iX)

Lesezeit: 3 Min.
Von
  • Michael Plura

Nach nur etwas mehr als einem Monat veröffentlichen die Entwickler von QuestDB nach Version 7.4.2 die Version 8.0 ihrer Zeitreihendatenbank. Die wohl wichtigste Neuerung des neuen Major-Releases ist der neue Datentyp VARCHAR (variable character), der für zukünftige Implementationen den bisherigen Datentypen STRING ersetzen soll. Die Entwickler empfanden STRING mit seinem UTF-16-Encoding und wenigen Optimierungen als zu langsam und unpassend für moderne Anwendungen. Der neue Datentyp VARCHAR mit UTF-8-Encoding soll weniger Platz benötigen, außerdem laufen Filter- und Sortieroperationen deutlich schneller. Die API wurde entsprechend angepasst. Ein VARCHAR-Feld darf bis zu 268 MByte groß sein, die gesamte VARCHAR-Spalte einer Datenbank ist auf 218 TByte begrenzt. STRING wird auch in neueren QuestDB-Versionen funktionieren, ist jedoch als "veraltet" gekennzeichnet und wird irgendwann entfernt. Die Migration einer STRING-Spalte zu VARCHAR soll einfach sein:

ALTER TABLE
  example_table
ALTER COLUMN
  example_column TYPE VARCHAR;

Trotzdem legen die Entwickler den QuestDB-Nutzern die weiteren Informationen in der Dokumentation zur Version 8.0 ans Herz.

Als besonderes Merkmal weisen die Entwickler von QuestDB 8.0 darauf hin, dass ab sofort auch die kostenlose Open-Source-Version ZFS-Support umfasst und dort die Kompression benutzen kann. Bislang bot nur die Enterprise-Variante von QuestDB Unterstützung von ZFS-Dateisystemen an und setzte dieses sogar voraus. Unter Umständen hat diese Änderung mit Fehlern zu tun, die Anwender beim Einsatz von QuestDB auf ZFS-Dateisystemen berichtet haben. Auch zuvor konnte man einen questdb-pool unter ZFS als komprimiert mit -o feature@lz4_compress=enabled einrichten.

QuestDB gibt es in drei Varianten: kostenlos als eingeschränktes Open-Source-Produkt unter der Apache-2.0-Lizenz, als QuestDB Cloud gehostet von QuestDB zu Preisen ab etwa US-Dollar 272 pro Monat und als selbst-gehostete Enterprise-Variante, zu der QuestDB keine Preise angibt. Letztere bietet Hochverfügbarkeit, rollenbasierte Zugriffskontrolle, TLS für alle Protokolle, Datenkomprimierung, Cold Storage und priorisierten Support. Die Enterprise-Version wird auch für die QuestDB Cloud verwendet.

QuestDB ist eine auf Zeitreihen spezialisierte Datenbank (TSDB), vergleichbar mit InfluxDB, CrateBD, TimescaleDB oder dem fast schon antiken RRDtool. Alle diese Datenbanken sind auf das Speichern und Analysieren von Zeitreihen wie Sensordaten, Aktienkursen und so weiter optimiert. Ein Datensatz besteht in der Regel aus einem Zeitstempel und einem oder mehreren dazugehörigen Werten (zum Beispiel 16:02 Uhr, 23 °C) sowie optionalen Metainformationen. Zeitreihendatenbanken werden über die Zeitstempel indiziert, bieten nur schwache Konsistenzgarantien (Werte können fehlen und werden optional interpoliert) und sind hochgradig auf zeitbezogene Abfragen optimiert. Ältere Daten können automatisch gelöscht oder komprimiert werden. QuestDB erklärt diese Art von Datenbank anschaulich auf der eigenen Webpräsenz.

(fo)