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
TieredMemDB - Redis with Persistent Memory

TieredMemDB - Redis with Persistent Memory

[14-Jan-2022 Note: this blog post has been updated due to the renaming of our database from MemKeyDB to TieredMemDB] Context Redis is an in-memory database that supports various data-structures and stores them in main memory. To support data durability, Redis relies on creating periodical snapshots …

Read More
Static code analysis of the PMDK

Static code analysis of the PMDK

Introduction In the PMDK team, we focus on the quality of our codebase. One of the standard practices in the software development is a static code analysis, which improves the overall project quality and fixes bugs in the early stage of development. Since there is no silver bullet for avoiding bugs, …

Read More
Introduction to LLPL

Introduction to LLPL

There are several ways to program with persistent memory from Java. A recent pmem.io blog article described the pmemkv library, a persistent key-value store, which can be used from multiple languages. For Java, pmemkv supports three ubiquitous Java types: String, byte[], and ByteBuffer. Another PMDK …

Read More
300 nanoseconds (2 of 2)

300 nanoseconds (2 of 2)

At the end of the first part of this blog series, I posed three fundamental questions regarding the design of failure atomic data structures for persistent memory. What does it mean to allocate persistent memory? How to do fail-safe atomic updates? Are all data structures suitable for persistent …

Read More