From Fedora Project Wiki
No edit summary |
No edit summary |
||
Line 3: | Line 3: | ||
** '''Wrappers for:''' C++, Java, Python, Perl, Ruby, Go, Erlang, PHP, Lua | ** '''Wrappers for:''' C++, Java, Python, Perl, Ruby, Go, Erlang, PHP, Lua | ||
** '''Packages available for:''' Fedora 23+, EPEL6+ | ** '''Packages available for:''' Fedora 23+, EPEL6+ | ||
** '''License:''' | |||
** '''Search key length:''' | ** '''Search key length:''' | ||
** '''Read-only access to DB:''' | ** '''Read-only access to DB:''' | ||
** '''Supported architectures:''' | ** '''Supported architectures:''' | ||
** '''Query keys larger than X:''' | ** '''Query keys larger than X:''' | ||
* '''[http://fallabs.com/kyotocabinet/ Kyoto Cabinet]''' (replacing Tokyo Cabinet) | |||
** '''Written in:''' C++ | |||
** '''Wrappers for:''' C, Java, Python, Ruby, Perl, and Lua | |||
** '''Packages available for:''' Fedora 23+, EPEL5+ | |||
** '''License:''' | |||
** '''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 [http://fallabs.com/kyotocabinet/api/classkyotocabinet_1_1PolyDB.html#a23cafa21e981567d1d3f82b437ebcd9d matching by regex], which should be possible to use for this kind of query. Other possibilities are [http://fallabs.com/kyotocabinet/api/classkyotocabinet_1_1PolyDB.html#ae1a3c5cf00e8b44d058e13bef372cc4f match by prefix] and [http://fallabs.com/kyotocabinet/api/classkyotocabinet_1_1PolyDB.html#af822c534ddc01b51a3b21ccd4bcdedea match by similarity]. | |||
* '''[http://leveldb.org/ LevelDB]''' | * '''[http://leveldb.org/ LevelDB]''' | ||
** '''Written in:''' | ** '''Written in:''' C++ | ||
** '''Wrappers for:''' | ** '''Wrappers for:''' Java, Go, Erlang, node.js | ||
** '''Packages available for:''' | ** '''Packages available for:''' Fedora 23+, EPEL6+ | ||
** '''License:''' | |||
** '''Search key length:''' | ** '''Search key length:''' | ||
** '''Read-only access to DB:''' | ** '''Read-only access to DB:''' | ||
Line 17: | Line 29: | ||
** '''Query keys larger than X:''' | ** '''Query keys larger than X:''' | ||
* '''[http://rocksdb.org/ RocksDB]''' | * '''[http://rocksdb.org/ RocksDB]''' (Built on LevelDB) | ||
** '''Written in:''' | ** '''Written in:''' | ||
** '''Wrappers for:''' | ** '''Wrappers for:''' | ||
** '''Packages available for:''' | ** '''Packages available for:''' Not available in Fedora? | ||
** '''License:''' | |||
** '''License:''' | |||
** '''Search key length:''' | ** '''Search key length:''' | ||
** '''Read-only access to DB:''' | ** '''Read-only access to DB:''' | ||
** '''Supported architectures:''' | ** '''Supported architectures:''' | ||
** '''Query keys larger than X:''' | ** '''Query keys larger than X:''' | ||
* '''[http://unqlite.org/ UnQlite]''' | * '''[http://unqlite.org/ UnQlite]''' | ||
** '''Written in:''' | ** '''Written in:''' C | ||
** '''Wrappers for:''' | ** '''Wrappers for:''' | ||
** '''Packages available for:''' | ** '''Packages available for:''' Not yet available in Fedora | ||
** '''License:''' | |||
** '''Search key length:''' | ** '''Search key length:''' | ||
** '''Read-only access to DB:''' | ** '''Read-only access to DB:''' | ||
Line 51: | Line 57: | ||
** '''Wrappers for:''' Perl, Ruby, Java, and Lua | ** '''Wrappers for:''' Perl, Ruby, Java, and Lua | ||
** '''Packages available for:''' Fedora 23+, EPEL5+, RHEL6+ | ** '''Packages available for:''' Fedora 23+, EPEL5+, RHEL6+ | ||
** '''License:''' | |||
** '''Search key length:''' | ** '''Search key length:''' | ||
** '''Read-only access to DB:''' | ** '''Read-only access to DB:''' | ||
Line 60: | Line 67: | ||
** '''Wrappers for:''' C++, Java, Perl, and Ruby | ** '''Wrappers for:''' C++, Java, Perl, and Ruby | ||
** '''Packages available for:''' Fedora 23+ | ** '''Packages available for:''' Fedora 23+ | ||
** '''License:''' | |||
** '''Search key length:''' | ** '''Search key length:''' | ||
** '''Read-only access to DB:''' | ** '''Read-only access to DB:''' | ||
Line 69: | Line 77: | ||
** '''Wrappers for:''' | ** '''Wrappers for:''' | ||
** '''Packages available for:''' | ** '''Packages available for:''' | ||
** '''License:''' | |||
** '''Search key length:''' | ** '''Search key length:''' | ||
** '''Read-only access to DB:''' | ** '''Read-only access to DB:''' | ||
Line 78: | Line 87: | ||
** '''Wrappers for:''' | ** '''Wrappers for:''' | ||
** '''Packages available for:''' | ** '''Packages available for:''' | ||
** '''License:''' | |||
** '''Search key length:''' | ** '''Search key length:''' | ||
** '''Read-only access to DB:''' | ** '''Read-only access to DB:''' | ||
** '''Supported architectures:''' | ** '''Supported architectures:''' | ||
** '''Query keys larger than X:''' | ** '''Query keys larger than X:''' |
Revision as of 08:40, 27 July 2016
- LMDB
- Written in: C
- Wrappers for: C++, Java, Python, Perl, Ruby, Go, Erlang, PHP, Lua
- Packages available for: Fedora 23+, EPEL6+
- License:
- Search key length:
- Read-only access to DB:
- Supported architectures:
- Query keys larger than X:
- Kyoto Cabinet (replacing Tokyo Cabinet)
- Written in: C++
- Wrappers for: C, Java, Python, Ruby, Perl, and Lua
- Packages available for: Fedora 23+, EPEL5+
- License:
- 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.
- LevelDB
- Written in: C++
- Wrappers for: Java, Go, Erlang, node.js
- Packages available for: Fedora 23+, EPEL6+
- License:
- Search key length:
- Read-only access to DB:
- Supported architectures:
- Query keys larger than X:
- RocksDB (Built on LevelDB)
- Written in:
- Wrappers for:
- Packages available for: Not available in Fedora?
- License:
- License:
- Search key length:
- Read-only access to DB:
- Supported architectures:
- Query keys larger than X:
- UnQlite
- Written in: C
- Wrappers for:
- Packages available for: Not yet available in Fedora
- License:
- Search key length:
- Read-only access to DB:
- Supported architectures:
- Query keys larger than X:
Older (possibly unmantained) projects
- TokyoCabinet (replacing QDBM)
- Written in: C
- Wrappers for: Perl, Ruby, Java, and Lua
- Packages available for: Fedora 23+, EPEL5+, RHEL6+
- License:
- Search key length:
- Read-only access to DB:
- Supported architectures:
- Query keys larger than X:
- QDBM
- Written in: C
- Wrappers for: C++, Java, Perl, and Ruby
- Packages available for: Fedora 23+
- License:
- Search key length:
- Read-only access to DB:
- Supported architectures:
- Query keys larger than X:
- NDBM
- Written in:
- Wrappers for:
- Packages available for:
- License:
- Search key length:
- Read-only access to DB:
- Supported architectures:
- Query keys larger than X:
- GDBM
- Written in:
- Wrappers for:
- Packages available for:
- License:
- Search key length:
- Read-only access to DB:
- Supported architectures:
- Query keys larger than X: