Release Update 23.7 Features

AI Vector Search: Arithmetic and Aggregate Operations

Just as you can add (+), subtract (-), or multiply (*) dates, timestamps, intervals, and numbers, you can now apply these arithmetic operators to vectors. The arithmetic operation is performed at each dimensional element of the vectors. It's also possible to calculate the SUM or AVG of a set of vectors.

Arithmetic operations on vectors allow AI systems to manipulate and combine abstract concepts, which enhances their ability to understand and process language or data in more sophisticated ways.

View Documentation

Additional Flexibility Defining JSON-Relational Duality Views

You can:

  • Use field _id in document subobjects to identify a column that selects document.
  • Use an identity column as an identifying column.

These additional possibilities when defining a duality view provide more kinds of documents that can be supported, and thus allow for more application use cases.

View Documentation

Change Compatible to 23.6.0 to Use New AI Vector Search Features in 23.6 or Later Releases

Starting with Oracle Database 23ai (23.6), the ability to use the new AI Vector Search features is introduced in Release Update (RU) 23.6 or later releases.

Regarding the COMPATIBLE parameter in Release Update 23.6:

  1. New customers installing Oracle Database 23ai Release Update 23.6 directly:
    • The 23.6 RU fresh install and using db create comes with the COMPATIBLE parameter set to 23.6.0 by default.
    • After this installation, you will be unable to downgrade COMPATIBLE parameter to a lower value later.
  2. Customers on Oracle Database 23ai Release Update 23.4 and 23.5:
    • Before patching, the COMPATIBLE parameter can be 23.0.0 or 23.4.0 or 23.5.0.
    • When you install the 23.6 release update (that is, when you patch to RU 23.6), to access the new Vector DB features, you must manually set the COMPATIBLE parameter to 23.6.0.
    • Note: In RU 23.6.0. updating the COMPATIBLE parameter requires downtime. It is not automatically done as part of patching. You must choose to update the database COMPATIBLE setting.
  3. Customers on Oracle Database 19c or 21c:
    • When you upgrade the database to Oracle Database 23ai, the COMPATIBLE parameter remains as previously set in the source database.
    • If you want to use the new Vector DB features, then you must manually set the COMPATIBLE parameter to 23.6.0.
    • Note: The minimum COMPATIBLE setting permitted for upgrading to 23ai is 19.0.0. In other words, you cannot upgrade directly from Oracle Database 12c or 18c to Oracle Database 23ai.

View Documentation

Cloud Developer Packages

The Cloud Developer packages provide built-in tools to connect, process, and integrate with cloud services seamlessly. These packages, namely DBMS_CLOUD, DBMS_CLOUD_PIPELINE, DBMS_CLOUD_REPO, DBMS_CLOUD_NOTIFICATION, and DBMS_CLOUD_AI, enable easy data access to cloud storage, automate workflows through pipelines, trigger event notifications, and integrate AI/ML capabilities directly within the database, using these packages or SELECT AI for SQL access to generative AI using Large Language Models (LLMs) and embedding models. Together, they empower modern, cloud-ready database applications while simplifying complex cloud interactions.

The Cloud Developer packages enable businesses to work with data stored in the cloud, process real-time data, and use advanced tools like AI/ML, benefiting from cloud capabilities. This approach helps simplify operations and supports specifically a mix of on-premises and cloud systems.

View Documentation

DBMS_DEVELOPER Package

The DBMS_DEVELOPER package provides an efficient way for developers to retrieve metadata for database objects, such as tables, views, and indexes.

In previous releases, object metadata had to be retrieved using the DBMS_METADATA package, and then queries had to be performed on various data dictionary tables and views. This method returned metadata in XML format.

The DBMS_DEVELOPER package returns metadata in JSON format, which can be easily integrated with applications and services, such as developer tools. You can adjust the level of detail to control the amount of metadata returned, tailoring it to your application's needs. Additionally, metadata retrieval time is significantly improved, enhancing integration with applications and services.

View Documentation

Dimension-Wise Arithmetic Support in PL/SQL

Addition (+), subtraction (-), and multiplication (*) can now be applied to vectors in PL/SQL. The arithmetic operation is performed at each dimensional element of the vectors.

