Florian Weimer wrote:
- Ulrich Windl:
When reading, you just say that MDB has some features BDB does not have. Does that make BDB obsolete technology? I think it depends on the user's demands.
Berkeley DB supports arbitrary key sizes. For some use cases, this is quite handy, but it's apparently not relevant to OpenLDAP.
True, not relevant. BDB supports keys of up to 2^32 bytes, as well as values up to 2^32 bytes. It costs quite a great deal of complexity to support such large keys, and there are very few cases that will ever use keys of such size.
For any DB library to perform well, keys must be small enough to fit entirely in RAM and be compared quickly. Keys only need to be large enough to uniquely distinguish one value from another. For any data set that can be calculated by today's technology, this means keys need no more than 64 unique bits. Very large keys implies a bad data model design.
Multiple concurrent writers are nice on paper, but probably are not worth the complexity for an in-process database.
On the other hand, there's not much complexity to support this, and it saves the hassle of users complaining that their DBs corrupted when they accidentally opened the same DB from multiple programs at once.