トランザクション・イベント・ストリーミング

Oracle NoSQL Database Streams APIを使用したアプリケーションへのトランザクション・イベントのストリーミングについて説明します。

Oracle NoSQL Databaseでは、サブスクリプションにトランザクション・イベント・ストリーミングを構成できるオプション機能がサポートされています。トランザクションは、単一の作業単位として扱われるデータベース操作の論理的なシーケンスです。

1つのコミットされたトランザクションのすべての書込み操作は、単一のストリーム操作にカプセル化され、サブスクライバに配信されます。デフォルトの動作では、コミットされた各書込み(PUTまたはDELETE)が単一のストリーム操作です。

たとえば、データ・ストアでコミットされた更新が10個あるトランザクションの場合、Streams APIにはコミットされた書込みイベントが10個ある個別のリストが含められます。ただし、トランザクション・イベントをストリーミングするように構成した場合、Streams APIは、トランザクション・イベントで実行された10個の書込み操作のリストを含む、コミットされた1つのトランザクション・イベントを含めます。

トランザクション・イベントをサブスクライバに明示的に配信するには、次の操作を実行する必要があります:

  1. 対象の表のトランザクション・イベントをストリーミングするためのサブスクリプションを構成します。メソッドの詳細は、「NoSQLSubscriptionConfigの使用方法」を参照してください。
  2. トランザクション・イベントを含むストリームを受信するようにサブスクライバを構成します。メソッドの詳細は、「StreamOperationクラスの使用方法」を参照してください。

ノート:

Streams APIを使用すると、コミットされた個々の書込み操作のリスト、または表に対する1つ以上の書込みを含むコミットされたトランザクション・イベントのリストをストリーミングするサブスクリプションを構成できます。すでにデフォルトのサブスクリプションがあり、トランザクション・イベントをストリーミングする場合は、表をサブスクライブ解除して再サブスクライブし、トランザクション・イベントを配信する必要があります。