質問:
1。 pgmemcacheアプリケーションは透過的ですか?
2。 memcachedとPostgreSQL共有バッファの間に同期はありますか?
回答:
pgmemcache(memcached)はアプリケーションに対して透過的ではないため、キャッシュからデータをプッシュまたは取得するには、アプリケーションで変更を行う必要があります。
EnterpriseDB、製品PostgresPlus Advance Serverには、Infinite Cacheと呼ばれる機能が含まれています。これは、オープンソースの分散オブジェクトキャッシュをmemcachedした本番環境で実証済みのテクノロジーに基づいています。
EnterpriseDBについてEnterprisePostgreSQLCompanyは、世界で最も先進的なオープンソースデータベースのエンタープライズクラスのPostgreSQL製品を提供しています。同社のPostgresPlus製品は、優れたパフォーマンス、大規模なスケーラビリティ、および独自のデータベース製品との互換性を必要とするトランザクション集約型のアプリケーションに最適です。
概要
上の図は、pgmemcacheと無限キャッシュのアーキテクチャを理解するのに役立ちます。無限キャッシュでは、すべてのページが最初にshared_buffersで検索され、次にInfiniteCacheで検索されます。共有バッファキャッシュと無限キャッシュの間の同期により、アプリケーションの透過性が高まります。これは、pgmemcacheの場合とは異なります。
Infinite Cacheは、より高速で完全にアプリケーションに対して透過的です。開発者からの特別なコードは必要ありません。複数の並列プロセスでキャッシュをウォームアップし、起動時にキャッシュをプリロードして、ウォーミング時間を短縮します。
Infinite Cacheを利用するには、InfiniteCacheにバンドルされているOracle互換製品であるPostgresPlusAdvance Serverをダウンロードする必要があります。
ダウンロードリンク:
http://www.enterprisedb.com/downloads/postgres-postgresql-downloads
無限キャッシュの実装はmemcachedと同じくらい簡単です。以下のリンクは、無限キャッシュの設定に役立ちます。
http://www.enterprisedb.com/docs/en/8.4/perf/Postgres_Plus_Advanced_Server_Performance_Guide-04.htm
PostgreSQLコミュニティフォーラムに関する非常に有益なディスカッション:-
http://archives.postgresql.org/pgsql-performance/2011-07/msg00001.php