Fragen:
1. Ist die pgmemcache-Anwendung transparent?
2. Gibt es eine Synchronisierung zwischen Memcache- und PostgreSQL-Freigabepuffern?
Antwort:
pgmemcache(memcached) ist nicht anwendungstransparent, Sie müssen Änderungen in der Anwendung vornehmen, um die Daten aus dem Cache zu verschieben oder abzurufen.
EnterpriseDB, das Produkt PostgresPlus Advance Server, enthält eine Funktion namens Infinite Cache, die auf einer produktionserprobten Technologie basiert, die den Open-Source-Cache für verteilte Objekte memcached.
Über EnterpriseDB, die Enterprise PostgreSQL Company, bietet PostgreSQL-Produkte der Enterprise-Klasse der weltweit fortschrittlichsten Open-Source-Datenbank. Die Postgres Plus-Produkte des Unternehmens eignen sich ideal für transaktionsintensive Anwendungen, die eine überlegene Leistung, massive Skalierbarkeit und Kompatibilität mit proprietären Datenbankprodukten erfordern.
Übersicht
Das obige Diagramm hilft, die Architektur von pgmemcache vs. unendlichem Cache zu verstehen. Beim unendlichen Cache werden alle Seiten zuerst in shared_buffers und dann im unendlichen Cache durchsucht. Die Synchronisierung zwischen Shared Buffer Cache und Infinite Cache sorgt für Anwendungstransparenz, was bei pgmemcache nicht der Fall ist.
Infinite Cache, ist schneller und vollständig anwendungstransparent. Es wird kein spezieller Code von Entwicklern benötigt. Erwärmt Ihren Cache mit mehreren parallelen Prozessen und lädt den Cache beim Start vor, wodurch die Aufwärmzeit verkürzt wird.
Um Infinite Cache nutzen zu können, müssen Sie PostgresPlus Advance Server herunterladen, ein Oracle-kompatibles Produkt, das mit Infinite Cache gebündelt ist.
Download-Link:
http://www.enterprisedb.com/downloads/postgres-postgresql-downloads
Die Implementierung des unendlichen Caches ist so einfach wie memcached, der folgende Link hilft beim Einrichten des unendlichen Caches.
http://www.enterprisedb.com/docs/en/8.4/perf/Postgres_Plus_Advanced_Server_Performance_Guide-04.htm
Sehr informative Diskussion im PostgreSQL Community Forum:-
http://archives.postgresql.org/pgsql-performance/2011-07/msg00001.php