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