[Zope-dev] Proposed solution for ZODB woes

Michel Pelletier michel@digicool.com
Sun, 20 Feb 2000 22:21:42 -0800


ethan mindlace fremen wrote:
> 
> Dyon Balding wrote:
> 
> > > 1) Longer term, Jim has talked about being able to use multiple storages
> > > simultaneously. This would allow you to set up one storage for your
> > > frequently changing stuff and one for your less frequently changing things.
> >
> > yep. multiple storages are a solution to a number of problems at the moment.
> > what is the current status of multiple storages?
> 
> I'm curious about it as well... obviously, something like it exists in
> the ZEO, but that's a little heavy for my needs

Actually, ZEO does not use multiple storages, it uses a single,
client/server storage with a single storage server serving multiple
storage clients.  Of course, when (and I do mean when) multiple storages
are supported then the storage server can also use multiple storages
(including multiple client storages, I suppose, whew!).

The status of multiple storages is that we're thinking really hard about
it.  There are a number of things to consider, many of them a ways over
my head.  Here is recent message from Jim that describes this:



Jim Fulton wrote:
> 
> Michel Pelletier wrote:
> >
> > > -----Original Message-----
> > > From: Anthony Baxter [mailto:anthony@interlink.com.au]
> > > Sent: Thursday, January 06, 2000 2:27 AM
> > > To: zope-dev@zope.org
> > > Subject: [Zope-dev] multiple ZODB files?
> > >
> > >
> > > Is it possible to set up a site such that as well as the single
> > > Data.fs file, a seperate folder (say, /foo) is loaded from a different
> > > ZODB file? In particular, changes to stuff inside /foo should
> > > be written
> > > to the foo ZODB file.
> >
> > Not yet, we have not fully thought about this problem of multiple
> > databases,
> 
> I'll add that we have thought quite a bit about it, just
> not enough.  It's harder than one might at first expect.
> 
> > but ZODB was architected to be multi-DB aware.
> 
> Unfortunately, I suspect more architectural work
> will be needed too. :(
> 
> Some issues:
> 
>   - How to handle references accross databases.
>     At a basic level, this is not too hard, but...
> 
>   - How to handle garbage collection in a multi-db environment.
>     Oops.  Storages are currently responsible for GC.  This won't
>     account for references from other databases.
> 
>   - How do databases get connected, from a UI point of view.
>     Do you get to specify a database when you add an object?
>     Any object?  Where do databases get defined?
> 
>     One idea I just thought of would be to have a databases
>     area of the control panel where one could add database
>     objects that modeled root database objects. Then, perhaps
>     one would do the moral equivalent of a link from an object in
>     one db to another.....
> 
>   - .... There are probably other issues I haven't thought of.
> 
> If anyone wants to work on this, I'd be willing to set up a mailing
> list and provide advice.
> 
> Jim
> 
> --
> Jim Fulton           mailto:jim@digicool.com
> Technical Director   (888) 344-4332              Python Powered!
> Digital Creations    http://www.digicool.com     http://www.python.org
> 
> Under US Code Title 47, Sec.227(b)(1)(C), Sec.227(a)(2)(B) This email
> address may not be added to any commercial mail list with out my
> permission.  Violation of my privacy with advertising or SPAM will
> result in a suit for a MINIMUM of $500 damages/incident, $1500 for
> repeats.
> 
> _______________________________________________
> Zope-Dev maillist  -  Zope-Dev@zope.org
> http://lists.zope.org/mailman/listinfo/zope-dev
> **  No cross posts or HTML encoding!  **
> (Related lists -
>  http://lists.zope.org/mailman/listinfo/zope-announce
>  http://lists.zope.org/mailman/listinfo/zope )