144
The pmemkv API is similar to most key-value databases. Several storage engines
are available for flexibility and functionality. Each engine has different performance
characteristics and aims to solve different problems. Because of that, the functionality
provided by each engine differs. They can be described by the following characteristics:
• Persistence: Persistent engines guarantee that modifications are
retained and power-fail safe, while volatile ones keep its content only
for the application lifetime.
• Concurrency: Concurrent engines guarantee that some methods
such as get()/put()/remove() are thread-safe.
• Keys’ ordering: "Sorted" engines provide range query methods (like
get_above()).
What makes pmemkv different from other key-value databases is that it provides
direct access to the data. This means reading data from persistent memory does not
require a copy into DRAM. This was already mentioned in Chapter 1 and is presented
again in Figure 9-5.
Figure 9-4. The architecture of pmemkv and programming languages support
Chapter 9 pmemkv: a persistent in- memory key-value store
Précédent

- 169/457

Suivant