Arithmetic operations on vectors allow AI systems to manipulate and combine abstract concepts, enhancing their ability to understand and process language or data in more sophisticated ways. PL/SQL support of vector arithmetic provides developers a means to apply these operations within PL/SQL blocks and functions without calling out to SQL.

View Documentation

Foreign Function Interface for JavaScript to Call PL/SQL Code Units

The Foreign Function Interface (FFI) allows JavaScript developers to use a more familiar syntax to call code units written in PL/SQL.

Rather than using PL/SQL blocks, it is possible to use native JavaScript constructs to interact with most code written in PL/SQL. Using the FFI provides JavaScript developers with a much improved experience by streamlining the process of integrating PL/SQL code into JavaScript functions.

View Documentation

Hybrid Vector Index for JSON

Hybrid Vector Indexes allow document retrieval by integrating full-text search capabilities with semantic vector search techniques, resulting in higher-quality search results. This powerful feature has now been extended to support JSON columns, offering greater flexibility in data indexing and querying.

Creating a Hybrid Vector Index on a JSON column offers a unified query API that enables users to execute various types of searches:

  • Textual queries
  • Vector similarity queries
  • Hybrid queries that leverage both approaches

This versatile functionality allows users to:

  • Easily customize the search experience
  • Significantly enhance the quality and relevance of search results

View Documentation

In-Database Algorithms Support for VECTOR Data Type Predictors

This feature enables users to include one or more columns of VECTOR data type as predictors along with structured enterprise data to in-database machine learning algorithms.

Vector representations of unstructured data can be a powerful input to traditional machine learning algorithms. They enable efficient data processing on text and image data, helping to speed data-driven decision making. Providing vectors as input to machine learning models enables handling a broader class of use cases.

View Documentation

Included Columns in Neighbor Partition Vector Indexes

Included columns in vector indexes facilitate faster searches with attribute filters by incorporating non-vector columns within a Neighbor Partition Vector Index. This feature optimizes query execution by removing the need to access these columns from the base table.

Sophisticated workloads often combine business data search on relational columns with vector similarity search. Having included columns in Neighbor Partition Vector Indexes significantly enhances enterprise search capabilities by integrating attribute filters with vector-based similarity searches. 

This integration facilitates efficient execution of complex queries by: 

  1. Directly evaluating attribute filters in tandem with vector searches
  2. Eliminating the need for base table access through expensive join operations. 

Moreover, when the index includes all columns required for a query as covering columns, data can be retrieved directly from the index, thereby accelerating query performance.

View Documentation

JSON to Duality Migrator: Multi-Collection Import API

DBMS_JSON_DUALITY.IMPORT_ALL is a PL/SQL procedure that is designed to import multiple document collections into a JSON-relational duality view.

While the existing DBMS_JSON_DUALITY.IMPORT procedure is limited to importing a single collection, the ability to import multiple collections in a single PL/SQL call simplifies the process and helps prevent constraint violation errors. The IMPORT_ALL procedure enables the efficient import of multiple document collections into a JSON-relational duality view.

View Documentation

JSON to Duality Migrator: Validation of Schema and Data

The PL/SQL functions DBMS_JSON_DUALITY.VALIDATE_SCHEMA_REPORT and VALIDATE_IMPORT_REPORT are provided to validate the relational schema and data that are created and imported by the JSON-To-Duality Migrator.

There is a growing need for functions that would validate the recommended relational schema. To address these needs, the validation APIs have been developed that:

  • Help users verify accuracy of the recommended relational schema
  • Confirms that no data is lost when they migrate their document collections to duality views.

View Documentation

Materialized Expression Columns

Expression columns, also known as virtual columns, are additional columns derived (computed) from existing columns. They can be persisted (materialized) on disk, complementing the existing default functionality of computing the results at runtime only.

Choosing between computation at runtime and computation at DML time for expression columns provides more flexibility in choosing the right approach for an application.

Materializing expression columns trades disk storage for the need to compute the same expression over and over again.

View Documentation

Move Data Chunks Between Shardspaces

