Boost logo

Boost :

Subject: Re: [boost] Boost library submission (poll for interest)
From: vicente.botet (vicente.botet_at_[hidden])
Date: 2010-01-05 15:21:29


Hi, happy to see that the database and persistent libraries using transactions proliferate on Boost.

----- Original Message -----
From: "Bob Walters" <bob.s.walters_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Monday, January 04, 2010 11:56 PM
Subject: [boost] Boost library submission (poll for interest)

>
> I have a library I would like to submit for inclusion in Boost. This
> message is just soliciting for interest per the submission process.
> If interest is expressed, I'll carry on with a preliminary submission.
>
> The library is an embedded database, to the tune of products like the
> embedded version of InnoDB, BerkeleyDB, etc. In this case, the
> database is structured as a Boost.interprocess shared region
> (typically mmap so it can page) which contains one or more STL-like
> containers holding application defined data types in directly usable
> form (i.e. not serialized.) The database infrastructure is fully ACID
> compliant, with durability via write-ahead logging, and periodic
> checkpoints. More details, examples, and documentation is available
> at http://stldb.sourceforge.net/ for more details on this libraries
> capabilities.
>
> Let me know if there's any interest, and I'll work on a preliminary
> submission for the sandbox.

I'm interested on a library that has transactional shared memory, but something more general that your containers database in shared memory. Can your library be extendeed to manage with types that are not containers?

If I have understood, the data is stored using Boost.Interprocess. Could you clarify why do you force the stored types to be Serializable?

With your library, there are alreasy 3 libraries under construction providing a transactional service (Boost.STLdb, Boost.Persistent and TBoost.STM). The ideal would be to have a single transactional framework with several transactional resources, e.g shared memory resource (Boost.STLdb), persistent resource (Boost.Persistent ), in memory resource (Boost.STM). If I'm not wrong Boost.Persistent contains already a Ressource concept. I would like to see how this transactional framework can be made generic so the three libraries can share the same transaction. Stefan, Bob, are you interesteed in participating on such a framework?

Could you give a link from where to download the code. If you want I can add your library to the Boost Libraries Under Construction page https://svn.boost.org/trac/boost/wiki/LibrariesUnderConstruction.

Best,
Vicente


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk