web-dev-qa-db-ja.com

Postgresの水平方向のスケーリング

Postgresqlデータベース上でビジネスを運営しているとしましょう。しばらくすると、1つのpostgresqlインスタンスで処理できないほど大量のトラフィックが発生するため、インスタンスを追加して(水平にスケーリングして)成長に対応できるようにします。

データはリレーショナルであるため、おそらくキー/値ソリューションに切り替えることはオプションではありません。

Postgresqlでどうしますか?

PS。 Postgresqlバージョン:9.5

19
user232343
  1. 読み込みが多いワークロードに関する場合は、レプリカを追加するだけです。ワークロード全体を処理するのに必要な数のレプリカを追加します。ラウンドロビン方式で、レプリカ全体のすべてのクエリのバランスを取ることができます。

  2. 書き込みが多いワークロードに関する場合は、データベースを多くのサーバーに分割する必要があります。異なるマシンに異なるテーブルを配置することも、1つのテーブルを多数のマシンに分割することもできます。後者の場合、主キーの範囲ごと、主キーのハッシュごと、または行ごとに垂直にテーブルを分割できます。上記の各ケースでは、トランザクション性が失われる可能性があるため、トランザクションによって変更および照会されるすべてのデータが同じサーバーに常駐するよう注意してください。

15
Dennis Anikin