ユースケース4: リージョンの削除
組織は、3つのオンプレミスKVStoreをフランクフルト、ロンドンおよびダブリンにそれぞれ1つずつデプロイします。要件に従って、3つすべてのリージョンにいくつかのMR表を作成しました。ビジネスの縮小の一環として、ダブリン・リージョンを除外して、2つのリージェントを対象としたNoSQL Databaseを使用することに決めました。次のいくつかのトピックでは、前の各項で設定したNoSQL環境から既存のリージョンを削除する方法について学習します。
前提条件
複数リージョンNoSQL Databaseからリージョンを削除する際の前提条件について学習します。
- そのリージョンにリンクされているすべてのMR表への書込みを停止します。
- そのリージョン内のMR表に対するすべての書込みが他のリージョンと同期されていることを確認します。これは、異なるリージョン間でデータの一貫性を維持するのに役立ちます。
注意:
現在のリリースの時点では、Oracle NoSQL Databaseで事前に表を読取り専用にすることはできません。そのため、特定のMR表への書込みをアプリケーション・レベルで停止する必要があります。リージョンの分離
複数リージョンNoSQL Databaseからリージョンを分離する方法について学習します。
リージョンを削除する場合は、参加している他のすべてのリージョンからそのリージョンを分離することをお薦めします。リージョンを分離すると、複数リージョンNoSQL DatabaseのすべてのMR表からそのリージョンが切断されます。
DUB
では、残りのリージョン、つまりFRA
およびLND
からの書込みを認識できません。- リージョン
FRA
およびLND
では、DUB
リージョンからの書込みを認識できません。
注意:
複数リージョンNoSQL Databaseから削除するリージョンを事前に分離することは必須ではありませんが、より明確であると考えられることから、このアプローチが提案されています。- 参加している他のリージョンのすべてのMR表からターゲット・リージョンを削除します。
- 分離するリージョン内のすべてのMR表から他のすべてのリージョンを削除します。
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"
}
}
FRA
およびLND
リージョンがダブリン(DUB
)リージョンの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" : {
"1" : "DUB"
}
}
分離リージョン内のMR表の削除
削除するリージョンが分離されたことを確認した後、そのリージョンで作成されたすべてのMR表を安全に削除できます。MR表の削除は、ローカル表の削除とまったく同じです。
DUB
リージョンからUsers
MR表を削除するには、kv
プロンプトから次のコマンドを実行します。kv-> execute 'drop table Users'
- オプションで、次のコマンドを実行して、
Users
表が正常に削除されていることを確認できます。kv-> show tables
分離リージョンの削除
注意:
分離リージョンを削除することは必須ではありません。将来の使用に備えて、分離リージョンを他のリージョンから削除しないで残しておくこともできます。DUB
リージョンがフランクフルト(FRA
)リージョンから削除されていることを確認します。
kv-> execute 'show regions'
regions
FRA (local, active)
LND (remote, active)
DUB
リージョンがロンドン(LND
)リージョンから削除されていることを確認します。
kv-> execute 'show regions'
regions
LND (local, active)
FRA (remote, active)