Quasardb
Stable release |
2.0.0
/ 26/1/2017 |
---|---|
Development status | Active |
Written in | C++ |
Operating system | Cross-platform |
Available in | English |
Type | Distributed key-value database |
License | Proprietary commercial software |
Website |
www |
quasardb[1] is a distributed transactional key-value store with distributed secondary indexes and native time series support, written in C++14.[2]
quasardb was designed to support various use cases like:
- Trading market data store (tick database)
- Apache Spark back-end (resilient distributed dataset (RDD) back-end to accelerate data loading)
- Distributed computing common data store (data grid)
- Relational database cache
History
quasardb was originally a one-off to satisfy the requirements of a large French investment bank. The company has been incorporated in 2014, in Paris France.[3]
In November 2015, ActiveViam (formerly Quartet FS) decided to make quasardb its OEM and resell it under the name of Active Storage.[4][5]
quasardb is available in both a free community edition and a commercial edition.
Supported languages
There are several bindings for quasardb, including:[6] C, C++, C#, Java, JavaScript (Node.js), PHP, Python and Visual Basic. Additionally, it has a RESTful API.
Data types
Being a key-value store, quasardb maps keys (or aliases) to typed values. quasardb supports a few different data types:
- Blobs (binary data)
- Integers (64-bit, signed)
- Time series of blobs or of double-precision floating point numbers
- Double-ended queues of blobs
- Hashed sets of blobs
Secondary indexing
quasardb also provides secondary indexes, called tags, which are visible to the API user as normal data entries. Tags allow the user to perform forward and reverse lookup as well as basic queries involving multiple tags. Such queries can involve negation and intersection over a collection of tags, as well as the specification of the entry type. A query is a string with a formally defined grammar, for instance:
tag="stocks" and tag="euro" and tag="industry" and not tag="germany" and type=ts
Performance and scalability
Written in C++14, quasardb leverages RocksDB[7] for persistence and uses a derivative of the Chord algorithm for distribution.
Benchmarks done by Cisco have demonstrated that the database can deliver sustained 100 Gbit/s throughput.[8]
On Mellanox hardware, a single node has been able to deliver more than 800,000 requests per second.[9]
References and notes
- ↑ Original spelling in lowercase.
- ↑ "QuasarDB : Un système de tag permettant d’étiqueter les données". (in French)
- ↑ "Entretien sur QuasarDB avec Jean-Claude Tagger et Edouard Alligand". (in French)
- ↑ "Quartet FS announces the release of a new solution for persistent data storage: ActiveStorage".
- ↑ "Quartet FS & quasardb : l'alliance de l'In-Memory et du NoSQL pour repousser les limites de l'analyse Big Data". (in French)
- ↑ quasardb 2.0.0 language bindings
- ↑ "RocksDB users list".
- ↑ "Streamlining Development for a Real-Time Analytics Database".
- ↑ "Quasardb and Mellanox Deliver Ultra-High Performance Database to FSI Customers" (PDF).