在专用 Exadata 基础结构上将 JSON 文档与自治 AI 数据库结合使用
基于专用 Exadata 基础设施的自治 AI 数据库原生支持 JavaScript 对象表示法 (JSON) 数据,并具有关系数据库功能,包括事务处理、索引、声明式查询和视图。在自治 AI 数据库中,JSON 文档可以与关系数据共存。
与关系数据不同,JSON 数据可以存储在数据库中,并进行索引和查询,而不需要定义数据的方案。通常,在 Autonomous AI Database 中使用 JSON 数据时,您将执行以下任务:
-
创建具有
is json format oson检查约束条件的 JSON 列 -
将 JSON 数据插入列中,并且
-
查询 JSON 数据。有关代码示例的详细说明,请参阅 Oracle Database 19c JSON Developer’s Guide 中的 Work with JSON Documents inAutonomous AI Database 或 Oracle Database 26ai JSON Developer’s Guide 。
注:如果使用 SODA 访问 Oracle Database 19c 中的集合,则 Oracle 建议将即时客户端用于 Oracle Database 21c 或更高版本,以便在数据库升级到发行版 21 或更高版本时顺利迁移到 JSON 数据类型。
SQL 和 PL/SQL API
使用自治 AI 数据库存储 JSON 数据时,您可以利用自治 AI 数据库中提供的所有功能。您可以将 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 。
Oracle API for MongoDB 支持
Oracle Database API for MongoDB 将 MongoDB 线路协议转换为由 Oracle Database 执行的 SQL 语句。它允许拥有 MongoDB 技能集的开发人员为 Oracle Database 编写 JSON 文档存储应用程序,这些应用程序使用了解 MongoDB 协议的驱动程序和工具。有关此 API 的详细概述,请参阅 Oracle Database API for MongoDB 中的 Oracle Database API for MongoDB 概述。
有关在自治 AI 数据库中启用和使用 MongoDB API 的说明,请参阅将 MongoDB API 与 Oracle Autonomous AI Database 结合使用。
简单 Oracle 文档访问 (SODA)
Oracle also provides a family of Simple Oracle Document Access (SODA) APIs for access to JSON data stored in the database. SODA 专为无模式应用程序开发而设计,不了解关系数据库功能或语言,例如 SQL 和 PL/SQL。它允许您在 Oracle Database 中创建和存储文档集合,检索和查询文档,而无需知道文档在数据库中的存储方式。有关 SODA 的更多信息,请参见 Overview of SODA 。
SODA 有几种实现方式:
-
SODA for REST :表示状态传输 (REST) 请求使用任何能够进行 HTTP 调用的语言执行收集和文档操作。
-
适用于 Java 的 SODA :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 等对象分别表示数据库、集合、文档、文档游标和读写操作。
-
适用于 Python 的 SODA :NoSQL 样式的 cx_Oracle 方法用于插入、查询和检索 SODA 文档。SodaDatabase、SodaCollection、SodaDocument、SodaDocumentCursor 和 SodaOperation 等对象分别表示数据库、集合、文档、文档游标和读写操作。
您可以从自治 AI 数据库的详细信息页面下载 SODA 驱动程序。
-
转到自治 AI 数据库的详细信息页面。请参阅查看专用自治 AI 数据库的详细信息。
-
打开工具选项卡。
-
找到 SODA Drivers 磁贴,然后单击 Download SODA Drivers 。
-
从显示的驱动程序列表中下载您选择的 SODA 驱动程序。
SODA 收集元数据
SODA 集合是一组由自治 AI 数据库表或视图支持的文档。默认情况下,创建 SODA 文档集合会在 Oracle Database 中创建以下项:
-
持久性缺省集合 metadata 。
-
用于将集合存储在 SODA 客户端所连接到的数据库方案中的表。您可以定制收集元数据,以获得与默认提供的行为不同的行为。在自治 AI 数据库中可以定制的唯一元数据是文档密钥生成方法和内容介质类型。特别是,您无法更改用于存储 JSON 内容的列的 SQL 数据类型(内容列)。请参阅 SODA Collection Metadata on Autonomous AI Database ,了解如何使用默认和自定义的收集元数据。
SODA 和 JSON 的使用限制
自治 AI 数据库支持 SODA 和 JSON,但存在以下限制:
-
使用 SQL/JSON 函数
json_exists的 SQL 和 PL/SQL 代码不支持自动索引。有关详细信息,请参阅 Oracle Database 19c 或 Oracle Database 26ai 中的 SQL/JSON Condition JSON_EXISTS 。 -
SODA 按示例查询 (QBE) 不支持自动索引。