Persistent key-value-store for D?

Matthias Klumpp via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Apr 26 18:56:12 PDT 2017


On Wednesday, 26 April 2017 at 17:06:52 UTC, krylon wrote:
> [...]
> 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 can recommend using LMDB[1] which likely does all you want.
It also has D bindings[2]. We use it in the AppStream generator 
with multithreaded parallelization and it is working great so far 
(although for the usecase of asgen it's not an ideal database 
choice, but one which makes deployments of the generator really 
simple).

I explored other solutions including Tokyokabinet and LevelDB and 
LMDB was by far the fastest.

Cheers,
     Matthias


[1]: 
https://en.wikipedia.org/wiki/Lightning_Memory-Mapped_Database
[2]: 
https://github.com/ximion/appstream-generator/blob/master/src/asgen/bindings/lmdb.d


More information about the Digitalmars-d-learn mailing list