Maucci, Cyrille wrote:
Quite standard to mean in-memory DB
That would be a misnomer in this case. OpenLDAP MDB is not an in-memory DB.
In-memory DBs *only* use RAM in their normal operation, and an auxiliary
procedure is used to make backups, replicas, or whatever other mechanism is
used to write a copy of the data onto persistent storage. In-memory DBs
generally use memory-oriented data structures (like AVL trees, red-black
trees, or T-trees) to store their data, and do no I/O in normal operation.
OpenLDAP MDB uses Single-Level Store. The data may reside in RAM or on disk,
and the application and DB library don't know and don't care, the OS pages
data in or out as needed. The data structure is a disk-oriented structure, a
B+tree. I/O calls are used routinely in write operations; the database is
always fully persistent without need of any auxiliary persistence mechanisms.
The difference in semantics is quite significant; the SLS approach is far
superior to a pure in-memory DB when transactional persistence is required.
A pure in-memory DB (with no persistence layer) would tend to have a much
higher write throughput than our MDB, since our persistence is integral and
cannot be switched off.
In-memory DBs with persistence require fully loading the data from secondary
storage into RAM before they can be operated on, which entails a very
significant startup delay. MDB has no such requirement, and the startup delay
is near zero.
From: openldap-devel-bounces(a)OpenLDAP.org [mailto:openldap-devel-bounces@OpenLDAP.org] On
Behalf Of Howard Chu
Sent: Sunday, November 13, 2011 11:18 AM
Subject: MDB name
What's in a name... Apparently "MDB" is already a well-known suffix for
Microsoft Access database files. "mdb" is also the name of a debugger tool in
Solaris. To avoid confusion with those unrelated items, it might be a good idea to rename
our MDB to something else. Now, before the next OpenLDAP release is published. Comments?
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/