[rucksack-devel] Indexed classes

Henrik Hjelte henrik at evahjelte.com
Fri Jan 18 11:17:18 UTC 2008


On Jan 17, 2008 8:03 PM, Edi Weitz <edi at agharta.de> wrote:
> On Thu, 17 Jan 2008 10:51:26 +0100, "Henrik Hjelte" <henrik at evahjelte.com> wrote:
>
> > I really like the rucksack code and design, but it has a major
> > problem and that is that it doesn't work with several connected lisp
> > processes.
>
> AFAIU that's not a "problem", but a design decision.  If only one of
> your processes accesses the database, then code which takes care of
> concurrency is unneeded overhead (and will maybe introduce new bugs).
> If you have more than one process, there are locks.

With the rucksack multiversion concurrency and transaction handling, much
of the thinking and code is already in place, already causing these effects.

>
> > That makes it an impossible choice for many applications.
>
> Really?

My hypothesis is that the majority of all applications that wants a
database wants to be able to use it from more than one process.
At least my mirrorball says that the number of rucksack users will
increase.

> Well, it's Arthur's code, but my take on this is that the major
> advantage of Rucksack over almost all other Lisp persistence packages
> is that it is pure Lisp.

And open source, good code quality, not dependent on an external
program such as a database.

There is no reason to kick people out, of course it should be
possible to use several backends. The idea is that
lisp puritans with single user applications can use one backend,
and other could use a concurrent client-server store.

> Introducing a foreign library just for this
> task seems like a very bad idea to me.

Just for this task? IMO the ability for several users to access
a database concurrently is more than a little task.

/Henrik



More information about the rucksack-devel mailing list