Pavlos:
I would suggest that splitting should be done at the transaction level not the individual object level.
Is that because this other stuff would mean a comlpete re-write of Zope interface to the ZODB?
Initially one might keep the whole system as is,
You mean a single ZODB file?
and run a seperate process that monitors data.fs and caches a map of transaction ids to byte offsets. A client can place a request to that process passing as parameters a transaction id (and a few other things) and the server process returning the data segment of Data.fs that occured after that transaction. If packing has occured the server can notify the client about it, and then it is up to the client to deal with 'its own' Data.fs. The client upon receiving the data can either append them to the Data.fs or store them individually. A script then can use those segments to reconstruct a snapshot Data.fs for a specified time.
Very interesting proposal.
What you are suggesting is more interesting but I think also more difficult.
Isn't that always the way? Jason Spisak CIO HireTechs.com 6151 West Century Boulevard Suite 900 Los Angeles, CA 90045 P. 310.665.3444 F. 310.665.3544 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.