QuestDB version 6.0 alpha
We've just published an alpha version for the upcoming 6.0 major release and itincludes long-awaited support for ingesting out-of-order records on-the-fly, acomplete overhaul of the InfluxDB Line Protocol subsystem, and multiple fixeswhich provide stability improvements. Here's a roundup of changes that have justlanded in the latest and greatest version!
QuestDB 6.0 alpha
QuestDB relies on an append-only model and in versions prior to 6.0, we rejectrecords that appear (chronologically) out-of-order by timestamp at the database.In real-world applications, data doesn’t follow this rule because of networkjitter, latency or even clock synchronization issues. Out-of-order (O3) supportadds flexibility to the system and provides compatibility with theTime Series Benchmark Suite (TSBS) which isused to reliably measure and compare the performance of time series databases.
Also included with this version is a massive internal revision of InfluxDB LineProtocol (ILP) ingestion which brings significant performance improvements,alongside multiple UI fixes for theWeb Console and SQLfeatures.
New features
- O3 support for ingestion of records which are out-of-order by timestamp
- ARM64 support
fileName
parameter can be specified for the/exp
endpoint for CSV exports- PostgreSQL JDBC driver now supports
getSQLKeywords
method - UI improvements for results with only one column
- Notification element does not obscure returned rows
Bug fixes
LIMIT -1
returns last row as expected- Epoch timestamps supported in CSV imports
- Behavior of
ORDER BY
query returns correct values on non-cached symbol types - Column names allow the use of minus
-
and underscore_
characters forcompatibility with InfluxDB Line Protocol messages
How do I run it?
The alpha release has been published toDocker Huband can be pulled with the following command:
docker pull questdb/questdb:6.0.0-alpha-linux-amd64
The image can then be run with the following command:
docker run -p 9000:9000 -p 8812:8812 -p 9009:9009 \questdb/questdb:6.0.0-alpha-linux-amd64
Notes on out-of-order data ingestion
This feature isenabled by default for ingestion over InfluxDB LineProtocol, PostgreSQL wire protocol and bulk imports via REST API. Onerequirement for the use of this feature is that tables must have apartitioning strategy employed. New tablescreated over ILP have a partitioning strategy perDAY
applied by default. Formore information with SQL examples showing how to employ a partitioningstrategy, see theCREATE TABLE documentation.
Additional server configuration parameters may be applied for optimizingout-of-order ingestion over InfluxDB Line Protocol. For more details on thesevalues, see theserver.conf description,or reach out with any questions in the meantime. A supplementary guide willfollow soon which describes why and when to apply these settings to help withfine-tuning for your use case.
Benchmarking QuestDB versus InfluxDB, ClickHouse and TimescaleDB
Following the release of this alpha version, we will be running the TSBSbenchmark suite which allows us to compare the performance of QuestDB oningestion rates for high-throughput scenarios. We are in the process ofcontributing a pull request into the official TSBS repository so users maydirectly clone the suite and run the benchmark against QuestDB and other systemsfor comparison.
We’re eagerly awaiting feedback on performance or any issues in this release,feel free to reach out and let us know how the alpha is running if you end uptesting. You can let us know how we're doing or just come by and say helloin our community forums or browse therepositoryon GitHub.