-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
what is the difference between kvdk and pmemkv? #33
Comments
pmemkv is a kv framework which supports a lot of kv engines as plugin and user is able to access different engines via pmemkv API. While the design target of kvdk is a kv engine optimized for persistent memory, optane ssd and xeon CPU. So in brief, you can look kvdk as a engine plugin of pmemkv. (We are working on it, and will published soon). |
So, in pmemkv, we have several map engines, which I think is similar to kvdk. Could you tell me what the difference between them. |
From the view of functionality, kvdk is still under development, and for now it only supports set/get/delete/scan operations as csmap engine in pmemkv, and we are working on the read-committed transaction and snapshot features. From performance view, I'd suggest you do some benchmarks based on your environment and data operation pattern, and see which one fit best for your scenario :) |
According to your word, I am still confused about why we need develop kvdk as we have pmemkv. |
pmemkv is more of a framework at the moment, whereas kvdk is a work-in-progress reference code for a key-value store engine with a different approach to memory management than the existing pmemkv engine implementations. I understand the confusion - there's a large design space of key-value stores (especially if you considered all the possible hardware configurations) that needs to be explored to find the best approaches for specific use-cases. KVDK represents a significant shift from the pmemkv's engines design ideas (that mostly uses libpmemobj-cpp data structures), hence the separate repository. Hope this makes sense. |
what is the difference between kvdk and pmemkv?
The text was updated successfully, but these errors were encountered: