Using TDB for glib/gobject applications

simo idra at samba.org
Tue Jun 23 14:23:48 MDT 2009


On Mon, 2009-06-22 at 01:55 -0700, Christian Hergert wrote:
> Hi Folks,
> 
> I recently put together an object data-store for applications using
> glib/gobject and had originally used BDB.  However, due to the superior
> licensing of TDB I decided to switch.
> 
> Someone had mentioned that I should send you guys a message about it in
> case anyone would find it useful.  I have a succinct blog post on it
> here[1].
> 
> It supports serialization of basic types such as ints, doubles, and
> strings as well and GObjects (members are key/value pairs).  If you
> don't want serialization it can work with buffers directly too.  If
> desired, it can transparently compress and decompress using zlib.
> 
> However, the one feature that was missing from TDB that I implemented
> was concurrent transactions.  Is there any plan to do this within TDB
> directly?  Also, my layer on top is primarily asynchronous.
> 
> [1] http://audidude.com/blog/?p=250
> 
> Thanks for reading!

Christian,
very nice job.

About TDB concurrent transactions, do you mean nested transactions or
really concurrent transactions ?

Concurrent transactions are basically impossible with TDB, how would you
handle 2 separate transaction create an object with the same key ?

Concurrent transaction would be somewhat possible if we had a way to
restrict a transaction to act only on keys with a specific prefix,
maybe, but that seem a lot of work for little gain.

In what cases do you feel the need for concurrent transactions ?

Simo.

-- 
Simo Sorce
Samba Team GPL Compliance Officer <simo at samba.org>
Principal Software Engineer at Red Hat, Inc. <simo at redhat.com>



More information about the samba-technical mailing list