ShareNothingArchitecture
From Epowiki
In a shared nothing architecture all data are kept in a database and shared via the database. You would not keep any data in your application. Every time you need data you hit the database.
One advantage of this approach is that it is very simple to program. You don't have to worry about keeping state in live objects. Of course if you application is a service, and very low latencies are expected, then this approach may not work.
This obviously puts a lot of stress on the database, but the thought is the database can be made to scale more readily than applications. MySQL's addition of clustering has made share nothing an inexpensive scalability option for many web sites.
A good explanation of the shar enothing approach can be found at http://www.zefhemel.com/archives/2004/09/01/the-share-nothing-architecture.
You don't need a pure share nothing architecture. You can perform read caching like Live Journal does using memcached.
"The Case for Shared Nothing" is also interesting reading (http://db.cs.berkeley.edu/papers/hpts85-nothing.pdf).
