Persistent key-value-store for D?

krylon via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Fri Apr 28 09:07:48 PDT 2017


On Friday, 28 April 2017 at 16:01:58 UTC, yawniek wrote:
> On Wednesday, 26 April 2017 at 17:06:52 UTC, krylon wrote:
>> I looked at the DUB package registry and asked Google quite a 
>> bit now, but I did not found such a package for D. So my first 
>> question is - did I not look hard enough? I found a 
>> reimplentation of QDBM [1] (the spiritual ancestor of 
>> Tokyocabinet), but it does not seem to handle concurrency at 
>> all. Are there other options along those lines? (If there was 
>> one that also provides transactions, that would be awesome!)
>>
>> If I understand what I have read so far correctly, it is 
>> possible to access libraries written in C or C++ from D - in 
>> that case, I could just use Tokyocabinet directly, but I have 
>> not found any pointers on how to do this. Is this a feasible 
>> option, and if so, where can I find documentation on how to do 
>> this?
>
>
> i recommend leveldb
> http://code.dlang.org/packages/d-leveldb
> its easy to use and mostly faster than tokyocabinet ( only very 
> specifically tuned tokyo btrees  outperform leveldb)
>
> i used above library with great success. it also shows you how 
> to do c bindings.

Thank you for the suggestion!

For the moment I am using LMDB, as suggested in another reply, 
and it works well.
LevelDB seems to have a cleaner interface, though, at least in D.
I'll keep that in mind for future projects.


More information about the Digitalmars-d-learn mailing list