Progress Report Q1 2017

Progress Report Q1 2017

It’s been three months already since the last time I wrote something ;) Time really flies by quickly when you are doing interesting stuff. We’ve been very busy with lots of improvements to the library as well as A LOT of tiny fixes: over the last three months the team eliminated …

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
What's coming in libpmemobj

What's coming in libpmemobj

In my last post I’ve made a promise to share our plans for the near future. So here it is: 4 ideas that we are planning to ship with the upcoming version of libpmemobj. Please note that most of our plans related to libpmemobj are available on our github issues page with the …

Read More
Modeling strings with libpmemobj C++ bindings

Modeling strings with libpmemobj C++ bindings

C++ developers using libpmemobj have more than one option for modeling strings, depending on the size of the strings and whether they are fixed or varying in length. In this post we’ll review the representations that work, known variations to avoid, and finally present a persistent string …

Read More