I’m pleased to announce that Speedb OSS v2.6 is available on Github.

This release includes major steps towards the complete memory manager project we are working on and other great functionalities that simplify configuration and improve performance. 

In a nutshell, this release improves read performance, write performance for transactional databases and helps you to easily turn on the Speedb features for single and multiple databases. 

Speedb OSS v2.6 includes:

  • Static pinning 
  • Snapshot Optimization
  • Speedb tuning function
  • Thread affinity
  • Sorted hash memtable - java and C
  • Report usage per Column family 

Static pinning:

A first step towards managing clean memory is the static pinning.
With the static pinning feature you can enjoy the benefits of pinning filter and index blocks to the cache without risking out of memory condition. The pinning has a major advantage over LRU cache and users barely use it because of the risk of being out of memory. This new safety belt allows you to get the best performance of pinning without unnecessary worries. 

Speedb Tuning function 

Speedb introduced several improvements since 2.0. This new function simplifies the user configuration and tuning of the storage engine: it enables all the Speedb features for a single or multiple databases and defines the write buffer manager based on the system resources the user provides as an input. This function will make sure the memory resources are defined in the most efficient way according to the available resources of the system. 

Snapshot optimization:

In transactional databases, on every transaction a snapshot is taken to ensure consistency of the data. The snapshot operation can be very expensive in time consumption since it stops all the reads and writes during the snapshot creation process. With this new improvement, a snapshot is taken only when indeed a change occurred and by that improves dramatically the total read performance and less CPU resources are used . 

Thread affinity (on thread start callback) 

Enables limit the Speedb threads to run on specific cores in order to gain performance or better control CPU usage.

The Speedb Sorted hash memtable is now exposed in the java and C APIs.

Report usage per CF

With the reporting per column family you can see how much memory each column family actually consumes by looking at the log file or using the query API. It reports the index/filter/data blocks sizes in the Block cache per Column family. 

Please note that Speedb OSS v2.6 is based on RocksDB 8.1

Enjoy and let us know what you think! ⭐

For any technical question please join our Discord server and we will be happy to assist.

Related content: