in reply to Well Designed RDBMS

We can't really make the decision for you. You've identified the issue -- is it more important to be able to do queries on attributes with reasonable time, or is it more important that the attributes be flexible to the extent that you don't need to change tables? Your question about the database server is important though -- if you go with a database where you can't 'ALTER TABLE foo DROP COLUMN barattrib', like older versions of postgres, you're not going to want attributes to be a table. I would recommend against a hybrid system -- if you go that way, you need to worry about the data stores getting out of sync. Finally, don't worry about the performance too much -- BLOBs and other large formats are likely to be a bigger performance hit than normal table access, which is much more of an optimized, well-studied area of database implementation. In sum, go with an attribute table unless you feel you have a good reason to do otherwise.