From Fedora Project Wiki
  • LMDB
    • Search key length:
    • Read-only access to DB:
    • Supported architectures:
    • Query keys larger than X:
  • LevelDB
    • Search key length:
    • Read-only access to DB:
    • Supported architectures:
    • Query keys larger than X:
  • RocksDB
    • Search key length:
    • Read-only access to DB:
    • Supported architectures:
    • Query keys larger than X:
  • Kyoto Cabinet (replacing Tokyo Cabinet)
    • Search key length: No limit from database itself (uses c++ std::string or combination of c-style string and its length).
    • Read-only access to DB: See http://fallabs.com/kyotocabinet/spex.html, part Sharing One database by Multiple Processes. TL;DR: One DB cannot be accessed by multiple processes, DB file is protected by reader-writer lock (which means it will probably require write access even for read-only operation).
    • Supported architectures: Linux 2.6 and later (i386/x86-64/PowerPC/Alpha/SPARC)
    • Query keys larger than X: DB supports matching by regex, which should be possible to use for this kind of query. Other possibilities are match by prefix and match by similarity.
  • UnQlite
    • Search key length:
    • Read-only access to DB:
    • Supported architectures:
    • Query keys larger than X:

Older (possibly unmantained) projects

  • TokyoCabinet (replacing QDBM)
    • Search key length:
    • Read-only access to DB:
    • Supported architectures:
    • Query keys larger than X:
  • QDBM
    • Search key length:
    • Read-only access to DB:
    • Supported architectures:
    • Query keys larger than X:
  • NDBM
    • Search key length:
    • Read-only access to DB:
    • Supported architectures:
    • Query keys larger than X:
  • GDBM
    • Search key length:
    • Read-only access to DB:
    • Supported architectures:
    • Query keys larger than X: