Here's an interesting post on design practices for building massively-scalable apps on database infrastructure such as Google BigTable.
The takeaway: this ain't your granpappy's old relational database system, so throw out everything he taught you. Denormalize. Prefer big fluffy things to small granular things. Don't bother with DB constraints - enforce the model in the application. Prefer small frequent updates to large page updates.
The good news (or bad, depending on how fed up you are with your local DBA) - don't bother with all this unless you intend to scale to millions of users.
Refactoring 2nd Ed sent to printers
2 weeks ago