OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
 
From: Michael Tokarev (mjttls.msk.ru)
Date: Sat Apr 21 2001 - 07:38:35 CDT

  • Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

    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
      one)

     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.

    Regards,
     Michael.

    -
    To unsubscribe, send mail to majordomopostfix.org with content
    (not subject): unsubscribe postfix-users