ユースケース4: リージョンの削除
組織は、3つのオンプレミスKVStoreをフランクフルト、ロンドンおよびダブリンにそれぞれ1つずつデプロイします。要件に従って、3つすべてのリージョンにいくつかのMR表を作成しました。ビジネスの縮小の一環として、ダブリン・リージョンを除外して、2つのリージェントを対象としたNoSQL Databaseを使用することに決めました。次のいくつかのトピックでは、前の各項で設定したNoSQL環境から既存のリージョンを削除する方法について学習します。
前提条件
複数リージョンNoSQL Databaseからリージョンを削除する際の前提条件について学習します。
- そのリージョンにリンクされているすべてのMR表への書込みを停止します。
- そのリージョン内のMR表に対するすべての書込みが他のリージョンにレプリケートされていることを確認します。これは、異なるリージョン間でデータの一貫性を維持するのに役立ちます。
ノート:
現在のリリースの時点では、Oracle NoSQL Databaseで事前に表を読取り専用にすることはできません。そのため、特定のMR表への書込みをアプリケーション・レベルで停止する必要があります。リージョンの分離
複数リージョンNoSQL Databaseからリージョンを分離する方法について学習します。
リージョンを削除する場合は、参加している他のすべてのリージョンからそのリージョンを分離することをお薦めします。リージョンを分離すると、複数リージョンNoSQL DatabaseのすべてのMR表からそのリージョンが切断されます。
- 分離リージョンでは、他のリージョンからの書込みを表示できません。
- 他のリージョンでは、分離リージョンからの書込みを表示できません。
ノート:
複数リージョンNoSQL Databaseから削除するリージョンを事前に分離することは必須ではありませんが、より明確であると考えられることから、このアプローチが提案されています。ステップ:
複数リージョンNoSQL Database環境からリージョンを分離する際には、2つのタスクを実行します。具体的には次のようにします。
- 次に示すDDLコマンドを使用して、他のリージョンのすべてのMR表からターゲット・リージョンを削除します。
- 分離するリージョン内のすべてのMR表から他のすべてのリージョンを削除します。
リージョン削除のためのMR表の変更を参照してください。
次に例を示します。
- 他の2つのリージョン(フランクフルトおよびロンドン)の
users
MR表からダブリン・リージョンを削除します。# Connect to the KVStore deployed in the 'fra' region from the SQL shell [~]$java -jar $KVHOME/lib/sql.jar \ -helper-hosts host1:5000,host2:5000,host3:5000 \ -store mrtstore –- drop the 'dub' region from the 'users' MR table sql-> ALTER TABLE users DROP REGIONS dub; Statement completed successfully
# Connect to the KVStore deployed in the 'lnd' region from the SQL shell [~]$java -jar $KVHOME/lib/sql.jar \ -helper-hosts host4:5000,host5:5000,host6:5000 \ -store mrtstore –- drop the 'dub' region from the 'users' MR table sql-> ALTER TABLE users DROP REGIONS dub; Statement completed successfully
- ダブリン・リージョンの
users
MR表から他のリージョン(フランクフルトおよびロンドン)を削除します。# Connect to the KVStore deployed in the 'dub' region from the SQL shell [~]$java -jar $KVHOME/lib/sql.jar \ -helper-hosts host7:5000,host8:5000,host9:5000 \ -store dubstore –- drop 'fra' and 'lnd' regions from the 'users' MR table sql-> ALTER TABLE users DROP REGIONS fra,lnd; Statement completed successfully
分離リージョン内のMR表の削除
削除するリージョンが分離されたことを確認した後、そのリージョンで作成されたすべてのMR表を安全に削除できます。MR表の削除は、ローカル表の削除とまったく同じです。
次に例を示します。
分離リージョン(ダブリン)からusers
MR表を削除します。
# Connect to the KVStore deployed in the 'dub' region from the SQL shell
[~]$java -jar $KVHOME/lib/sql.jar \
-helper-hosts host7:5000,host8:5000,host9:5000 \
-store dubstore
–- drop the 'users' MR table
sql-> DROP TABLE users;
Statement completed successfully
分離リージョンの削除
ノート:
分離リージョンを削除することは必須ではありません。将来の使用に備えて、分離リージョンを他のリージョンから削除しないで残しておくこともできます。ステップ:
他のリージョンから分離リージョンを削除するには、次のようにします。
sql
プロンプトに接続し、ローカルKVStoreに接続します。- SQLプロンプトから次のDDLコマンドを実行します。
DROP REGION <region name>;
- オプションで、次のコマンドを実行して、分離リージョンが正常に削除されていることを確認できます。
SHOW REGIONS;
次に例を示します。
他の2つのリージョン(フランクフルトおよびロンドン)からダブリン・リージョンを削除します。
# Connect to the KVStore deployed in the 'fra' region from the SQL shell
[~]$java -jar $KVHOME/lib/sql.jar \
-helper-hosts host1:5000,host2:5000,host3:5000 \
-store mrtstore
–- drop the 'dub' region
sql-> DROP REGION dub;
Statement completed successfully
– List the regions
sql-> SHOW REGIONS;
regions
fra (local, active)
lnd (remote, active)
# Connect to the KVStore deployed in the 'lnd' region from the SQL shell
[~]$java -jar $KVHOME/lib/sql.jar \
-helper-hosts host4:5000,host5:5000,host6:5000 \
-store mrtstore
–- drop the 'dub' region
sql-> DROP REGION dub;
Statement completed successfully
– List the regions
sql-> SHOW REGIONS;
regions
lnd (local, active)
fra (remote, active)