Flemming Funch wrote:
Say I'm making a repository of documents, like articles or e-mail messages, and I expect to end up with 100s of thousands of those, should I confidently work on making them all Zope objects, or should I stick with mySQL records and/or files in the file system, like I normally would?
I'll take a stab at this: Quantity of data doesn't tip the scales towards Zope or SQL. If you have small units of data that change frequently, SQL, using a non-transactional storage like BerkleyStorage, or packing frequently are all reasonable approaches. If you have a number of large (multimegabyte) files, the filesystem is probably the best place for them, with something like LocalFS. Also nice because you can have a "real" ftp server serving the files, but still use zope to reference them. If your data expresses several many->many relations, a relational database may be the solution, but don't underestimate the power of Zcatalog. for data expressing one->many relationships, ZODB rocks. In your example, I would use the ZODB because emails are always hierarchical, and use Zcatalog to let people slice & dice it. The articles would depend on what views you need to put on them and what metadata you want. You can also do some super neat stuff with ZODB+SQL, as the very illuminating Zope Question : Virtual folders / URL's thread is illustrating. -- mindlace@imeme.net good design is as close as I want to get to ideology.