[Schevo-devel] Re: concurrency and copy-on-write snapshots
Matthew Scott
mscott at springfieldtech.com
Thu Jun 22 10:58:06 EDT 2006
On Jun 22, 2006, at 8:35 AM, Jofell Gallardo wrote:
> Hi guys... I would want to contribute to your project. It's my
> dream to get involved with an object db project (better if open
> source), but I dunno how to start. i see your feature-lists but
> dunno how the these things work, actually :P....
Thanks for joining :)
Right now, Schevo is under-documented, and we are all too aware of
that. :( However we do have some basic documentation on the Schevo
Trac that could help get you started, and we are glad to assist you
here on this list (and in the #schevo channel on freenode).
One thing to keep in mind about Schevo is that it differs from other
object databases in some ways. Schevo restricts the structure and
API of the database schema and the data itself. This restriction
affords lots of automation as far as indexing and keeping track of
object relationships. It also provides a nice, coherent API that
once you are accustomed to, works in your favor to promote rapid
development.
In many ways, you can translate RDBMS concepts more or less directly
to Schevo concepts as far as structuring your data. This may be
useful to help get started, and as you become more familiar with
Schevo you'll find ways in which Schevo extends beyond what you're
accustomed to.
> I do know python and other languages, and worked with BDB before
> (but not that hardcore)...
>
> Also, I guess it's a good suggestion that we employ BDB for Schevo,
> to use it's DB replication feats and stuff... if ever I may be
> missing some points, please enlighten me.
If the BDB backend for Durus that Jesus Cea is working on is
compatible with how Schevo uses Durus, I can see that as being a
definite option once we use the latest version of Durus (see http://
schevo.org/trac/ticket/5)
As far as DB replication, I am not so sure that read/write
replication would be possible simply by using BDB, since there are
synchronization issues that are probably best left handled at the
Schevo level.
In Schevo 2 (which predates the use of Durus in Schevo), we had a
simple replication service available that allowed multiple clients to
have a local database synchronized with the server. It was used for
development, not in any live deployments.
We don't yet have something like that in Schevo 3, simply because we
haven't found a pressing need for it yet, and Schevo is very much
developed on the basis of real-world use cases and needs. I'm sure
the replication need will become more urgent in the coming months,
though. :)
More near term will be the ability to interact with a Schevo database
server using HTTP. That capability is being developed in a separate
project (open source-licensed, to be made available in July) but may
be merged into Schevo itself at some point once it matures.
--
Matthew Scott
mscott at springfieldtech.com
More information about the Schevo-devel
mailing list