Using TDB for glib/gobject applications

simo idra at
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]
> Thanks for reading!

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 Sorce
Samba Team GPL Compliance Officer <simo at>
Principal Software Engineer at Red Hat, Inc. <simo at>

More information about the samba-technical mailing list