Mark Stosberg mark
Wed Jan 17 07:58:09 PST 2007
I ran across 'pgmemcache' today:

http://people.freebsd.org/~seanc/pgmemcache/

It seems interesting and useful. I went looking for caching solutions
after I came across this article today on how MySpace has scaled:
http://www.baselinemag.com/print_article2/0,1217,a=198614,00.asp

They used a Slony-style replication early on, and then went through a
variety of other designs. The hindsight comment near the end caught my
attention:

"The addition of the cache servers [between the application and the
database] is something we should have done from the beginning".

Unfortunately, I found the pgmemcache docs lacking. I think I need
something like a flow chart with the application, the cache store and
the DB, showing how data gets in and out of the cache and is used by the
application.

Consider the 'memcache' instance gets a machine of its own, I'm also led
to wonder: Could it make sense to use pgmemcache on it's own for a
web-app, in place of slony+load-balancing, which seems more complex?

I like the idea that 'memcache' only caches what's "hot", and issues
with synchronization seem like they are less tenuous:  A broken cache
can always be fixed by deleting it and starting fresh. With slony, there
seems like a bigger penalty for that.

I don't meant to put down slony-- I'm using it now in testing and it's
working well enough for. I'm just curious about related options to
improve DB performance.

What caching solutions have worked well for you?

I'm using Perl's Cache::FileCache on the web-servers to save the results
of some frequent and complex queries.

   Mark




More information about the Slony1-general mailing list