v0.5.0
Complete list of improvements:
- Improve indexing structure in NodeJS:
Instead of storing a B+Tree in memory and persisting this tree to another table, we now directly make use of the indexing capabilities of the second table and use it to store thesecondaryKey -> [primaryKeys]
relation.
Our benchmarks have shown this to be superior for write accesses, while the performance dropped slightly for read accesses. - Integrate LMDB as an alternative backend:
LMDB can now be seamlessly integrated. Our benchmarks have shown LMDB to be superior in performance especially for large values, large transactions and indices, even outperforming the previous in-memory B+Tree.
Moreover, LMDB is a synchronous backend, allowing to reduce the number of async/await operations dramatically (while still maintaining the same API to the outside). - Add new benchmarks and output CSV compatible format instead of text.
- Restructuring of LMDB backend, usage of native dup keys for LMDB indexes.
- Automatic resizing of database.
If the autoResize
option is enabled, the database will automatically resize itself if needed by minResize
(default is 1GB).