Skip to content

v0.5.0

Compare
Choose a tag to compare
@paberr paberr released this 24 Mar 19:56
· 144 commits to master since this release

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 the secondaryKey -> [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).