On Tue, 8 Feb 2000, Kevin Dangoor wrote:
But are the Digital Creations guys aware of this problem, and thinking to a solution?
In the short term I don't foresee a lot of traffic on my site, and I hope that in the long term the problem with ZODB will be fixed.
*whole bunch* of traffic before you'll run into a problem. And, after that, if you just think of a good scheme to break the objects up into separate containers, then there won't be any trouble.
I think Kevin is right. If you device some simple hashing scheme for your users, lets say by doing a checksum on their names or use some combination of the letters then you would really need *many* concurrent hits to see a problem. I also think that some common ConflictErrors should be dealt at Zope level and not in the application. For instance the above mentioned problem, but from Kevin's email it seems that some simple cases like ConflictError arising from adding objects to folders simultaneously, are intellegently handled. Note also that if you use an RDBMS or even the filesystem you won't get into problems with concurrent users. OTOH its convenient to have things in ZODB.
Also, DC plans to make it possible to use multiple storages for one logical object database. There are some heavy duty issues they need to work out before that is possible though. Once it happens, you could use the FileSystem storage for your relatively static content and BerkeleyStorage or SQLStorage for frequently changing content. There are limitless possibilities for dealing with these issues where the application demands it.
I think when multiple storages become available a lot of current problems will become trivial to implement, like as you have mentioned, an efficient hit counter. Pavlos