Autonomous Databaseでのアドバンスト・キューイングの使用

Autonomous Databaseは、データベース統合型のメッセージ・キューイング機能を実装するために、トランザクション・イベント・キュー(TEQ)をサポートしています。

Oracle Transactional Event Queues (TEQ)

最新のメッセージング・システムでは、ポイントツーポイント・メッセージングと、アプリケーション間で交換されるメッセージおよびイベントのパブリッシュ/サブスクライブがサポートされています。ワークフロー・システムの場合と同様に、マイクロサービスとして構築されたアプリケーションにもメッセージングが必要です。アプリケーション間でアプリケーション・イベントを転送およびルーティングする方法として、イベント・メッシュがますます一般的になってきています。Apache Kafkaのトピック/パーティションと同様に、トランザクション・イベント・キューでは、パーティショング抽象としてキュー表/イベント・ストリームが使用されます(AQシャード・キューではキュー表/シャードが使用されます)。

トランザクション・イベント・キュー(TEQ)は、Database 12.2.0. 1 (2015)で導入された、アドバンスト・キューイングのパーティション化されたインメモリー実装です。TEQキューはJMS仕様をサポートしており、Java、Python、Node.js、PL/SQL、C/C++、NETおよびGoでアクセスできます。

トランザクション・イベント・キュー(TEQ)は、ユーザー・メッセージをキューと呼ばれる抽象ストレージ・ユニットに格納します。マイクロサービスどうしが相互に通信する場合や、アプリケーションがワークフローの一部になっている場合、プロデューサ・アプリケーションがメッセージをエンキューし、コンシューマ・アプリケーションがメッセージをデキューします。キューイングの概要については、『アドバンスト・キューイング・ユーザーズ・ガイド』キューイングの概要に関する項を参照してください。

Oracle Transactional Event Queues (TEQ)は、データベース統合型のメッセージ・キューイング機能を提供します。この機能では、Oracle Databaseの機能を活用して、メッセージの永続的な格納、異なるコンピュータおよびデータベース上のキュー間でのメッセージの伝播、Oracle Net ServicesおよびHTTP(S)を使用したメッセージの送信を可能にしています。詳細は、『アドバンスト・キューイング・ユーザーズ・ガイド』Oracle Database Advanced QueuingでのOracle Databaseの活用に関する項を参照してください。

Autonomous Databaseでのメッセージ・キューイングの実装

Oracle Transactional Event Queues (TEQ)には、メッセージ・キューイングを実装するための次のインタフェースが用意されています:
  • 管理インタフェース: サブプログラムを含むPL/SQLパッケージが集まったもので、キュー、キュー表、変換の管理や、他の管理タスク(TEQユーザーへの権限の付与や取消しなど)を行うことができます。これらのサブプログラムにアクセスするには、管理者権限を持つユーザーとして接続する必要があります。管理ユーザーの作成方法については、例のリスト例8-1: AQ管理ユーザーの設定を参照してください。
  • プログラム・インタフェース: Oracle Database Advanced Queuingには、アドバンスト・キューイング(AQ)アプリケーション環境を実装するための、PL/SQL、C、Java (JMS)、AQ XML (サーブレット)などの各種プログラミング言語に対応するプログラミング・インタフェースが用意されています。AQプログラム・インタフェース、各インタフェースでサポートされている機能、および構文リファレンスのリストは、Oracle Database Advanced Queuingにアクセスするためのプログラム・インタフェースを参照してください。

ヒント:

アドバンスト・キューイングの使用方法のデモに従って実際に試してみる場合は、Oracle Converged Databaseワークショップを使用したマイクロサービスの構築で概説されている手順に従うことができます。