レプリケーション構成の例

このページでは、Bigtable レプリケーションの一般的なユースケースについて説明し、これらのユースケースをサポートするために使用できる設定を紹介します。

このページでは、他のユースケースに使用する設定を決定する方法についても説明します。

このページを読む前に、Bigtable レプリケーションの概要を理解する必要があります。

インスタンスにクラスタを追加する場合は、その前に、レプリケートされたテーブルの garbage-collection policies を変更する際に適用される制限事項について認識していることが必要です。

ほとんどの場合、インスタンスのクラスタの自動スケーリングを有効にする必要があります。自動スケーリングを使用すると、Bigtable はワークロードに基づいてクラスタにノードを自動的に追加および削除できます。

代わりに手動ノード割り当てを選択する場合は、インスタンス内のすべてのクラスタに十分なノードをプロビジョニングして、各クラスタがアプリケーションから受け取る負荷に加えてレプリケーションを処理できるようにします。クラスタに十分なノードがない場合、レプリケーションの遅延が増加し、メモリの増大によりクラスタでパフォーマンスの問題が発生し、インスタンス内の他のクラスタへの書き込みが拒否される可能性があります。

このドキュメントの例ではインスタンスの作成について説明しますが、既存のインスタンスにクラスタを追加することもできます。

バッチ分析ワークロードを他のアプリケーションから分離する

単一のクラスタ上で、多数の大規模読み取りを実行するバッチ分析ジョブを、読み取りや書き込みを実行するアプリケーションと並行して実行すると、大規模バッチジョブがアプリケーションのユーザーにとって処理を遅くする可能性があります。レプリケーションでは、単一クラスタ ルーティングのアプリ プロファイルを使用してバッチ分析ジョブとアプリケーション トラフィックを異なるクラスタにルーティングできるため、バッチジョブがアプリケーションのユーザーに影響を与えることはありません。

2 つのワークロードを分離するには:

  1. 2 つのクラスタを持つインスタンスを作成します。

  2. 2 つのアプリ プロファイル(名前は live-trafficbatch-analytics)を作成します。

    クラスタ ID が cluster-acluster-b の場合、live-traffic アプリ プロファイルはリクエストを cluster-a にルーティングし、batch-analytics アプリ プロファイルはリクエストを cluster-b にルーティングする必要があります。この構成では、同じアプリ プロファイルを使用するアプリケーションに対しては書き込み後読み取りの整合性が実現されますが、異なるアプリ プロファイルを使用するアプリケーションに対してはそうした特性は付与されません。

    必要に応じて、live-traffic アプリ プロファイルで単一行トランザクションを有効にできます。このプロファイルを読み取り専用に使用することを前提とする場合は、batch-analytics アプリ プロファイルで単一行トランザクションを有効にする必要はありません。

  3. live-traffic アプリ プロファイルを使用して、ライブ トラフィック ワークロードを実行します。