With the Oracle Globally Distributed Database composite sharding method, data is organized into different shardspaces, allowing you to differentiate subsets of data; however, any automatic chunk moves for load balancing occurred within a shardspace. With this release, Oracle Globally Distributed Database provides you with the ability to move data chunks from an existing shardspace to another shardspace.

This feature makes it possible to move data between existing shardspaces, or move some data to a newly added shardspace. You can arrange sharded data for your new business needs, such as providing new levels of services or resources for certain customers, or move customers from one class of service to another while maintaining regional data sovereignty.

View Documentation

PL/SQL BINARY Vector Support

PL/SQL supports BINARY as a new dimension format for the vector type, in line with SQL.

BINARY vectors are frequently used to represent whether some entity, such as a textual document, does or does not include certain features, list words, or terms. The advantages of the BINARY format are two-fold. The storage footprint of vectors can be reduced 32X compared to the default FLOAT32 vectors and distance computations on BINARY vectors are up to 40X faster.

Support for BINARY vectors means that PL/SQL is able to handle a binary vector in the same way that it supports a vector of any other dimension format.

View Documentation

PL/SQL JACCARD Distance Support

The JACCARD distance metric is now supported in PL/SQL, which provides a similarity measure as a value from 0 to 1 between two BINARY vectors.

Jaccard distance is a common similarity measure for binary vectors. Support for JACCARD as a new metric in the PL/SQL VECTOR_DISTANCE operator means that PL/SQL code can make use of the JACCARD distance metric from within PL/SQL instead of calling out into SQL.

View Documentation

SQL Time Bucketing

Time bucketing is a common operation when processing time series or event streaming data where a series of data points within an arbitrarily defined time window need to be mapped to a specific fixed time interval (bucket) for aggregated analysis.

With the new SQL operator TIME_BUCKET, Oracle provides native and performant support for time bucketing of time-based data for DATETIMES.

Providing a native SQL operator for common fixed-time interval bucketing for time series data significantly simplifies application development and data analysis of such information. In addition to simpler and less error prone code, the native operator increases the performance of time series analysis.

View Documentation

Sharding Support for AI Vector Search

With Globally Distributed Database support for Vector Search, tables containing vectors are automatically distributed and replicated across a pool of Oracle databases that share no hardware. Similarity searches are automatically parallelized across shards or directed to a specific shard if the sharding key is provided.

Globally Distributed Database AI Vector Search offers several benefits, including greater scalability by allowing vectors to be distributed across multiple machines, improved performance by parallelizing vector searches across shards, and improved data resilience because if one shard goes down, the other shards can continue to operate. It also allows vector search to be deployed as part of a distributed database, where a single logical database is distributed over multiple geographies.

View Documentation

Smallfile Tablespace Shrink

This feature supplies the capability to reliably shrink a smallfile tablespace.

In earlier releases, organizations may find the datafiles of a smallfile tablespace grow larger despite the actual used space being much smaller. This can happen after a user drops segments or objects in the tablespace, but depending on where data was located in the datafiles, users were not always able to use datafile resize to recover the freed space.

By using Smallfile Tablespace Shrink, you can now expect your smallfile tablespace size to be close to the sum of the size of all segments,and objects in that tablespace. You can now reliably shrink a smallfile tablespace, which means improved storage optimization and reduced storage costs.

View Documentation

Support for Image Transformer Models with AI Vector Search Using the In-Database ONNX Runtime

This feature enables the import and utilization of image transformer models with the in-database ONNX Runtime engine available in 23ai. Image transformer models must be in ONNX format and include the required image decoding and preprocessing as part of the ONNX pipeline.

Oracle Database 23ai has expanded its capabilities beyond text-based vector generation. Initially supporting sentence transformers for use with the in-database ONNX Runtime and AI Vector Search, the system now incorporates image transformer models. This enhancement enables users to leverage AI Vector Search for semantic similarity searches involving images, significantly broadening the range of supported use cases.

View Documentation

Vector Data Type Support in External Tables

Vector data stored outside the database (on a file system or cloud object store) can be easily accessed to perform similarity searches using external tables.

Vector embeddings created outside the database can be loaded quickly and easily using an external table and standard SQL. It is also possible to run similarity searches on vector embeddings stored outside the database and seamlessly combine those searches with data that is stored inside the database.

View Documentation