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?
IMDB ?
Quite standard to mean in-memory DB
++Cyrille
-----Original Message----- From: openldap-devel-bounces@OpenLDAP.org [mailto:openldap-devel-bounces@OpenLDAP.org] On Behalf Of Howard Chu Sent: Sunday, November 13, 2011 11:18 AM To: OpenLDAP-devel@openldap.org 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?
Maucci, Cyrille wrote:
IMDB ?
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.
++Cyrille
-----Original Message----- From: openldap-devel-bounces@OpenLDAP.org [mailto:openldap-devel-bounces@OpenLDAP.org] On Behalf Of Howard Chu Sent: Sunday, November 13, 2011 11:18 AM To: OpenLDAP-devel@openldap.org 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 wrote:
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?
Is that really an issue given the common practice to refer to it as back-mdb?
I'm pretty sure on will find a lot of name clashes when sticking to three letter acronyms ending with "db" anyway.
But if you really see a need for changing the name how about simply back-mmapdb?
Ciao, Michael.
Michael Ströder wrote:
Howard Chu wrote:
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?
Is that really an issue given the common practice to refer to it as back-mdb?
I'm pretty sure on will find a lot of name clashes when sticking to three letter acronyms ending with "db" anyway.
But if you really see a need for changing the name how about simply back-mmapdb?
I'm not sure that we need to change the name; I was asking the question.
back-whatever is of course unambiguous, in OpenLDAP. "MDB" itself will be used in other contexts.
Howard Chu wrote:
I'm not sure that we need to change the name; I was asking the question.
As said: Personally I don't think that a name change is needed.
In your presentation you said you want to provide a stand-alone lib e.g. for SASL etc. So it's rather a question on how to name the lib to avoid a name clash of different libs. I guess you already looked at that one though.
The file suffix .mdb is also ok for me even if there's another database product using the same suffix. I rather don't expect anybody to openldap back-mdb files or other libmdb files by double-click.
Ciao, Michael.
Quick answer: Don't know. Longer:
It'd be nice to do if that would avoid most nameclashes, but as Michael says, <letter>db will clash. E.g. I thought of sdb (single-level store) or odb (Openldap's DB). But they clash with OpenOffice databases which is perhaps worse than with Microsoft stuff.
.mmdb (Memory Mapped DB) seems mostly unused, but perhaps 4-letter .exts still remain messier than clashes with other applications' .exts.