Previous Next JavaScript must be enabled to correctly display this content

## 1 Introduction to the Oracle NoSQL Database Streams API

The Oracle NoSQL Database Streams API lets you subscribe to all logical changes (`put`s and `delete`s) made to Oracle NoSQL Database tables. A subscription stream includes the changes made by insert, update, and delete operations on tables. In addition, the Streams API allows you to configure your subscription to optionally include features such as streaming before-images of the rows along with the after-images and transaction event streaming. You can stream either a discrete list of committed write operations, or a single committed transaction event containing a list of write operations performed in the transaction event.

The Streams API also allows you to configure both before-images and transaction events. That is, you can stream transaction events, and each operation in the transaction event also carries before-images, provided, the before-images are enabled for that table and are within their expiration dates.

These changes are streamed to your application as a series of discrete `StreamOperation` class objects. This API is based on the Reactive Streams standard. See Reactive Streams.

Oracle NoSQL Database Streams APIs are prefixed with `NoSQL` to differentiate them from the APIs described by the Reactive Streams standard. For example, Reactive Streams describes a Publisher class. The Oracle NoSQL Database implementation of that class is called `NoSQLPublisher`.

Note:

The Oracle NoSQL Database Streams API supports table namespaces. If you reference a table that is in a namespace, prefix the table, such as `Users`, with its namespace name (such as `ns1`) followed by a colon (`:`). For example, `ns1:Users`.

The remainder of this chapter provides an introduction to the Oracle NoSQL Database Streams API.