i'm currently planning to implement zope to power a large number (200+) of hosted sites. the sites all receive moderate ammounts of traffic, and are currently dispersed across three seperate webservers. we're running into what seems to be a rather significant problem--where do we store the data for the sites? right now it's in an outdated, unstable, and rather unreliable RDBMS (an older version of snap's primebase server). the original plan was to migrate it to MySQL, however since much of the content is (more or less) static, ZODB may be a better option. the docs on zope.org (particularly this one:http://www.zope.org/Members/anthony/sql_vs_ZODB) don't really address some of my concerns, such as, if we have 2GB of data we need to stick in the DB, and the ZODB always stays loaded in memory, what kinds of problems may arise (i envision terrible swapping problems)? is it even reasonable to expect the ZODB to hold that much data? the appeal of using ZODB is that we can use all of the features of zope. projects like berkelystorage seem to be a step towards a middle-ground style solution, but it doesn't look like they've reached a very stable release yet. has anyone else out there run a setup like this? or just a zope implementation with a large ammount of data (zope.org comes to mind)? what kind of solutions where used (hardward or software-wise)? am i just incredibly mistaken when it comes to how zodb stores it's data? -- jacob walcik jwalcik@notwithstanding.org
jacob walcik wrote:
some of my concerns, such as, if we have 2GB of data we need to stick in the DB, and the ZODB always stays loaded in memory, what kinds of problems may arise (i envision terrible swapping problems)? is it even reasonable to expect the ZODB to hold that much data?
All the bytes that make up user data in the ZODB aren't resident in RAM at the same time. It would be a pretty lame database if that were true. ;-) Instead, only the most recently accessed objects are resident in RAM, although there is no way to establish a hard-and-fast limit on the amount of RAM that you want ZODB to consume in total (although this is true with almost any database).
the appeal of using ZODB is that we can use all of the features of zope. projects like berkelystorage seem to be a step towards a middle-ground style solution, but it doesn't look like they've reached a very stable release yet.
BerkeleyStorage is in beta I think... although if you're just starting out with Zope, and you don't need any of the fancy stuff that BerkeleyStorage has to offer, I would suggest sticking with FileStorage.
participants (2)
-
Chris McDonough -
jacob walcik