専用Exadataインフラストラクチャ上の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 19c Advanced Queuingユーザーズ・ガイドのOracle Database Advanced QueuingまたはOracle Database 23ai Advanced Queuingユーザーズ・ガイドを参照してください。
Autonomous Databaseでのメッセージ・キューイングの実装
- 管理インタフェース:サブプログラムを含むPL/SQLパッケージの集合で、キュー、キュー表、変換の管理や、他の管理タスク(TEQユーザーへの権限の付与や取消しなど)を行うことができます。これらのサブプログラムにアクセスするには、管理者権限を持つユーザーとして接続する必要があります。管理ユーザーの作成方法について学習するには、Oracle Database 19cまたはOracle Database 23aiの例のリストを参照してください。
- プログラム・インタフェース: Oracle Database Advanced Queuingには、アドバンスト・キューイング(AQ)アプリケーション環境を実装するための、PL/SQL、C、Java (JMS)、AQ XML (サーブレットなど、様々なプログラミング言語に対応するプログラミング・インタフェースが用意されています。AQプログラム・インタフェース、各インタフェースでサポートされている機能、および構文リファレンスのリストは、Oracle Database 19cまたはOracle Database 23aiのOracle Database Advanced Queuingにアクセスするためのプログラム・インタフェースを参照してください。
ヒント :
アドバンスト・キューイングの使用方法のデモに従って実際に試してみる場合は、Oracle Converged Databaseワークショップを使用したマイクロサービスの構築で概説されている手順に従うことができます。