Frågor:
1. Är pgmemcache-applikationen transparent?
2. Finns det någon synkronisering mellan memcached och PostgreSQL Shared buffers?
Svar:
pgmemcache(memcached) är inte applikationsgenomskinlig, du måste göra ändringar i applikationen för att pusha eller hämta data från cachen.
EnterpriseDB, produkt PostgresPlus Advance Server inkluderar en funktion som heter Infinite Cache, som är baserad på produktionsbeprövad teknologi som lagrar den distribuerade objektcachen med öppen källkod.
Om EnterpriseDB, Enterprise PostgreSQL Company, tillhandahåller PostgreSQL-produkter i företagsklass av världens mest avancerade öppen källkodsdatabas. Företagets Postgres Plus-produkter är idealiska för transaktionsintensiva applikationer som kräver överlägsen prestanda, massiv skalbarhet och kompatibilitet med egna databasprodukter.
Översikt
Ovanstående diagram hjälper till att förstå arkitekturen för pgmemcache vs infinite cache. I infinite cache, söks alla sidor först i shared_buffers och sedan i Infinite Cache. Synkronisering mellan delad buffertcache och oändlig cache gör applikationstransparens, vilket inte är fallet med pgmemcache.
Infinite Cache, är snabbare och helt applikationstransparent. Ingen speciell kod behövs från utvecklare. Värmer upp din cache med flera parallella processer och förladdar cachen vid start, vilket minskar uppvärmningstiden.
För att använda oändlig cache måste du ladda ner PostgresPlus Advance Server som är Oracle-kompatibel produkt medföljande Infinite Cache.
Länk till nedladdning:
http://www.enterprisedb.com/downloads/postgres-postgresql-downloads
Implementering av Infinite cache är lika enkelt som memcached, länken nedan hjälper till att ställa in den oändliga cachen.
http://www.enterprisedb.com/docs/en/8.4/perf/Postgres_Plus_Advanced_Server_Performance_Guide-04.htm
Mycket informativ diskussion på PostgreSQL Community Forum:-
http://archives.postgresql.org/pgsql-performance/2011-07/msg00001.php