immudb v1.3.2, the immutable database handles a very large volume of small tx

Our new immudb release 1.3.2 just went out to the public. It is now available via github and docker hub. This release ...

Our new immudb release 1.3.2 just went out to the public. It is now available via github and docker hub. This release is about more performance and more logging.

While performance using batch operations was already very fast, we wanted to improve single transaction performance as well. Everyone likes a higher throughput, but the initial requests came from our FinTech community that asked an immutable database that can handle a very large volume of small transactions.

The other improvement concerns logging, especially machine-readable logging. As we see more automatic deployments on AWS, Elestio and other hosting platforms, that was an important task to finish.

Details of the performance improvements

Performance was the main focus of this immudb release. The way durability guarantees were implemented until now i.e. fsync was called synchronously as the final commit step, resulted in a lot of overhead for each transaction.

A significant improvement in write performance (up to x10 faster compared to previous immudb release v1.3.1) was achieved by grouping transactions in the last step of the commit process. The gains are greatest when there are fewer key-value entries per transaction and multiple writers are simultaneously working.

The cost of the sync operation pays for itself as the number of key-value pairs in each transaction increases, although some noticeable speed can still be achieved (up to x2 compared to previous immudb release v1.3.1).

Read performance was also significantly improved due to the introduction of reusable pools of objects, which reduced allocations needed during query resolution. The gains are quite significant in both single and multi-get operations.

JSON Logging

Logs can also be generated in json format for easier ingestion by logging platforms.
It’s quite simple to enable this useful feature, just run immudb with the logformat flag set to json e.g. ./immudb --logformat=json

There’s so much more!

You can read the complete release notes on github to see the complete changelog and read more about all the great features, fixes, and enhancements in this release. Make sure you check it out.

What are you building?

The feedback from the community has been tremendous and we love to hear what y’all are building. It’s what keeps us going day after day. Join us on Discord and Twitter to follow what we’re doing and let us know what you’re doing.

Similar posts