3

ストリーミング レプリケーション モードで動作する posgresql 9.1 サーバーのペアがあります。これらの各サーバーには 2 つのデータベースがあります。

1 つは、可能な限りリアルタイムに複製する必要があるデータを含む「ライブ」データベースであり、もう 1 つは、重要ではなく、一定期間にわたって再生成または構築できるデータを含む「キャッシュ」データベースです。

「キャッシュ」データベースは、ログに記録されていないテーブルをすべてに使用し (テーブルが切り捨てられても気にしないため)、一種のメモリ内データベースとして効果的に使用します。これらのテーブルに対して多くの読み取り/書き込みがあるため、非常にうまく機能します。ログに記録されていないテーブルを使用すると、高負荷で大量のメモリを持つサーバーで劇的なパフォーマンスの向上が見られました。

スレーブ側で別の「キャッシュ」データベースを作成する必要があるときに、問題が発生します。これは、Web アプリケーションが正しく機能するために必要です。データベースが読み取り専用モードのソースでは、これは不可能です...

他の誰かが同様の問題を抱えているかどうか、またはスレーブサーバーでログに記録されていないテーブルを作成する方法があるかどうか疑問に思っていますか? ストリーミング レプリケーションは postgres では「オール オア ナッシング」のようで、特定のデータベースに対してオン/オフを切り替えることはできません。

ログに記録されていないテーブルを間違って使用している可能性がありますが、これまでのところ、うまく機能するものを見つけることができませんでした。

どんなポインタでも大歓迎です...

4

1 に答える 1