API overview of pmemkv-java binding

API overview of pmemkv-java binding

Pmemkv is a key-value data store written in C and C++, however, it also opens up a way to leverage persistent memory by developers who prefer high-level languages - such as Java. For more information about other bindings please read Language bindings for pmemkv article and pmemkv README We built an …

Read More
Language bindings for pmemkv

Language bindings for pmemkv

pmemkv is a local/embedded key-value datastore optimized for persistent memory. It is written in C and C++, but to satisfy a wider audience it comes with several bindings for high-level languages. Currently: Java (with JNI), Node.js, Python and Ruby. The picture below illustrates architecture and …

Read More
Benchmarking with different storage engines using pmemkv

Benchmarking with different storage engines using pmemkv

We’re closing out 2017 with two big improvements to pmemkv: support for multiple storage engines, and an improved benchmarking utility based on db_bench. These changes set the stage for some interesting experiments to come next year, as we continue to add new features and tune performance of …

Read More
Zero-copy leaf splits in pmemkv

Zero-copy leaf splits in pmemkv

In a B+ tree, splitting a full leaf into two leaves is one of its slowest operations, but pmemkv optimizes this using a zero-copy strategy. Rather then copying any key/value data between full and new leaf, pmemkv splits leaves by swapping persistent structures in place. This minimizes write …

Read More
Introducing pmemkv

Introducing pmemkv

We’ve blogged before about building and optimizing key-value stores for persistent memory, and we’re excited to put these ideas to the test in a more formal way. Our new pmemkv project is an open-source key-value store that is optimized for read-heavy workloads on persistent memory. …

Read More