このページでは、Spanner で使用できるさまざまなタイプのインスタンス構成、それらの違いやトレードオフについて説明します。
インスタンス構成
Spanner インスタンスの構成により、インスタンスのデータベースの地理的な場所とレプリケーションが定義されます。インスタンスを作成する際は、リージョン、デュアルリージョン、またはマルチリージョンとして構成する必要があります。インスタンスの構成を選択すると、インスタンスでのデータの格納場所が決まります。
- リージョン構成: すべてのリソースが 1 つの Google Cloud リージョン内に存在する
- デュアルリージョン構成: すべてのリソースが 2 つのリージョンにまたがり、一国内に存在する(Enterprise Plus エディションで利用可能)
- マルチリージョン構成: リソースが 3 つ以上のリージョンにまたがり存在する(Enterprise Plus エディションで利用可能)
リージョン固有の考慮事項の詳細については、地域とリージョンをご覧ください。
事前定義のリージョンとレプリケーション トポロジを持つインスタンス構成は、ベース インスタンス構成と呼ばれます。カスタム インスタンス構成を作成し、事前定義されたベース インスタンス構成にオプションの読み取り専用レプリカを追加できます(Enterprise エディションと Enterprise Plus エディションで利用可能)。追加される読み取り専用レプリカは、既存のインスタンス構成に含まれないリージョンに配置する必要があります。追加できるオプションの読み取り専用リージョンの一覧については、リージョンで有効な構成とマルチリージョンで有効な構成の「オプションのリージョン」列をご覧ください。ベース インスタンス構成のレプリケーション トポロジは変更できません。詳細については、読み取り専用レプリカをご覧ください。
インスタンスをすべてのインスタンス構成から他のリージョン、デュアルリージョン、マルチリージョン インスタンス構成(regional-us-central1 から nam3 など)に移動できます。また、追加のレプリカを含む新しいカスタム インスタンス構成を作成し、インスタンスを新しいカスタム インスタンス構成に移動することもできます。たとえば、インスタンスが regional-us-central1 にあり、読み取り専用レプリカ us-west1 を追加する場合、regional-us-central1 を使用して新しいカスタム インスタンス構成をベース構成として追加し、us-west1 を読み取り専用レプリカとして追加します。次に、インスタンスをこの新しいカスタム インスタンス構成に移動します。
リージョン構成
Google Cloud サービスは、北米、南米、ヨーロッパ、アジア、オーストラリアのロケーションでご利用いただけます。ユーザーとサービスが 1 つのリージョン内に存在する場合、最も低いレイテンシで読み取りと書き込みを行うため、リージョン インスタンス構成を選択します。
ベース リージョン構成の場合、Spanner は 3 つの読み取り / 書き込みレプリカを、そのリージョン内の異なる Google Cloudゾーンに保持します。各レプリカには本番環境のデータベースの完全なコピーが含まれ、読み取り / 書き込みリクエストと読み取り専用リクエストを実行できます。Spanner は異なるゾーンのレプリカを使用し、1 つのゾーンで障害が発生しても、データベースが利用可能な状態に保たれます。
有効な構成
Spanner では、次のベース リージョン インスタンス構成が用意されています。次の表に記載されていないオプションの読み取り専用レプリカ リージョンをリクエストするには、このリクエスト フォームに記入します。これらのリクエストは、今後のリージョンの需要を測定するために使用されます。送信されたリクエストに直接返信することはできません。
| ベース構成名 | リージョンの説明 | オプションのリージョン | 
|---|---|---|
| 南北アメリカ | ||
| regional-northamerica-northeast1 | モントリオール | |
| regional-northamerica-northeast2 | トロント | |
| regional-northamerica-south1 | ケレタロ < | |
| regional-southamerica-east1 | サンパウロ | |
| regional-southamerica-west1 | サンティアゴ | |
| regional-us-central1 | アイオワ | 読み取り専用: asia-northeast11-ORasia-south11-OReurope-west21-OReurope-west91-ORus-west31-OR | 
| regional-us-east1 | サウスカロライナ州 <0x0 | 読み取り専用: us-central11-ORus-west11-OReurope-west11-OReurope-west31-OR | 
| regional-us-east4 | バージニア州北部 < | |
| regional-us-east5 | コロンバス <0 | |
| regional-us-south1 | ダラス | |
| regional-us-west1 | オレゴン | |
| regional-us-west2 | ロサンゼルス < | |
| regional-us-west3 | ソルトレイクシティ <0x0A | |
| regional-us-west4 | ラスベガス <0 | |
| ヨーロッパ | ||
| regional-europe-central2 | ワルシャワ < | |
| regional-europe-north1 | フィンランド | |
| regional-europe-north2 | ストックホルム | |
| regional-europe-southwest1 | マドリッド | |
| regional-europe-west1 | ベルギー | 読み取り専用: us-central11-ORus-west11-OR | 
| regional-europe-west2 | ロンドン | |
| regional-europe-west3 | フランクフルト < | |
| regional-europe-west4 | オランダ | |
| regional-europe-west6 | チューリッヒ | |
| regional-europe-west8 | ミラノ <0x | |
| regional-europe-west9 | パリ | |
| regional-europe-west10 | ベルリン <0x | |
| regional-europe-west12 | トリノ <0x | |
| アジア太平洋 | ||
| regional-asia-east1 | 台湾 <0x0 | |
| regional-asia-east2 | 香港 <0x0 | |
| regional-asia-northeast1 | 東京 <0x0 | |
| regional-asia-northeast2 | 大阪 <0x0 | |
| regional-asia-northeast3 | ソウル <0x | |
| regional-asia-south1 | ムンバイ <0 | |
| regional-asia-south2 | デリー <0x | |
| regional-asia-southeast1 | シンガポール <0 | |
| regional-asia-southeast2 | ジャカルタ <0 | |
| regional-australia-southeast1 | シドニー <0 | |
| regional-australia-southeast2 | メルボルン <0 | |
| 中東 | ||
| regional-me-central1 | ドーハ <0x | |
| regional-me-central2 | ダンマーム <0 | |
| regional-me-west1 | テルアビブ < | |
| アフリカ | ||
| regional-africa-south1 | ヨハネスブルグ <0x0A | |
レプリケーション
ベース リージョン構成には、3 つの読み取り / 書き込みレプリカが含まれます。Spanner のミューテーションそれぞれに、投票レプリカの過半数を占める書き込みクォーラムが必要になります。リージョン構成では、書き込みクォーラムは、3 つのレプリカのうち 2 つのレプリカから構成されます。リーダー リージョンと投票レプリカの詳細については、レプリケーションをご覧ください。
カスタム リージョン インスタンス構成を作成し、追加の読み取り専用レプリカを追加できます。読み取り専用レプリカは、読み取りのスケーリングを容易にし、低レイテンシのステイル読み取りをサポートします。これらの読み取り専用レプリカは、書き込みクォーラムには含まれません。 レプリカは、リージョン インスタンスの 99.99% 以上の Spanner SLA に影響しません。 [オプションのリージョン] 列にリストされているロケーションは、オプションの読み取り専用レプリカとして追加できます。選択した読み取り専用レプリカのロケーションが表示されない場合は、新しいオプションの読み取り専用レプリカのリージョンをリクエストできます。詳細については、読み取り専用レプリカをご覧ください。
リージョン構成のパフォーマンスに関するベスト プラクティス
最適なパフォーマンスを得るには、次のベスト プラクティスに従ってください。
- スキーマを設計すると、ホットスポットやその他のパフォーマンスに関する問題を回避できます。
- 重要なコンピューティング リソースを Spanner インスタンスと同じリージョンに配置します。
- 高優先度の CPU 使用率を 65% 未満に抑えるために十分なコンピューティング容量をプロビジョニングします。
- Spanner ノードあたりのスループット量については、リージョン構成でのパフォーマンスをご覧ください。
デュアルリージョン構成
デュアルリージョン構成では、インスタンス構成の定義に応じて、1 つの国の 2 つのリージョンにまたがる複数のゾーンにデータベースのデータを複製できます。
デュアルリージョン構成では、次の処理が行われます。
- 1 つの国の 2 つのリージョンから読み取りを実行する。
- データ所在地の要件に準拠する。
- リージョン構成よりも高い可用性と SLA を提供する。
Spanner は、オーストラリア、ドイツ、インド、日本においてデュアルリージョン構成を提供しています。
Spanner ノードあたりのスループット量については、デュアルリージョン構成のパフォーマンスをご覧ください。
有効な構成
Spanner は、次のベース デュアルリージョン インスタンス構成を提供します。
| ベース構成名 | リソースのロケーション | リージョン | 
|---|---|---|
| dual-region-australia1 | au(オーストラリア) | シドニー: australia-southeast1L、2RW+1Wメルボルン: australia-southeast22RW+1W | 
| dual-region-germany1 | de(ドイツ) | ベルリン: europe-west10L、2RW+1Wフランクフルト: europe-west32RW+1W | 
| dual-region-india1 | in(インド) | ムンバイ: asia-south1L、2RW+1Wデリー: asia-south22RW+1W | 
| dual-region-japan1 | jp(日本) | 東京: asia-northeast1L、2RW+1W大阪: asia-northeast22RW+1W | 
利点
デュアルリージョン インスタンスの主な利点は次のとおりです。
- 99.999% の可用性: 同じ国の 2 つのリージョンにまたがり、Spanner リージョン構成で提供される 99.99% の可用性よりも高い可用性を実現します。 
- データの分散: 2 つのリージョン間で、強整合性を維持した状態でデータを自動的に複製します。 
- データ所在地の要件: デュアルリージョンの使用可能な構成に記載されている国のデータ所在地の要件に準拠します。 
レプリケーション
デュアルリージョンには、各リージョンに 3 つずつ、合計 6 つのレプリカが含まれます。リージョンの 1 つがデフォルトのリーダー リージョンとして指定されます(前の表を参照)。データベースのリーダー リージョンは変更できます。各リージョンには、2 つの読み取り / 書き込みレプリカと 1 つのウィットネス レプリカがあります。両方のリージョンが正常で、デュアルリージョン構成で実行されている場合、6 つのレプリカすべてにわたってクォーラムが確立されます。クォーラムを形成してトランザクションを commit するには、各リージョンに少なくとも 2 つのレプリカが必要です。
フェイルオーバーとフェイルバック
デュアルリージョン構成を作成すると、システム分析情報ダッシュボードでデュアルリージョン クォーラムの健全性タイムライン指標を確認できます。この指標は、デュアルリージョン構成でのみ使用できます。次の 3 つのクォーラムの状態が表示されます。
- デュアルリージョン クォーラム: Global
- 各リージョンのシングル リージョン クォーラム(SydneyやMelbourneなど)
サービスが中断された場合は、タイムラインにオレンジ色のバーが示されます。カーソルを合わせると、サービス停止の開始時間と終了時間が表示されます。
目標復旧時間(RTO)を短縮するには、デュアルリージョン クォーラムの健全性タイムライン指標をモニタリングするか、アラートを設定することをおすすめします。この指標は、リージョン障害が発生した場合に、セルフマネージド フェイルオーバーのタイミングを決定することに役立ちます。インスタンスのフェイルオーバーをトリガーすると、通常は 1 分以内にフェイルオーバーが完了します。
Spanner は、Google が管理する自動フェイルオーバーもサポートしています。このフェイルオーバーには、障害が最初に検出されてから最大で 45 分かかります。長い RTO は、Google のサービス全体のモニタリングによるものです。リージョン全体が中断されており、リージョンレベルの影響があることを確認するために、追加のシグナルを収集する必要があります。また、フェイルオーバーにより、構成内のユーザーの全体的なサービスが向上します。
手動でフェイルオーバーとフェイルバックを行うには、デュアルリージョン クォーラムを変更するをご覧ください。
手動フェイルオーバーとフェイルバックの決定を行う際は、以下の点に注意してください。
- 3 つのクォーラムがすべて正常な場合、対応は必要ありません。 
- いずれかのリージョンで中断が表示されている場合は、リージョン単位でのサービスの中断が発生している可能性があります。これにより、デュアルリージョン クォーラムで実行されているデータベースの可用性が低下する可能性があります。クォーラムを確立できず、トランザクションが最終的にタイムアウトするため、書き込みが失敗することもあります。システム分析情報ダッシュボードを使用して、データベースのエラー率とレイテンシを確認します。エラー率やレイテンシが増加している場合は、フェイルオーバーすることをおすすめします。つまり、デュアルリージョン クォーラムをデュアルリージョンから正常なリージョンに変更します。中断されたリージョンが正常に戻ったら、フェイルバックして、デュアルリージョン クォーラムをシングルリージョンからデュアルリージョンに変更する必要があります。Google は、リージョンの停止を検出すると、フェイルオーバーとフェイルバックを自動的に実行します。中断を検出した場合、手動でフェイルオーバーすることもできます。ただし、手動フェイルオーバーを行った場合は、手動でフェイルバックする必要があります。 
- 両方のシングル リージョンが正常であるにもかかわらず、デュアルリージョン クォーラムに中断が表示される場合は、ネットワーク パーティショニングの問題があります。2 つのリージョンは相互に通信できなくなったため、システム全体は正常ではないにもかかわらず、それぞれ正常と表示されます。このシナリオでは、デフォルトのリーダー リージョンにフェイルオーバーすることをおすすめします。ネットワーク パーティションの問題が解決し、デュアルリージョン クォーラムが正常に戻った後は、手動でフェイルバックする必要があります。 
リージョンの停止やネットワーク パーティションの問題が発生した場合にデータが失われることはないため、デュアルリージョンの場合、目標復旧時点(RPO)はゼロになります。
デュアルリージョン クォーラムのモード(シングルまたはデュアル)を確認するには、デュアルリージョン クォーラムを確認するをご覧ください。
フェイルオーバーとフェイルバックのベスト プラクティス
フェイルオーバーとフェイルバックのベスト プラクティスには、次のようなものがあります。
- リージョンの障害や中断が発生していない場合は、シングル リージョンにフェイルオーバーしないでください。シングル リージョンにフェイルオーバーすると、そのシングル リージョンで障害が発生した場合にシステム全体が使用できなくなる可能性が高くなります。
- フェイルオーバーするリージョンを選択する際は注意してください。フェイルオーバーするリージョンを間違って選択すると、データベースが使用できなくなり、リージョンがオンラインに戻るまで回復不能になります。確認するには、フェイルオーバーを実行する前に、bash スクリプトを使用してシングル リージョンの健全性を確認します。
- 異常なリージョンがデフォルトのリーダー リージョンである場合は、フェイルオーバーを実行した後にデフォルトのリーダー リージョンを変更してフェイルオーバー リージョンにします。両方のリージョンが再び正常に動作するようになったことを確認したら、フェイルバックを行い、リーダー リージョンを元のリーダー リージョンに戻します。
- 手動フェイルオーバーを行った場合は、手動でフェイルバックしてください。
制限事項
カスタム デュアルリージョン インスタンス構成を作成することはできません。デュアルリージョン インスタンス構成に読み取り専用レプリカを追加することはできません。
マルチリージョン構成
Spanner リージョン構成では、1 つのリージョン内の複数のゾーン間でデータの複製が行われます。ただし、次の場合には、リージョン構成が最適ではない場合があります。
- アプリケーションで複数の地理的ロケーションからデータを頻繁に読み取る必要がある場合(たとえば、北アメリカとアジアのユーザーにデータを提供する場合など)。
- 読み取りとは異なるロケーションから書き込みを行う場合(たとえば、北アメリカで大規模な書き込みワークロードを実行し、ヨーロッパで大規模な読み取りワークロードを実行する場合など)。
マルチリージョン構成では、次のことを行えます。
- 複数のリージョンからの書き込みに対応する。
- リージョン障害が発生した場合にも可用性を維持する。
- リージョン構成よりも高い可用性と SLA を提供する。
マルチリージョン構成では、インスタンス構成の定義に応じて、複数のリージョンの異なるゾーンにデータベースのデータを複製できます。この追加のレプリカにより、近くの複数の場所あるいは構成されたリージョン内から低レイテンシでデータを読み取ることが可能になります。
しかし、マルチリージョン構成の場合、クォーラム(読み取り / 書き込み)レプリカが複数のリージョンに分散されます。これらのレプリカが相互に通信して書き込みクォーラムを形成すると、追加のネットワーク レイテンシが発生する場合があります。読み取りにクォーラムは必要ありません。その結果、書き込みレイテンシはわずかに増加しますが、より多くの場所から速やかに読み取りを行えます。詳細については、書き込みと読み取りでのレプリカのロールをご覧ください。
有効な構成
Spanner は、次のベース マルチリージョン インスタンス構成を提供します。次の表に記載されていないオプションの読み取り専用レプリカ リージョンをリクエストするには、このリクエスト フォームに記入します。これらのリクエストは、今後のリージョンの需要を測定するために使用されます。送信されたリクエストに直接返信することはできません。
1 つの大陸
| ベース構成名 | リソースのロケーション | 読み取り / 書き込みリージョン | 読み取り専用リージョン | ウィットネス リージョン | オプションのリージョン | 
|---|---|---|---|---|---|
| asia1 | global | 東京: asia-northeast1L、2R大阪: asia-northeast22R | なし | ソウル: asia-northeast3 | 読み取り専用: us-west11-ORus-east51-OR | 
| asia2A | global | ムンバイ: asia-south1L,2Rデリー: asia-south22Rシンガポール: asia-southeast11R | なし | なし | |
| eur3 | eu(欧州連合) | ベルギー: europe-west1L、2Rオランダ: europe-west42R | なし | フィンランド: europe-north1 | 読み取り専用: us-central11-ORus-east41-OR | 
| eur5 | global | ロンドン: europe-west2L,2Rベルギー: europe-west12R | なし | オランダ: europe-west4 | 読み取り専用: us-central11-ORus-east11-OR | 
| eur6 | global | オランダ: europe-west4L、2Rフランクフルト: europe-west32R | なし | チューリッヒ: europe-west6 | 読み取り専用: us-east12-OR | 
| eur7 | eu(欧州連合) | ミラノ: europe-west8L、2Rフランクフルト: europe-west32R | なし | トリノ: europe-west12 | |
| nam3 | us(米国) | 北バージニア: us-east4L、2Rサウスカロライナ: us-east12R | なし | アイオワ: us-central1 | 読み取り専用: us-west21-ORasia-southeast11-ORasia-southeast21-OReurope-west11-OReurope-west21-OR | 
| nam6 | us(米国) | アイオワ: us-central1L、2Rサウスカロライナ: us-east12R | オレゴン: us-west11Rロサンゼルス: us-west21R | オクラホマ: us-central2 | |
| nam7 | us(米国) | アイオワ: us-central1L、2R北バージニア: us-east42R | なし | オクラホマ: us-central2 | 読み取り専用: us-east12-ORus-south11-ORus-west11-OReurope-west12-OR | 
| nam8 | us(米国) | ロサンゼルス: us-west2L,2Rオレゴン: us-west12R | なし | ソルトレイクシティ: us-west3 | 読み取り専用: asia-southeast12-OReurope-west22-ORus-east51-OR | 
| nam9 | us(米国) | 北バージニア: us-east4L,2Rアイオワ: us-central12R | オレゴン: us-west12R | サウスカロライナ: us-east1 | |
| nam10 | us(米国) | アイオワ: us-central1L、2Rソルトレイクシティ: us-west32R | なし | オクラホマ: us-central2 | |
| nam11 | us(米国) | アイオワ: us-central1L、2Rサウスカロライナ: us-east12R | なし | オクラホマ: us-central2 | 読み取り専用: us-west11-OR | 
| nam12 | us(米国) | アイオワ: us-central1L、2R北バージニア: us-east42R | オレゴン: us-west12R | オクラホマ: us-central2 | |
| nam13 | us(米国) | オクラホマ: us-central2L、2Rアイオワ: us-central12R | なし | ソルトレイクシティ: us-west3 | |
| nam14 | global | 北バージニア: us-east4L、2Rモントリオール: northamerica-northeast12R | なし | サウスカロライナ: us-east1 | |
| nam15 | us(米国) | ダラス: us-south1L、2R北バージニア: us-east42R | なし | アイオワ: us-central1 | |
| nam16 | us(米国) | アイオワ: us-central1L、2R北バージニア: us-east42R | なし | コロンバス: us-east5 | 読み取り専用: us-west22-OR | 
3 つの大陸
| ベース構成名 | リソースのロケーション | 読み取り / 書き込みリージョン | 読み取り専用リージョン | ウィットネス リージョン | オプションのリージョン | 
|---|---|---|---|---|---|
| nam-eur-asia1 | global | アイオワ: us-central1L、2Rオクラホマ: us-central22R | ベルギー: europe-west12R台湾: asia-east12R | サウスカロライナ: us-east1 | 読み取り専用: us-west21-OR | 
| nam-eur-asia3 | global | アイオワ: us-central1L、2Rサウスカロライナ: us-east12R | ベルギー: europe-west11Rオランダ: europe-west41R台湾: asia-east12R | オクラホマ: us-central2 | 
- L: デフォルトのリーダー リージョン詳細については、データベースのリーダー リージョンを変更するをご覧ください。 
- 1R: リージョン内に 1 つのレプリカ。 
- 2R: リージョン内に 2 つのレプリカ。 
- 2RW+1W: リージョン内に 2 つの読み取り / 書き込みレプリカと 1 つのウィットネス レプリカ。 
- 1-OR: 1 つのオプションのレプリカ。カスタム リージョン インスタンス構成を作成し、オプションの読み取り専用レプリカを 1 つ追加できます。詳細については、カスタム インスタンス構成を作成するをご覧ください。 
- 2-OR: 最大 2 つのオプションのレプリカ。カスタム リージョン インスタンス構成を作成し、1 つまたは 2 つのオプションの読み取り専用レプリカを追加できます。読み取りレイテンシを低く維持するために、可能であれば 2 つ追加することをおすすめします。詳細については、カスタム インスタンス構成を作成するをご覧ください。 
- A: このインスタンス構成は許可リストによって制限されています。アクセス権を取得するには、テクニカル アカウント マネージャーにお問い合わせください。 
マルチリージョン インスタンス構成のリソースのロケーションによって、構成の障害復旧ゾーンの保証が決まります。これは、データが保存される場所を定義します。
利点
マルチリージョン インスタンスの主な利点は次のとおりです。
- 99.999% の可用性。Spanner リージョン構成では、99.99% を超える可用性を実現できます。 
- データの分散: Spanner は、リージョン間でデータを自動的に複製します。これにより、強整合性が保証されます。データが使用場所に保存されるため、レイテンシが減少し、ユーザー エクスペリエンスが改善されます。 
- 外部整合性: Spanner のレプリカが地理的に離れた場所に分散していても、1 台のマシン上でデータベースを実行している場合と同様に Spanner を使用できます。トランザクションはシリアル化が保証され、データベース内のトランザクションの順序に従って、commit されたトランザクションがクライアントに表示されます。外部整合性は、一部のサービスで提供されている強整合性よりも確実な保証を行います。この特性の詳細については、TrueTime と外部整合性をご覧ください。 
レプリケーション
各ベース マルチリージョン構成には、読み取り / 書き込みリージョンとして指定された 2 つのリージョンが存在し、それぞれのリージョンに 2 つの読み取り / 書き込みレプリカが含まれます。この読み取り / 書き込みリージョンの 1 つがデフォルトのリーダー リージョンになり、ここにデータベースのリーダー レプリカが含まれます。Spanner では、ウィットネス リージョンという 3 番目のリージョンにウィットネス レプリカが配置されます。
クライアントがデータベースに変異を送信するたびに、デフォルトのリーダー リージョンの 1 つのレプリカと 4 つの投票レプリカの 2 つから書き込みクォーラムが形成されます。投票に参加するレプリカによっては、構成内の 2 または 3 つのリージョンのレプリカからクォーラムが形成される場合があります。この 5 つの投票レプリカに加えて、一部のベース マルチリージョン構成には、低レイテンシの読み取りを行う読み取り専用レプリカが含まれています。読み取り専用レプリカを含むリージョンを読み取り専用リージョンといいます。
通常、マルチリージョン構成では、投票リージョンが地理的に近い場所(1,600 km 以下)に配置され、高速書き込みを可能にする低レイテンシのクォーラムが形成されます(詳細)。ただし、調整による障害を避けるため、リージョンは少なくとも数百 km 以上離れた場所に配置されています。さらに、クライアント アプリケーションがリーダー以外のリージョンにある場合、Spanner はリーダー認識ルーティングを使用して読み取り / 書き込みトランザクションを動的に転送し、データベースのレイテンシを短縮します。詳細については、リーダー認識ルーティングをご覧ください。
オプションの読み取り専用レプリカを使用して、カスタム マルチリージョン インスタンス構成を作成できます。作成したカスタム読み取り専用レプリカは、書き込みクォーラムに含めることはできません。[オプションのリージョン] 列にリストされているロケーションは、オプションの読み取り専用レプリカとして追加できます。選択した読み取り専用レプリカのロケーションが表示されない場合は、新しいオプションの読み取り専用レプリカのリージョンをリクエストできます。詳細については、読み取り専用レプリカをご覧ください。
マルチリージョン構成のパフォーマンスに関するベスト プラクティス
最適なパフォーマンスを得るには、次のベスト プラクティスに従ってください。
- スキーマを設計すると、ホットスポットやその他のパフォーマンスに関する問題を回避できます。
- 最適な書き込みレイテンシを実現するには、書き込みの多いワークロードのコンピューティング リソースをデフォルトのリーダー リージョン内またはその近くに配置します。
- デフォルトのリーダー リージョン外で最適な読み取りパフォーマンスを得るには、15 秒以上のステイルネスを使用します。
- ワークロードが単一リージョンに依存しないようにするには、重要なコンピューティング リソースを少なくとも 2 つのリージョンに配置します。1 つのリージョンでの停止がすべてのアプリケーションに影響しないように、2 つの異なる読み取り / 書き込みリージョンの横に配置することをおすすめします。
- 各リージョンで全体の CPU 使用率を 45% 以下に抑えるために十分なコンピューティング容量をプロビジョニングします。
- Spanner ノードあたりのスループット量については、マルチリージョン構成のパフォーマンスをご覧ください。
インスタンスを移動する
インスタンスをすべてのインスタンス構成から他のリージョン構成(リージョン構成とマルチリージョン構成を含む)に移動できます。インスタンスを移動してもダウンタイムは発生しません。Spanner では移動中も強整合性を含め通常のトランザクション保証が提供されます。
Spanner インスタンスの移動の詳細については、インスタンスを移動するをご覧ください。
デフォルトのリーダー リージョンを構成する
データベースのデフォルト リーダー リージョンのロケーションを変更して、接続するクライアントに近づけることでアプリケーションのレイテンシを短縮するには、デュアルリージョンまたはマルチリージョン構成を使用する Spanner インスタンスのリーダー リージョンを変更します。リーダー リージョンのロケーションを変更する手順については、データベースのリーダー リージョンを変更するをご覧ください。データベースのデフォルトのリーダー リージョンになれるリージョンは、デュアルリージョンまたはマルチリージョン構成の読み取り / 書き込みリージョンのみです。
リーダー リージョンはすべてのデータベース書き込みを処理するため、トラフィックの大部分が 1 つの地理的リージョンから発生している場合は、そのリージョンに移動してレイテンシを低減できます。デフォルトのリーダー リージョンの更新は安価で実施でき、データの移動は不要です。新しい値が有効になるまで数分かかります。
デフォルトのリーダー リージョンの変更はスキーマ変更であり、長時間実行オペレーションを使用します。必要に応じて、長時間実行オペレーションのステータスを取得できます。
トレードオフ: リージョン、デュアルリージョン、マルチリージョンの構成
| 構成 | 可用性 | レイテンシ | 料金 | データの局所性 | 
|---|---|---|---|---|
| リージョン | 99.99% | リージョン内の書き込みレイテンシを低減します。 | 低コスト。料金をご覧ください。 | 地域別のデータ ガバナンスを有効にします。 | 
| デュアルリージョン | 99.999% | 2 つの地理的リージョンからの読み取りレイテンシが低下し、書き込みレイテンシがわずかに増加します。 | 高コスト。料金をご覧ください。 | 1 つの国の 2 つのリージョンにデータを分散します。 | 
| マルチリージョン | 99.999% | 複数の地理的リージョンからの読み取りレイテンシが低下し、書き込みレイテンシがわずかに増加します。 | 高コスト。料金をご覧ください。 | 構成内の複数のリージョンにデータを分散します。 | 
次のステップ
- Spanner インスタンスを作成する方法を学習する。
- Google Cloud 地域とリージョンの詳細