> However, memcached (and for us, pg_memcached) is an excellent way to
> improve
> horizontal scalability by taking disposable data (like session
> information)
> out of the database and putting it in protected RAM.
So, what is the advantage of such a system versus, say, a "sticky
sessions" system where each session is assigned to ONE application server
(not PHP then) which keeps it in RAM as native objects instead of
serializing and deserializing it on each request ?
I'd say the sticky sessions should perform a lot better, and if one
machine dies, only the sessions on this one are lost.
But of course you can't do it with PHP as you need an app server which
can manage sessions. Potentially the savings are huge, though.
On Google, their distributed system spans a huge number of PCs and it has
redundancy, ie. individual PC failure is a normal thing and is a part of
the system, it is handled gracefully. I read a paper on this matter, it's
pretty impressive. The google filesystem has nothing to do with databases
though, it's more a massive data store / streaming storage.