Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email email@example.com
From: Michael Tokarev (mjttls.msk.ru)
Date: Sat Apr 21 2001 - 07:38:35 CDT
Phil Howard wrote:
> Do you know of a web site or document that gives a complete
> description of all these db file technology choices? It seems
> people can almost pick a name out of a hat and there's another
> one, but not even a list of them all.
Unfortunately I'm not that person who knows such a resource... :(
But. Basically, there are 4 dbs in common use. Them are:
dbm or ndbm - this is "standard" map in many OSes, including
e.g. solaris. Implementation varies, but basically this map
should be avoided now due to it's common limitations. Postfix
supports it, but f.e. on solaris it is recommended not to use
it, since there is a real chance to "misread" it (there was some
examples of bad dbm behavour on this list). Map uses two files,
name.pag and name.dir (but in many today's implementations, only
one of them really used, second file is empty or a link to first
gdbm - GNU map. It has interface-level support for dbm and ndbm,
and has native interface. Not supported by postfix.
Berkely DB (hash and btree), .db extension -- this database has
very long good history, maintaned now by Sleepycat (www.sleepycat.com).
Fits good for many applications, well supported by postfix.
For my personal usage it was too fat (both memory and disk usage),
while it positioned as "database for embedded systems". Postfix
in principle can use it even better (i.e it should not need to
be reread on changes, at least 3.x versions). Allows you to do
simultaneous updates and queries.
CDB (Constant Data Base) - this is relatively new one, but used
more-or-less widely after DJB's products (it is in qmail, djbns
and all others) -- huh, anyone remembered it's homepage?? :) --
but it can be found starting at www.qmail.org.
As name suggests, this database doesn't allows any updates --
to change something in there, you need to rebuild it. As such,
it doesn't have any locking etc, and as a result it is very simple
(query routine have only dozen of C code) and fast. Rebuilding is
also very fast (fractions of a time needed to rebuild berkely db).
Current original code isn't free, and there is no "standard place"
where it may be installed (but there is "freecdb" project at Debian).
Not supported by postfix, but there is my patch that adds support
for it, that also included it's implementation and builts it into
postfix (Wietse dislike to implement cdb inside postfix, this is
because cdb map isn't there).
There are others, notable, dbz (used in InterNetNews for example),
but them are for special purposes or not so-widely used.
To unsubscribe, send mail to majordomopostfix.org with content
(not subject): unsubscribe postfix-users