MongoDB JSONファイルからOracle NoSQL Database Cloud Serviceへの移行
この例では、Oracle NoSQL Database Migratorを使用してMongo-DB形式のデータをOracle NoSQL Database (NDCS)にコピーする方法を示します。
ユースケース
複数のオプションを評価した後、組織はOracle NoSQL DatabaseをNoSQL Databaseプラットフォームとして最終決定します。NoSQLの表およびデータはMongoDBにあるため、これらの表およびデータをOracle NDCSに移行する方法を探しています。
ソース構成テンプレートでファイルまたはディレクトリを指定することで、MongoDBがエクスポートした移行用のJSONデータを含むファイルまたはディレクトリをコピーできます。
{"_id":0,"name":"Aimee Zank","scores":[{"score":1.463179736705023,"type":"exam"},{"score":11.78273309957772,"type":"quiz"},{"score":35.8740349954354,"type":"homework"}]}
{"_id":1,"name":"Aurelia Menendez","scores":[{"score":60.06045071030959,"type":"exam"},{"score":52.79790691903873,"type":"quiz"},{"score":71.76133439165544,"type":"homework"}]}
{"_id":2,"name":"Corliss Zuk","scores":[{"score":67.03077096065002,"type":"exam"},{"score":6.301851677835235,"type":"quiz"},{"score":66.28344683278382,"type":"homework"}]}
{"_id":3,"name":"Bao Ziglar","scores":[{"score":71.64343899778332,"type":"exam"},{"score":24.80221293650313,"type":"quiz"},{"score":42.26147058804812,"type":"homework"}]}
{"_id":4,"name":"Zachary Langlais","scores":[{"score":78.68385091304332,"type":"exam"},{"score":90.2963101368042,"type":"quiz"},{"score":34.41620148042529,"type":"homework"}]}
MongoDBは、標準モードおよび緩和モードの2種類のファイルのJSON形式に対する拡張をサポートしています。mongoexportツールを使用して正規モードまたは緩和モードで生成されるMongoDB形式のJSONファイルを指定できます。どちらのモードも、移行のためにNoSQL Database Migratorでサポートされています。
MongoDB Extended JSON (v2)ファイルの詳細は、mongoexport_formatsを参照してください。
MongoDB形式のJSONファイルの生成の詳細は、mongoexportを参照してください。
例
デモでは、MongoDB形式のJSONファイルをNDCSに移行する方法について説明します。この例では、手動で作成した構成ファイルを使用します。- 移行するソースとシンクを指定します。
- ソース: MongoDB形式のJSONファイル
- シンク: Oracle NoSQL Database
- mongoexportユーティリティを使用してMongo DBからデータを抽出します。詳細は、mongoexportを参照してください。
- Mongo-DB形式のJSONファイルのデータと一致する表スキーマを使用して、シンクにNoSQL表を作成します。かわりに、
defaultSchema
属性をtrueに設定することで、デフォルトのスキーマ構造で表を作成するようにNoSQL Database Migratorに指示することもできます。ノート:
MongoDB形式のJSONソースの場合、表のデフォルト・スキーマは次のようになります。CREATE TABLE IF NOT EXISTS <tablename>(ID STRING, DOCUMENT JSON,PRIMARY KEY(SHARD(ID))
説明:tablename
= 表構成の値。ID
= mongoDBでエクスポートされたJSONソース・ファイルからの_id
値。DOCUMENT
= mongoDBでエクスポートされたJSONソース・ファイルの内容全体が、_id
フィールドを除くDOCUMENT
列に集計されます。
- OCIクラウド資格証明を指定し、OCI構成ファイルで取得します。構成ファイルを
/home/.oci/config
に保存します。Oracle NoSQL Database Cloud Serviceの使用の資格証明の取得を参照してください。[DEFAULT] tenancy=ocid1.tenancy.oc1.... user=ocid1.user.oc1.... fingerprint= 43:d1:.... key_file=</fully/qualified/path/to/the/private/key/> pass_phrase=<passphrase>
- Oracle NoSQL Databaseのリージョン・エンドポイントおよびコンパートメント名を指定します。
- endpoint:
us-phoenix-1
- compartment:
developers
- endpoint:
MongoDB形式のJSONデータをOracle NoSQL Databaseに移行するには:
移行を検証するには、NDCSコンソールにログインし、ソース・データを使用してmyTable
が作成されていることを確認します。