[HN Gopher] Up to date Rust bindings for LMDB
___________________________________________________________________
Up to date Rust bindings for LMDB
Author : seanwatters
Score : 7 points
Date : 2024-09-28 06:01 UTC (3 days ago)
(HTM) web link (crates.io)
(TXT) w3m dump (crates.io)
| seanwatters wrote:
| not sure why all the existing crates have gone so far out of
| date. i feel like generating bindings isn't that hard if you've
| done it before but can be a blocker for people who haven't so
| maybe this will help.
|
| some of the existing crates had the -sys suffix but it didn't
| seem like they were actually checking for it on the system (i'm
| not sure that LMDB is installed by default on most systems
| anyway?) so opted to not use it.
|
| chose to keep the version in step with LMDB (current looks like
| 0.9.70 in the lmdb.h).
|
| will regenerate anytime i become aware of a version bump for
| LMDB.
| Shawnecy wrote:
| > not sure why all the existing crates have gone so far out of
| date.
|
| Pure speculation on my part: maybe people are choosing Rust-
| based embedded key value stores like sled or redb?
| sbt567 wrote:
| Or https://lib.rs/crates/fjall
| jszymborski wrote:
| Only slightly off topic, but any of these support fast
| concurrent writes? LMDB really slows down for me when I'm
| trying to write a lot to it and locking means i cant use
| concurrency to speed it up.
| mmastrac wrote:
| For those of us who don't know, LMDB is a DB, somewhat akin to
| sqlite or Berkeley DB. It took a bit of time to find the info by
| chasing links.
|
| Please add READMEs to your projects with appropriate links,
| folks.
|
| https://crates.io/crates/liblmdb <-- says it is bindings for LMDB
|
| ... which links to the repo
|
| https://github.com/ordinarylabs/liblmdb
|
| Which has a link to the LMDB repo here (just a submodule) ...
|
| https://github.com/LMDB/lmdb/tree/9c9d34558cc438f99aebd1ab58...
|
| Which has no info about the project, but links to
|
| https://www.openldap.org/software/repo.html
|
| Which also has no info about the project, but has an LMDB link
| which leads to
|
| https://www.symas.com/lmdb
|
| Which finally explains:
|
| > Symas LMDB is an extraordinarily fast, memory-efficient
| database we developed for the OpenLDAP Project. With memory-
| mapped files, LMDB has the read performance of a pure in-memory
| database while retaining the persistence of standard disk-based
| databases.
|
| > Bottom line, with only 32KB of object code, LMDB may seem tiny.
| But it's the right 32KB. Compact and efficient are two sides of a
| coin; that's part of what makes LMDB so powerful.
|
| There's also a wikipage:
|
| https://en.wikipedia.org/wiki/Lightning_Memory-Mapped_Databa...
___________________________________________________________________
(page generated 2024-10-01 23:00 UTC)