[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)