Otázky:
1. Je aplikace pgmemcache transparentní?
2. Existuje nějaká synchronizace mezi vyrovnávacími pamětmi memcached a PostgreSQL Shared?
Odpověď:
pgmemcache(memcached) není transparentní pro aplikaci, musíte provést změny v aplikaci pro push nebo načtení dat z mezipaměti.
EnterpriseDB, produkt PostgresPlus Advance Server obsahuje funkci nazvanou Infinite Cache, která je založena na osvědčené technologii memcached open source distribuované mezipaměti objektů.
O EnterpriseDB, Enterprise PostgreSQL Company, poskytuje produkty PostgreSQL podnikové třídy z nejpokročilejší open source databáze na světě. Produkty Postgres Plus společnosti jsou ideální pro aplikace náročné na transakce vyžadující vynikající výkon, masivní škálovatelnost a kompatibilitu s proprietárními databázovými produkty.
Přehled
Výše uvedený diagram pomáhá porozumět architektuře pgmemcache vs infinite cache. V nekonečné mezipaměti jsou všechny stránky nejprve prohledávány v shared_buffers a poté v Infinite Cache. Synchronizace mezi sdílenou vyrovnávací pamětí a nekonečnou vyrovnávací pamětí zajišťuje transparentnost aplikace, což není případ pgmemcache.
Infinite Cache je rychlejší a zcela aplikačně transparentní. Není potřeba žádný speciální kód od vývojářů. Zahřeje mezipaměť pomocí několika paralelních procesů a předběžně načte mezipaměť při spuštění, což zkracuje dobu zahřívání.
Chcete-li využívat nekonečnou mezipaměť, musíte si stáhnout PostgresPlus Advance Server, což je produkt kompatibilní s Oracle dodávaný s Infinite Cache.
Odkaz ke stažení:
http://www.enterprisedb.com/downloads/postgres-postgresql-downloads
Implementace Infinite cache je stejně jednoduchá jako memcached, níže uvedený odkaz vám pomůže s nastavením nekonečné cache.
http://www.enterprisedb.com/docs/en/8.4/perf/Postgres_Plus_Advanced_Server_Performance_Guide-04.htm
Velmi poučná diskuse na fóru komunity PostgreSQL:-
http://archives.postgresql.org/pgsql-performance/2011-07/msg00001.php