Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 May 2012 13:23:25 -0700
From:      Stanislav Sedov <stas@FreeBSD.org>
To:        Baptiste Daroussin <bapt@FreeBSD.org>
Cc:        freebsd-arch@FreeBSD.org
Subject:   Re: Switching /etc/*.db from bdb to tinycdb
Message-ID:  <20120507132325.c4bfae2d.stas@FreeBSD.org>
In-Reply-To: <20120502114115.GG31034@azathoth.lan>
References:  <20120502114115.GG31034@azathoth.lan>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 2 May 2012 13:41:15 +0200
Baptiste Daroussin <bapt@FreeBSD.org> mentioned:

> Hi,
> 
> I plan to work on switching all the /etc/*.db files from bdb 1.85 to cdb (using
> the tinycdb implementation)
> 
> Reason for doing that:
> 1/ we use the *.db files as a constant database on recreating them using
> *_mkdb(8) commands
> 2/ bdb 1.85 database are endianness dependant which can cause problem if I want
> pkgng to be able to create users when cross installing packages (like adding
> packages in a mips eb chroot environment on an amd64 host)
> 3/ the tinycdb API is clean and easy to use (I find it easier and cleaner to
> deal with it)
> 4/ tinycdb is public domain so not problem for us to use it.
> 
> On the side effects, I'm not sure this is relevant but tinycdb is also faster to
> read then bdb 1.85.
> 
> How do I plan to do it.
> 
> I plan to import the read part or tinycdb into libc and the write part into
> libutil (to avoid cluttering libc).
> 
> Why importing to libc? to allow all the get*ent to parse the /etc/*.db files.
> 
> How to implment it? slowly with backward compatibility:
> for each kind of files: try to open with cdb, if fail fall back to bdb.
> 
> I plan to rewrite all the *_mkdb for make them use cdb.
> 
> Link for tinycdb:
> http://www.corpit.ru/mjt/tinycdb.html
> 
> Any opinion, ideas, advices on this?

Did you look at leveldb [1], btw?  It seems to be very fast, better supported, and
support some advanced features that can be useful for other base applications
(like transactions, custom sorting, snapshots).

It's distributed under BSD license.

[1] http://code.google.com/p/leveldb/

-- 
Stanislav Sedov
ST4096-RIPE

()  ascii ribbon campaign - against html e-mail 
/\  www.asciiribbon.org   - against proprietary attachments



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120507132325.c4bfae2d.stas>