Learn about pmemkv, an open-source key/value store for persistent memory based on the Persistent Memory Developer Kit (PMDK). pmemkv provides applications the performance benefits of persistent memory without requiring application developers to first become experts in persistent memory programming.
Hi, I'm Rob Dickinson from Intel. In this video, I introduce PMEMKV. PMEMKV is an open source key value store for persistent memory based on PMEMDK. With PMEMKV, applications can read and write to local persistent memory using a key value API. This API is easy to learn for any developers who've used other types of key value data stores in the past.
All of this makes PMEMKV a flexible and efficient platform for building applications that use persistent memory. PMEMKV is a local, key value store where data is kept directly in persistent memory. PMEMKV is embedded into applications as a library. Unlike most databases that are deployed separately from the application and accessed over the network. With PMEMKV all data is stored on local persistent memory where it can be accessed very quickly by the application.
PMEMKV uses a key value API that many developers will find immediately familiar. Key value pairs are written using the put method and read back individually using the Get method. The Count, and Each, and All methods iterate over all the key value pairs. The Remove method deletes a key value pair.
Using this API, it's easy to store just about any kind of index data. For example, a high level object can be serialized to PMEMKV as a single large value or as a collection of key value pairs that are read and written together. PMEMKV is a very flexible data platform since internally it supports multiple storage engines each tuned for a different kind of workload.
Some engines are thread safe and have the overhead of locking while other engines are tuned for faster, single threaded operations. Some engines are persistent where each operation is an atomic transaction while other engines are tuned for volatile use. Some engines are sorted while others are unsorted. All of this allows PMEMKV to handle different kinds of workloads efficiently within the same data platform.
This is different than many key value projects which tend to be specific to one type of workload or storage algorithm. Best of all, PMEMKV is an open source project that is sponsored by Intel but is open to outside contributors. All PMEMKV code is on GitHub and uses a friendly BSD license. We even provide easy to follow instructions to contribute your own custom storage engine for PMEMKV.
Thanks for watching. Follow the links to download PMEMKV from GitHub* to get started.
Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserverd for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.
Notice revision #20110804