21 JSONから二面性への移行
JSON-to-Dualityマイグレータは、1つ以上の既存のJSONドキュメント・セットをJSONリレーショナル二面性ビューに移行できます。そのPL/SQLサブプログラムは、推測された暗黙的なドキュメント・コンテンツ関係に基づいてビューを生成します。デフォルトでは、共有可能なドキュメント部分は共有され、ビューは更新可能性が最大化するように定義されます。
- 二面性ビューのJSON列
JSONリレーショナル二面性ビューを使用すると、開発者は、シンプルさや効率性を損なうことなく、非常に効率的なリレーショナル・データ・ストレージ・モデルを使用しながら、データ・アクセスにJSONドキュメントを活用できます。 - JSONから二面性への移行について
既存および新規アプリケーションのJSON-To-Dualityマイグレータのユースケースについて学習します。 - JSON To Dualityマイグレータのコンポーネント: コンバータとインポータ
JSON To Dualityマイグレータには、コンバータとインポータの2つのコンポーネントがあります。それぞれのPL/SQLサブプログラムについて説明します。 - マイグレータ・パラメータを指定するJSON構成フィールド
マイグレータ構成オブジェクトを引数としてPL/SQLDBMS_JSON_DUALITY
サブプログラムinfer_schema
、infer_and_generate_schema
およびimport_all
に渡すことで、JSONから二面性への移行を構成します。このようなオブジェクトのサポートされているフィールドについて説明します。 - 学校経営の例(マイグレータの入力ドキュメント)
既存の学生、教師およびコースのドキュメント・セットは、学校経営の例に対するJSON-to-Dualityマイグレータの入力を構成しています。一般的な移行シナリオでは、それぞれが別のデータベースからJSONダンプ・ファイルの形式で受信される可能性があります。 - コンバータを使用する前に(1): データベース・ドキュメント・セットの作成
JSON-to-Dualityコンバータを使用する前に、元の外部ドキュメント・セットからJSON
型のドキュメント・セットをOracle Databaseに作成する必要があります。各ドキュメント・セットのコンバータへの入力は、JSON
データ型の単一列を含むOracle Database表です。 - コンバータを使用する前に(2): データ・ガイドJSONスキーマの作成(オプション)
データ・ガイドJSONスキーマは、構造情報および型情報に加えて、ドキュメント・セット内のフィールドに関する頻度情報を提供します。このようなスキーマを使用すると、移行がどのように進行するかを把握でき、ドキュメント・セットを比較するためのショートカットとして他のJSONスキーマと比較できます。 - JSON-To-Dualityコンバータ: 機能
コンバータは、1つ以上の格納されたドキュメント・セットの固有の構造および型指定をJSONスキーマとして推測します。スキーマを使用して、コンバータはDDLコードを生成し、ドキュメント・セットをサポートするために必要なデータベース・オブジェクト(二面性ビューとその基礎となる表および索引)を作成します。 - 二面性への移行、簡易レシピ
入力フィールドがまれに出現するのか、まれに使用される型があるのかを無視することで、JSONリレーショナル二面性への移行が容易になります。このような外れ値のケースに対処すると、移行プロセスが複雑になる可能性があります。 - コンバータの使用(デフォルトの動作)
デフォルトの構成フィールド値(minFieldFrequency
およびminTypeFrequency
を除く)を指定したJSON-to-Dualityコンバータの使用を示します。具体的には、構成フィールドuseFlexFields
がtrue
です。ドキュメント・セットをサポートするために必要なデータベース・オブジェクトが推測され、それらを構築するためのSQL DDLコードが生成されます。 - デフォルトの変換後のインポート
デフォルトの変換(minFieldFrequency
およびminTypeFrequency
を除く)を具体的にはuseFlexFields:true
で実行すると、学生、教師およびコースの入力ドキュメント・セットからほぼすべてのドキュメントが正常にインポートされますが、一部のフィールドは元の入力ドキュメントとまったく同じではありません。 - コンバータの使用(useFlexFields=false)
useFlexFields
=false
を指定したJSON-to-Dualityコンバータの使用を示します。それ以外は、構成はデフォルトです(minFieldFrequency
およびminTypeFrequency
を除く)。ドキュメント・セットをサポートするために必要なデータベース・オブジェクトが推測され、それらを構築するためのSQL DDLコードが生成されます。 - 変換後のインポート(useFlexFields=false)
インポートを試行すると、エラー・ログ表が作成され、問合せが実行されて、インポート・エラーおよびインポートされたドキュメントが表示されます。 - マイグレータ構成のみでは修正できないエラー
フィールドまたはその値を外れ値と見なさないようにマイグレータを構成した場合でも、マイグレータは他の種類の問題を検出できます。単純な例では、異なるドキュメント・セット間のデータ矛盾を検出します。
親トピック: その他のユーティリティ