QuasarDB 3.9.9 Beta released

We are very pleased to announce the immediate availability of QuasarDB 3.9.9.

This release brings significant performance and memory usage improvements.

We have worked hard on the query language as well, and are happy to share with you powerful new features of the ASOF, PIVOT, and LOOKUP functions.

32-bit and 64-bit ARM binaries for Linux are now included with every release.

Get it here!

Known bugs

We are currently working on a hot fix for this issue

  • [daemon] Frequent updates of the same bucket with "push fast" may result in data being duplicated and never deleted.

Fixes and improvements

  • [api] The C API is now versioned through macros
  • [clone] Initial release of the qdb_clone utility
  • [daemon] Add bucket operations statistics
  • [daemon] Can log operations that take an excessive amount of time
  • [daemon] Fix the evict_all speed problem on Windows
  • [daemon] Greatly reduce memory usage on all platforms
  • [daemon] Improve the caching algorithm heuristics for greater performance
  • [daemon] Improve multithreading model for even more scalability
  • [daemon] Log an error when shard sizes become too large
  • [daemon] Remove an invalid log error message that could create confusion
  • [lookup] LOOKUP now supports any kind of string
  • [query] Add support for $table in LOOKUP
  • [query] Add support for the string concatenation operator ||
  • [query] Fix aggregation computation when multiple empty values are present in a column
  • [query] Greatly improve performance of more complex queries, especially when multiple tables are select
  • [query] Properly delete rounded doubles when doing DELETE WHERE DUPLICATE
  • [query] Support arithmetic cast for timestamps
  • [query] Support for AS for LOOKUP
  • [query] Support for non-blob values in LOOKUP
  • [query] Support for the combination of GROUP BY and ASOF
  • [query] Support for the combination of LOOKUP and arithmetic operators
  • [query] Support for the combination of PIVOT and ORDER BY
  • [query] Support for the combination of PIVOT, ASOF, GROUP BY, and PREWHERE
  • [shell] Add prefix_count and suffix_count to shell
  • [shell] The location of the history file is now by default the home directory (and can be configured)

QuasarDB 3.8.11 Released

We are very pleased to announce the immediate availability of QuasarDB 3.8.11.

This release incorporates several fixes and improvements of the 3.9 branch into the stable 3.8 release branch.

Get it here!

Fixes and improvements

  • [api] Added a new compaction mode that is slower, but uses less disk
  • [api] Added an API call to enable or disable auto-compaction dynamically
  • [api] Trimming and compaction are now two distinct API calls
  • [daemon] Add an operation to nuke a corrupted bucket without shutting down the server remotely
  • [daemon] Correctly support dates before 1970 and beyond 5000
  • [daemon] Greatly improve asynchronous pipelines performance and memory usage
  • [daemon] Improve intra-node recovery on error for ACL permissions lookup
  • [daemon] Log when buckets are too large
  • [daemon] Make the persisted firehose shard size configurable
  • [query] Add support for duplicate rows deletion
  • [query] Fix an invalid timestamp returned for certain first/last queries
  • [query] Fix an issue related to DELETE … WHERE queries
  • [query] Fix GROUP BY results that could be returned as blobs when they are in fact strings
  • [query] Fix invalid results for adjacent_count on large queries
  • [query] Fix several GROUP BY issues related to timestamps
  • [query] Fix several incoherences in the way GROUP BY results were given
  • [query] Fixed an issue where rows could be partially removed after a DELETE WHERE

QuasarDB 3.9.8 Beta released

We are very pleased to announce the immediate availability of QuasarDB 3.9.8.

This release is planned to be the penultimate beta before 3.10. It includes several bug fixes and improvements related to query results.

Several features have also been added to fix accidental data duplications or operational-induced data corruptions without shutting down the cluster.

32-bit and 64-bit ARM binaries for Linux are now included with every release.

Get it here!

Fixes and improvements

  • [api] Add an API to verify data integrity remotely
  • [api] Fix potential invalid results for variance, skewness, and kurtosis
  • [daemon] Add an operation to nuke a corrupted bucket without shutting down the server remotely
  • [daemon] Add statistics for write errors
  • [daemon] Correctly support dates before 1970 and beyond 5000
  • [daemon] Fix descriptor usage on systems with a low descriptor limit
  • [daemon] Log when buckets are too large
  • [daemon] Make disks writes more resilient to major failures such as a server shut down
  • [daemon] Make the persisted firehose shard size configurable
  • [query] Add support for duplicate rows deletion
  • [query] Correctly support WHERE != ""
  • [query] Fix an invalid timestamp returned for certain first/last queries
  • [query] Fix GROUP BY results that could be returned as blobs when they are in fact strings
  • [query] Fix invalid error code returned for certain ASOF JOIN queries
  • [query] Fix invalid results for adjacent_count on large queries
  • [query] Fix several GROUP BY issues related to timestamps
  • [query] Fix several incoherences in the way GROUP BY results were given
  • [query] Support tagging at table creation
  • [railgun] Fix a performance problem when inserting in multiple tables
  • [rest] Fix a potential resource leak

QuasarDB 3.8.10 Released

We are very pleased to announce the immediate availability of QuasarDB 3.8.10.

This release brings stability and quality of life improvements.

Fixes and improvements

  • Protocol version 35
  • [api] Properly handle empty partial results
  • [daemon] Add more context to the "invalid depot path" error message
  • [daemon] Fixed a rare issue, when, during writes, previously cached entries may have not properly reacquired the lock for writing
  • [daemon] Name differently the high and low partitions threads
  • [daemon] Properly set the default for the advertized address
  • [daemon] Reset the ACL fetcher on error
  • [daemon] Skip missing buckets when aggregating instead of failing
  • [query] FROM table.column was incorrectly accepted as a valid clause
  • [replication] Properly replicate tags
  • [shell] Fixed a potential segmentation fault when using quotation marks
  • [shell] Fixed invalid format for integers
  • [shell] Log warnings related to the history file instead of displaying them on the console
  • [shell] No output was given when a script file was not properly specified

QuasarDB Beta 3.9.6 Released

We are very pleased to announce the immediate availability of QuasarDB 3.9.5.


This release further extends the capabilities of FIND() and comes with several quality of life improvements.


Fixes and improvements


  • [api] Fixed an internal error when the direct API was used with the wrong URI
  • [daemon] Fixed a a couple of warning/error log messages
  • [query] FIND() can now be used in (PRE)WHERE clauses
  • [shell] List the type along with the name when doing a prefix get
  • [shell] The direct mode is set automatically at startup