Toby Dickenson wrote:
On Sat, 24 Jun 2000 12:43:05 -0400, "Evan Simpson" <evan@digicool.com> wrote:
Will an app as described above still suffer from problems with high writes?
There are two independent attacks on this problem underway:
2. Implement the application-level conflict handling you read about, so that Folders and Catalogs can decide that two writes don't conflict after all, and merge them into a single update.
Yes, that will help
1. Make Folders and Catalogs store meta-data about their contents in a data structure consisting of small persistent objects, like B-Tree nodes. This reduces the scope of potential conflict (and the size of the update required by a write) to the size of one of these nodes.
As I understand it, a BTreeFolder alone (ie without application-level conflict handling) will not help here.
Sure they will, because a BTree is the moral equivalent of multiple subfolders. (This assumes that a problem in the current BTree design is fixed, which it will be. ;)
Folders have to ensure that all their contained elements have a different id. The hot-spot is the only way a Folder can achieve this.
But there is only a conflict if two transactions want to pick the same id. Going to (fixed) BTrees doesn't prevent *all* conflicts, but it does prevent most conflicts, which will be good enough for many applications. Jim -- Jim Fulton mailto:jim@digicool.com Python Powered! Technical Director (888) 344-4332 http://www.python.org Digital Creations http://www.digicool.com http://www.zope.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.