On 01/08/2015 04:10 PM, David Cantrell wrote:
It's not a drop-in replacement, but I have seen sqlite be a
viable option
for projects wanting some database library and wanting a stable API. Many
upstream projects that can use berkdb have grown sqlite support as an
option.
And SQLite shares one interesting property with Berkeley DB: it supports
indexed columns which can be much wider than the page size (up to a GiB
or something like that). Most key-value store and even some fully grown
SQL databases have rather stringent restrictions on index width, which
can make porting rather difficult if the current approach uses keys
longer than a few hundred bytes.
(Other SQLite advantages are data format and API/ABI stability/backwards
compatibility and quit robust defaults, wide support in bindings, and
multi-process access somewhat similar to Berkeley DB, not much need for
configuration, and no arbitrary transaction size limits. Disadvantages
are different performance characteristics and changes in transaction
semantics, mostly lack of truly concurrent writers.)
--
Florian Weimer / Red Hat Product Security