2016-05-17 8 views
4

私たちはストリーミングレプリケーション(WALレプリケーション)を使用してPostgres 9.3を正常に導入しました。私たちは現在、2つのスレーブを持っています.2番目のスレーブは最初のスレーブからのカスケードスレーブです。どちらのスレーブもホットスタンバイで、アクティブな読み取り専用接続が使用されています。postgresストリーミングレプリケーション - スレーブ専用インデックス

負荷のために、ハードウェア仕様がわずかに異なる3番目のスレーブを作成し、それをデータウェアハウスのより多くのケースで読み取り専用データベースとして使用する別のアプリケーションを作成したいと考えています。異なるアプリケーションのために、そのアプリケーション専用に最適化し、いくつかの追加インデックスを使用してパフォーマンスを向上させたいと考えています。サイズとパフォーマンスの目的で、私たちはマスターや他の2つのスレーブでそれらのインデックスを持っていないでしょう。

私の主な質問は、ストリーミングレプリケーションのためにスレーブに異なるインデックスを作成できますか?それ以外のデータウェアハウス手法がありますか?

+0

データウェアハウスなので、リアルタイムでなければならないのですか?または、「2番目の奴隷から夜間に荷を積む」のようなものはありますか? 「バックアップとログからスレーブを複製し、複製から切り離し、倉庫インデックスを構築する」(毎日繰り返す)のようなものです。 – Thilo

+1

理想的にはリアルタイムに近い。私たちは夜間のバックアップをロードしようとしましたが、残念ながら100 + GBのデータベースで、最初からロードするまでにおよそ4時間かかることがあります。 WALの複製は神からの贈りものです。 –

答えて

2

だから私のメインの質問は、私たちは、レプリケーション

いいえ、あなたはできないのストリーミング奴隷に異なるインデックスを作成することができ、あります。ストリーミング物理複製は、それより低いレベルで動作し、ディスクブロックをコピーします。 「これは索引の更新です」、「これは表への挿入」などに注意を払っていません。スタンバイ専用の索引を維持するために必要な情報はありません。

もしそうでない場合は、私が逃している別のデータウェアハウス手法がありますか?

あなたがやりたいことができますように論理レプリケーション・ソリューションは、

。セカンダリサーバーは追加のインデックスを持つことができるように、行の変更を送信します。

+0

美容...すみません。過去にスローニーを使用していましたが、巨大なファンではありませんでしたが、私は他の2つの巨大なファンを持っています。 –

関連する問題