Using user-defined row metadata

Note:

This feature has been made available to you on a "preview" basis so that you can get early access and provide feedback. It is intended for demonstration and preliminary use only. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to this feature and will not be responsible for any loss, costs, or damages incurred due to the use of this feature.

Oracle NoSQL Database supports the storing and retrieval of user-defined metadata for a row, allowing applications to associate custom metadata alongside the row's primary data. Although stored separately, this metadata is managed together with the row’s primary data in an atomic manner. The database stores only the most recent state of each row and its associated metadata. When a row is updated, the change stream reflects the latest values for both the row and its metadata.

In addition to the system-managed metadata such as row's last modification time or TTL, you can use user-defined row metadata to add contextual information like audit tags, data clarifications, and so on without altering the core data model. This feature gives you more flexibility to annotate, track, analyze and extend your data, enabling richer functionality.

Applications supply this metadata as a JSON string, which may be a JSON object, array, string, number, boolean, or JSON null, and it is transactionally written along with the row. You can access this metadata through standard APIs or SQL functions.

Change Streams supports user-defined row metadata, allowing you to capture not only the changes made to the row's primary data but also any metadata that was supplied along with those changes. Streaming metadata enables applications to react intelligently and make context-aware decisions based on those changes.