Quasar “Seneca” 3.13.0 Beta Released

2 years ago

Where is 3.11?

You may have noticed that we skipped the 3.11 (beta) and 3.12 (stable) releases altogether. We took the decision to kill a branch of Quasar and work on a major improvement of the I/O engine. Since there were internal releases named 3.11, to avoid any confusion we decided to number the official new beta release 3.13.

New “Seneca” QuasarDB engine

This new beta branch introduces a new version of the QuasarDB engine.

The new engine, named after the Roman stoic philosopher Seneca the Younger, is the result of one year of intense R&D focused on greatly optimizing I/O for large (beyond 100 TiB) data sets. Rest assured that smaller data sets will also greatly benefit from these improvements!

We have analyzed hundreds of petabytes of data sets coming from our customers to flesh out a new data organization and improve our stochastic indexes to reduce read and write amplification (up to 20 times!).

These changes mean that 3.13 is not backward compatible with 3.10 or 3.9 and a data migration is required to upgrade.

We have not just improved persistence, with this release we are introducing three major new features:

  1. Continuous queries – Queries results can now be pushed from the server to the client. This is more than a convenience: polling the server for updates can be extremely inefficient.
  2. Symbol tables – Native support for “infinite” enumerations. Data is stored as integers, but the user is presented with strings. This greatly improves disk usage and query performance. All the symbol table upkeeping is done transparently and the load is distributed over the cluster.
  3. Sub queries – We are working on greatly extending the capabilities of the query language and have introduced sub queries in this release.

This is the first release of this new engine. Expect more from the Quasar team over the year 2022: we aim at nothing less than the impossible.

Get QuasarDB 3.13.0 here!

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

Change log

  • Protocol version 45
  • [daemon] Add support for cgroups v2
  • [daemon] Add support for user configuration remote update
  • [daemon] Upgraded to RocksDB 6.14.6
  • [kernel] Add more statistics for improved monitoring
  • [kernel] Add support for continuous queries (e.g. push notifications)
  • [kernel] Add support for priorities on asynchronous queues (disabled by default)
  • [kernel] Greatly improved ingestion rate for asynchronous writes (up to 10X)
  • [kernel] Native support for “symbols” column type (e.g. “infinite” enums)
  • [net] Add support for the new batch API
  • [odbc] Improve ODBC compatibility
  • [persistence] Improve compression, up to double the efficiency!
  • [persistence] Improve tiered storage support
  • [persistence] New indexes and data layout which can deliver up to 20X speed improvement on cold data
  • [query] Add support for DATEPART
  • [query] Add support for TRIM TABLE
  • [query] Improve DELETE speed
  • [query] Improve disk size computation accuracy
  • [query] Support for subqueries