As a NewSQL database, QuasarDB is transactional and fully consistent, with support for Multi-version Concurrency Control (MVCC). It supports processing using primarily either Python or SQL, though Java, PHP and C++ are also supported, and there is a REST API. In the case of SQL – along with support for ODBC – this means that you could use tools such as Tableau or Qlik for visualisation, and we understand that additional connectors are currently in development.
Grafana is also supported and Kafka integration is provided, which is something notably absent from some other offerings. Also supported are Python Pandas and R.
A major differentiator for QuasarDB is in the way that it handles compression. Most companies that offer time-series databases either use a compression algorithm based on Facebook’s Gorilla or on LZ4 (the native lossless compression algorithm used in Hadoop), which is typically better than Gorilla. However, LZ4 is only really good for some use cases and can therefore vary in performance. In prior releases, QuasarDB had used a development of LZ4 but it has now introduced Delta4C (patent pending), which it claims to consistently out-perform LZ4, providing a constant speed of 12 GB/sec per core, which is an order of magnitude improvement. The only drawback is that Delta4C does not handle floating point values, though LZ4 is poor in this respect also. The company is working on this issue.
Apart from compression, which directly impacts on both storage requirements and performance, the other major point we should focus on is indexes. QuasarDB provides a zero-overhead index for the primary key, which is created automatically; and probabilistic, space-efficient secondary indexes for values (or, you can use tags). We understand that Michelin is using QuasarDB in conjunction with location-based data but the company does not have significant support for geo-spatial capabilities at this time, though relevant functionality, including support for spatio-temporal queries, is expected in 2020.
Finally, we should say that the footprint of QuasarDB is “a few Megabytes”, which is certainly small enough to support embedding in edge devices.