ユースケース3: 複数リージョン表の縮小

組織は、3つのオンプレミスKVStoreをフランクフルト、ロンドンおよびダブリンにそれぞれ1つずつデプロイします。要件に従って、3つすべてのリージョンにいくつかのMR表を作成しました。Users表は、この組織が作成および保守する多くのMR表の1つです。ビジネス要件の変更に応じて、ダブリン・リージョンからUsers表を削除することに決めました。次のいくつかのトピックでは、MR表を縮小する方法、つまり特定のリージョンからMR表を削除する方法について学習します。

前にUsers MR表を作成していない場合は、ユースケース1: 複数リージョン環境の設定で説明した手順を実行してください。

Users MR表にダブリン・リージョンを追加していない場合は、ユースケース2: 複数リージョン表の拡張で説明した手順を実行してください。

リージョン削除のためのMR表の変更

複数リージョン表を縮小し、複数リージョン設定に含まれるリージョンを減らす方法について学習します。

複数リージョンNoSQL Database設定で特定のリージョンからMR表を削除するには、参加している他のすべてのリージョンから次のステップを実行する必要があります。
  1. kvプロンプトに接続し、ローカルのKVStoreに接続します。
  2. kvプロンプトから次のコマンドを実行します。
    kv-> execute 'alter table <table name> drop regions <comma separated region names>'
  3. オプションで、次のコマンドを実行して、リージョンが正常に削除されていることを確認できます。
    kv-> show table -name <table name>

    注意:

    フランクフルトとロンドンのUsers表からダブリンを削除すると、これらのリージョンには、ダブリンからのUsers表に対する書込みが表示されなくなります。ただし、ダブリンのUsers表には、他の2つのリージョン(フランクフルトとロンドン)からの書込みが引き続き表示されます。ダブリン・リージョンのUsers表を他の2つのリージョンから分離する場合は、それらのリージョン、つまりフランクフルトとロンドンをダブリンのUsers表から削除する必要があります。ただし、これは単なる推奨であり、Users MR表を縮小する場合の必須のステップではありません。

ダブリン(DUB)リージョンを(他のすべてのリージョン、つまりフランクフルトとロンドンの) Users MR表から削除します。

kv-> execute 'alter table Users drop regions DUB'

DUBリージョンがフランクフルト(FRA)リージョンのUsers表から削除されていることを確認します。

kv-> show table -name Users 
{ 
  "json_version" : 1,
   "type" : "table",
   "name" : "Users",
   "shardKey" : [ "id" ],
   "primaryKey" : [ "id" ],
   "fields" : [ {
     "name" : "id",
     "type" : "INTEGER",
     "nullable" : false,
     "default" : null
   }, {
     "name" : "name",
     "type" : "STRING",
     "nullable" : true,
     "default" : null
   }, {
     "name" : "team",
     "type" : "STRING",
     "nullable" : true,
     "default" : null
   } ],
   "regions" : {
     "2" : "LND",
     "1" : "FRA"
   }
 }

DUBリージョンがロンドン(LND)リージョンのUsers表から削除されていることを確認します。

kv-> show table -name Users 
{ 
  "json_version" : 1, 
  "type" : "table", 
  "name" : "Users", 
  "shardKey" : [ "id" ], 
  "primaryKey" : [ "id" ], 
  "fields" : [ { 
    "name" : "id", 
    "type" : "INTEGER", 
    "nullable" : false, 
    "default" : null 
  }, { 
    "name" : "name", 
    "type" : "STRING", 
    "nullable" : true,
     "default" : null
   }, {
     "name" : "team",
     "type" : "STRING",
     "nullable" : true,
     "default" : null
   } ],
   "regions" : {
     "2" : "FRA",
     "1" : "LND"
   }
 }