From: | Josh Berkus <josh(at)agliodbs(dot)com> |
---|---|
To: | pgsql-performance(at)postgresql(dot)org |
Cc: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
Subject: | Re: memcached and PostgreSQL |
Date: | 2004-11-22 04:27:15 |
Message-ID: | 200411212027.15554.josh@agliodbs.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
Bruce,
> The big concern I have about memcache is that because it controls
> storage external to the database there is no way to guarantee the cache
> is consistent with the database. This is similar to sending email in a
> trigger or on commit where you can't be certain you send email always
> and only on a commit.
Well, some things ... ON COMMIT triggers, or messages with NOTIFY, would
improve the accuracy by cutting down on cached aborted transactions.
However, caching is of necessity imperfect. Caching is a trade-off; greater
access speed vs. perfect consistency (and any durability). There are cases
where the access speed is more important than the consistency (or the
durability). The answer is to use memcached judiciously and be prepared to
account for minor inconsistencies.
For that matter, as with other forms of cumulative asynchronous materialized
view, it would be advisable to nightly re-build copies of data stored in
memcached from scratch during system slow time, assuming that the data in
memcached corresponds to a real table. Where memcached does not correspond
to a real table (session keys, for example), it is not a concern at all.
--
Josh Berkus
Aglio Database Solutions
San Francisco
From | Date | Subject | |
---|---|---|---|
Next Message | Sean Chittenden | 2004-11-22 04:55:16 | Re: memcached and PostgreSQL |
Previous Message | Bruce Momjian | 2004-11-22 04:15:43 | Re: memcached and PostgreSQL |