専用Exadataインフラストラクチャ上のAutonomous AI DatabaseでのJSONドキュメントの使用
専用Exadataインフラストラクチャ上のAutonomous AI Databaseは、トランザクション、索引付け、宣言的問合せおよびビューを含むリレーショナル・データベースの機能を使用して、JavaScript Object Notation (JSON)データをネイティブでサポートしています。Autonomous AI Databaseでは、JSONドキュメントをリレーショナル・データと共存できます。
リレーショナル・データとは異なり、JSONデータは、データを定義するスキーマがなくても、データベースへの格納、索引付けおよび問合せを行うことができます。一般に、Autonomous AI DatabaseでJSONデータを作業するときには、次のタスクを実行します:
-
is json format osonチェック制約を使用したJSON列の作成 -
列へのJSONデータの挿入、および
-
JSONデータの問合せコード例の詳細な手順は、『Oracle Database 19c JSON開発者ガイド』のAutonomous AIデータベースでのJSONドキュメントの使用または『Oracle Database 26ai JSON開発者ガイド』を参照してください。
ノート: SODAを使用してOracle Database 19cのコレクションにアクセスする場合、Oracleでは、データベースがリリース21以上にアップグレードされたときにJSONデータ型の使用にスムーズに移行するために、Oracle Database 21c以降にインスタント・クライアントを使用することをお薦めします。
SQLおよびPL/SQL API
Autonomous AI Databaseを使用してJSONデータを格納する場合、Autonomous AI Databaseで使用可能なすべての機能を利用できます。JSONデータと非JSONデータを組み合せることができます。データベースに格納されたJSONデータには、Oracle Call Interface (OCI)、Microsoft .NET Framework、Java Database Connectivity (JDBC)を使用するなど、他のデータベース・データにアクセスするときと同じ方法でアクセスできます。SQLおよびPL/SQL APIを使用してJSONドキュメントを操作する方法を学習するには、Oracle Database 19cまたはOracle Database 26aiのJSONを参照してください。
MongoDBのためのOracle APIのサポート
Oracle Database API for MongoDBでは、MongoDBワイヤ・プロトコルが、Oracle Databaseによって実行されるSQL文に変換されます。MongoDBスキル・セットを持つ開発者は、MongoDBプロトコルを理解するドライバおよびツールを使用するOracle Database用のJSONドキュメント・ストア・アプリケーションを記述できます。このAPIの詳細は、Oracle Database API for MongoDBのOracle Database API for MongoDBの概要を参照してください。
Autonomous AI DatabaseでMongoDB APIを有効化および使用する方法については、Oracle Autonomous AI DatabaseでのMongoDB APIの使用を参照してください。
Simple Oracle Document Access (SODA)
Oracleは、データベースに格納されたJSONデータにアクセスするためのSimple Oracle Document Access (SODA) APIのファミリも提供しています。SODAは、リレーショナル・データベースの機能や言語(SQLやPL/SQLなど)に関する知識なしでスキーマレス・アプリケーションを開発できるように設計されています。これにより、ドキュメントがデータベースにどのように格納されているかを知らなくても、ドキュメントのコレクションを作成してOracle Databaseに格納し、それを取得し、問い合せることができます。SODAの詳細は、SODAの概要を参照してください。
複数のSODA実装があります:
-
SODA for REST: 表現状態転送(REST)リクエストは、HTTPコールを実行できる任意の言語を使用して、収集およびドキュメント操作を実行します。
-
SODA for Java: Javaクラスおよびインタフェースは、データベース、コレクションおよびドキュメントを表します。
-
SODA for PL/SQL: PL/SQLオブジェクト型は、コレクションおよびドキュメントを表します。
-
SODA for C: Oracle Call Interface (OCI)のハンドルは、コレクションおよびドキュメントを表します。
-
SODA for Node.js: NoSQLスタイルのSODA APIを使用して、SODAドキュメントを挿入、問合せおよび取得します。SodaDatabase、SodaCollection、SodaDocument、SodaDocumentCursor、SodaOperationなどのオブジェクトはそれぞれ、データベース、コレクション、ドキュメント、ドキュメント・カーソルおよび読取り/書込み操作を表します。
-
SODA for Python: NoSQLスタイルのcx_Oracleメソッドを使用して、SODAドキュメントを挿入、問合せおよび取得します。SodaDatabase、SodaCollection、SodaDocument、SodaDocumentCursor、SodaOperationなどのオブジェクトはそれぞれ、データベース、コレクション、ドキュメント、ドキュメント・カーソルおよび読取り/書込み操作を表します。
SODAドライバは、Autonomous AI Databaseの「詳細」ページからダウンロードできます。
-
Autonomous AI Databaseの「詳細」ページに移動します。専用Autonomous AIデータベースの詳細の表示を参照してください。
-
「ツール」タブを開きます。
-
「SODAドライバ」タイルを見つけて、「SODAドライバのダウンロード」をクリックします。
-
表示されたドライバ・リストから、選択したSODAドライバをダウンロードします。
SODAコレクション・メタデータ
SODAコレクションは、Autonomous AI Databaseの表またはビューを基にした一連のドキュメントです。デフォルトでは、SODAドキュメント・コレクションを作成するとOracle Database内に次のものが作成されます:
-
永続的なデフォルト・コレクション・メタデータ。
-
SODAクライアントの接続先のデータベース・スキーマにコレクションを格納するための表。コレクション・メタデータをカスタマイズして、デフォルトで提供される動作とは異なる動作を取得できます。Autonomous AI Databaseでカスタマイズできるメタデータは、ドキュメント・キー生成方法およびコンテンツ・メディア・タイプのみです。具体的には、JSONコンテンツ(コンテンツ列)の格納に使用する列のSQLデータ型は変更できません。デフォルトおよびカスタマイズされたコレクション・メタデータの使用方法を学習するには、Autonomous AI DatabaseのSODAコレクション・メタデータを参照してください。
SODAおよびJSONの使用に関する制限事項
Autonomous AI DatabaseはSODAおよびJSONをサポートしていますが、次の制限事項があります:
-
SQL/JSONファンクション
json_existsを使用するSQLおよびPL/SQLコードでは、自動索引付けはサポートされていません。詳細は、Oracle Database 19cのSQL/JSON条件JSON_EXISTSまたはOracle Database 26aiを参照してください。 -
SODAの例による問合せ(QBE)では、自動索引付けはサポートされていません。