専用Exadataインフラストラクチャ上のAutonomous AI DatabaseでのJSONドキュメントの使用

専用Exadataインフラストラクチャ上のAutonomous AI Databaseでは、トランザクション、索引付け、宣言的問合せおよびビューを含むリレーショナル・データベースの機能を使用して、JavaScript Object Notation (JSON)データをネイティブでサポートしています。Autonomous AI Databaseでは、JSONドキュメントをリレーショナル・データと共存させることができます。

リレーショナル・データとは異なり、JSONデータは、データを定義するスキーマがなくても、データベースへの格納、索引付けおよび問合せを行うことができます。一般に、Autonomous AI DatabaseでJSONデータを作業するときは、次のタスクを実行します:
  1. is json format osonチェック制約を使用したJSON列の作成
  2. 列へのJSONデータの挿入、および
  3. JSONデータの問合せ
See Work with JSON Documents in Autonomous AI Database in Oracle Database 19c JSON Developer's Guide or Oracle Database 26ai JSON Developer's Guide for detailed instructions with code examples.

ノート:

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 26aiJSONを参照してください。

MongoDBのためのOracle APIのサポート

Oracle Database API for MongoDBは、MongoDBワイヤ・プロトコルは、Oracle Databaseによって実行されるSQLステートメントに変換します。MongoDBスキル・セットを持つ開発者は、MongoDBプロトコルを理解するドライバおよびツールを使用するOracle Database用のJSONドキュメント・ストア・アプリケーションを記述できます。このAPIの詳細は、『Oracle Database API for MongoDB』MongoDBのためのOracle Database APIの概要を参照してください。

See Use MongoDB API with Oracle Autonomous AI Database for instructions on enabling and using the MongoDB API with Autonomous AI Database.

Simple Oracle Document Access (SODA)

Oracleは、データベースに格納されたJSONデータにアクセスするためのSimple Oracle Document Access (SODA) APIのファミリも提供しています。SODAは、リレーショナル・データベースの機能や言語(SQLやPL/SQLなど)に関する知識なしでスキーマレス・アプリケーションを開発できるように設計されています。これにより、ドキュメントがデータベースにどのように格納されているかを知らなくても、ドキュメントのコレクションを作成してOracle Databaseに格納し、それを取得し、問い合せることができます。SODAの詳細は、ドキュメント・ストアとしてのOracleおよび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 Databaseの詳細の表示を参照してください。
  • 「ツール」タブを開きます。
  • 「SODAドライバ」タイルを見つけて、「SODAドライバのダウンロードをクリックします。
  • 表示されたドライバ・リストから、選択したSODAドライバをダウンロードします。

SODAコレクション・メタデータ

SODAコレクションは、自律型AIデータベースの表またはビューに基づいた一連のドキュメントです。デフォルトでは、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 19cSQL/JSON条件JSON_EXISTSまたはOracle Database 26aiを参照してください。
  • SODAの例による問合せ(QBE)では、自動索引付けはサポートされていません。