We've just published an alpha version for the upcoming 6.0 major release and it includes long-awaited support for ingesting out-of-order records on-the-fly, a complete overhaul of the InfluxDB Line Protocol subsystem, and multiple fixes which provide stability improvements. Here's a roundup of changes that have just landed in the latest and greatest version!
QuestDB relies on an append-only model and in versions prior to 6.0, we reject records that appear (chronologically) out-of-order by timestamp at the database. In real-world applications, data doesn’t follow this rule because of network jitter, latency or even clock synchronization issues. Out-of-order (O3) support adds flexibility to the system and provides compatibility with the Time Series Benchmark Suite (TSBS) which is used to reliably measure and compare the performance of time series databases.
Also included with this version is a massive internal revision of InfluxDB Line Protocol (ILP) ingestion which brings significant performance improvements, alongside multiple UI fixes for the Web Console and SQL features.
- O3 support for ingestion of records which are out-of-order by timestamp
- ARM64 support
fileNameparameter can be specified for the
/expendpoint for CSV exports
- PostgreSQL JDBC driver now supports
- UI improvements for results with only one column
- Notification element does not obscure returned rows
LIMIT -1returns last row as expected
- Epoch timestamps supported in CSV imports
- Behavior of
ORDER BYquery returns correct values on non-cached symbol types
- Column names allow the use of minus
_characters for compatibility with InfluxDB Line Protocol messages
The alpha release has been published to Docker Hub and can be pulled with the following command:
The image can then be run with the following command:
This feature is enabled by default for ingestion over InfluxDB Line
Protocol, PostgreSQL wire protocol and bulk imports via REST API. One
requirement for the use of this feature is that tables must have a partitioning
strategy employed. New tables created over ILP have a partitioning strategy per
DAY applied by default. For more information with SQL examples showing how to
employ a partitioning strategy, see the
CREATE TABLE documentation.
Additional server configuration parameters may be applied for optimizing out-of-order ingestion over InfluxDB Line Protocol. For more details on these values, see the server.conf description, or reach out with any questions in the meantime. A supplementary guide will follow soon which describes why and when to apply these settings to help with fine-tuning for your use case.
Following the release of this alpha version, we will be running the TSBS benchmark suite which allows us to compare the performance of QuestDB on ingestion rates for high-throughput scenarios. We are in the process of contributing a pull request into the official TSBS repository so users may directly clone the suite and run the benchmark against QuestDB and other systems for 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 up testing. You can let us know how we're doing or just come by and say hello in our Slack Community or browse the repository on GitHub.