在專用 Exadata 基礎架構上使用 JSON 文件搭配 Autonomous Database

專用 Exadata 基礎架構上的 Autonomous Database 支援原生具有關聯式資料庫功能的 JavaScript Object Notation (JSON) 資料,包括交易、編製索引、宣告式查詢以及檢視。在自治式資料庫中,JSON 文件可以與關聯式資料共存。

與關聯式資料不同,JSON 資料可以儲存在資料庫中、編製索引和查詢,而不需要建立定義資料的綱要。一般而言,在 Autonomous Database 中使用 JSON 資料時,您將執行下列工作:
  1. 建立含有 is json format oson 檢查限制條件的 JSON 資料欄
  2. 將 JSON 資料插入資料欄,然後
  3. 查詢 JSON 資料
如需程式碼範例的詳細指示,請參閱 Oracle Database 19c JSON Developer's Guide 中的 Work with JSON Documents in Autonomous DatabaseOracle Database 23ai JSON Developer's Guide

附註:

如果您使用 SODA 存取 Oracle Database 19c 中的集合,Oracle 建議您使用 Oracle Database 21c 或更新版本的即時從屬端,以便在您的資料庫升級至版本 21 或更新版本時順暢移轉至使用 JSON 資料類型。

SQL 和 PL/SQL API

當您使用 Autonomous Database 來儲存 JSON 資料時,可以利用 Autonomous Database 中提供的所有功能。您可以將 JSON 資料與非 JSON 資料結合。存取儲存在資料庫中的 JSON 資料的方式與存取其他資料庫資料的方式相同,包括使用 Oracle Call Interface (OCI)、Microsoft .NET Framework 和 Java Database Connectivity (JDBC)。請參閱 Oracle Database 19c 中的 JSONOracle Database 23ai ,瞭解使用 SQL 和 PL/SQL API 處理 JSON 文件。

MongoDB 支援的 Oracle API

Oracle Database API for MongoDB 會將 MongoDB 纜線協定轉譯成由 Oracle Database 執行的 SQL 敘述句。It lets developers who have MongoDB skill sets write JSON document-store applications for Oracle Database that use drivers and tools that understand the MongoDB protocol.請參閱 Oracle Database API for MongoDB 中的 Oracle Database API for MongoDB 簡介,瞭解此 API 的詳細總覽。

請參閱將 MongoDB API 與 Oracle Autonomous Database 搭配使用,瞭解如何啟用及使用 MongoDB API 與 Autonomous Database

Simple Oracle Document Access (SODA)

Oracle 也提供一系列 Simple Oracle Document Access (SODA) API,以存取儲存在資料庫中的 JSON 資料。SODA 是針對無綱要應用程式開發所設計,無須瞭解關聯式資料庫功能或語言 (例如 SQL 和 PL/SQL)。它可讓您在 Oracle Database 中建立和儲存文件集合、擷取文件以及進行查詢,而不需要知道文件是如何儲存在資料庫中。如需有關 SODA 的詳細資訊,請參閱 Oracle as a Document StoreSODA 概要

SODA 有數個實行:
  • REST 的 SODA :代表狀態傳輸 (REST) 要求會使用任何能夠進行 HTTP 呼叫的語言來執行收集和文件作業。
  • SODA for Java :Java 類別和介面代表資料庫、集合以及文件。
  • SODA for PL/SQL :PL/SQL 物件類型代表集合和文件。
  • SODA for C :Oracle Call Interface (OCI) 處理代表集合和文件。
  • Node.js 的 SODA :使用 NoSQL 樣式 SODA API 來插入、查詢及擷取 SODA 文件。SodaDatabase、SodaCollection、SodaDocument、SodaDocumentCursor 以及 SodaOperation 等物件分別代表資料庫、集合、文件、文件游標以及讀寫作業。
  • SODA for Python :NoSQL 樣式的 cx_Oracle 方法可用來插入、查詢及擷取 SODA 文件。SodaDatabase、SodaCollection、SodaDocument、SodaDocumentCursor 以及 SodaOperation 等物件分別代表資料庫、集合、文件、文件游標以及讀寫作業。
您可以從 Autonomous Database詳細資訊頁面下載 SODA 驅動程式。
  • 前往 Autonomous Database詳細資訊頁面。請參閱檢視 Dedicated Autonomous Database 的詳細資訊
  • 開啟工具頁籤。
  • 找出 SODA 驅動程式磚塊,然後按一下下載 SODA 驅動程式
  • 從顯示的驅動程式清單中下載您選擇的 SODA 驅動程式。

SODA 收集中繼資料

SODA 集合是一組由 Autonomous Database 表格或檢視支援的文件。依照預設,建立 SODA 文件集合會在 Oracle Database 中建立下列項目:
  • 永久預設收集描述資料
  • 將集合儲存在 SODA 從屬端連線之資料庫綱要中的表格
您可以自訂收集描述資料,以從預設提供的行為取得不同的行為。在 Autonomous Database 中唯一可以自訂的中繼資料是文件金鑰產生方法和內容媒體類型。特別是,您無法變更用來儲存 JSON 內容之資料欄的 SQL 資料類型 ( 內容資料欄 )。請參閱 SODA Collection Metadata on Autonomous Database ,瞭解如何使用預設和自訂的收集描述資料。

SODA 和 JSON 的使用限制

Autonomous Database 支援 SODA 和 JSON,並具有下列限制:
  • 使用 SQL/JSON 函數 json_exists 的 SQL 和 PL/SQL 程式碼不支援自動編製索引。請參閱 Oracle Database 19c 中的 SQL/JSON 條件 JSON_EXISTSOracle Database 23ai 以瞭解詳細資訊。
  • SODA 依範例查詢 (QBE) 不支援自動編製索引。