Oracle Advanced Queuingは、Oracle Databaseに組み込まれたメッセージング・プラットフォームで、アプリケーション・ワークフロー、マイクロサービス、およびイベントがトリガーとなるアクションに使用されます。Oracle Database 19cでは、Oracle Transactional Event Queuesが導入され、イベント向けのメッセージングとpub/sub(パブリッシュ / サブスクライブ)の利点が統合されるとともに、Kafkaとの互換性も提供されてます。
イベントドリブンなマイクロサービスやワークフローの開発者は、高スループットで信頼性の高いメッセージング・プラットフォームを必要としています。Oracle TxEventQは、堅牢なリアルタイム・メッセージング、ストリーミング・イベント、および複数のパブリッシャーと複数のコンシューマによるPub/Subを提供します。TxEventQの高スループット・インストールでは、8ノードのOracle Real Application Clusters(RAC)データベース上で1日あたり約1,000億メッセージを処理できます。
Oracle AQはOracle Databaseと統合されているため、トランザクションのメッセージングが可能です。エンキューおよびデキューは、他のデータベース操作と同時に自動的にコミットされ、2フェーズ・コミットを必要としません。標準SQLを使用してメッセージとそのメタデータをクエリできます。マイクロサービス向けのトランザクション送信ボックスのサポートにより、イベントドリブンなアプリケーション開発が簡素化されます。
Oracle TxEventQの開発者向けの主なメリット
Oracle Advanced Queuing(AQ)はOracle Database 8.0で導入されました。バージョン12.2では、KafkaがApacheプロジェクトになったのと同時期に、JMSキューにAQ Sharded Queuesが導入されました。AQ Sharded Queuesは、Oracle Database 21cでTransactional Event Queuesと改名されました。AQ Classic QueuesとTransactional Event Queuesはどちらも、Oracle Databaseのすべての導入環境で無料で使用できます。
配送業者は、ベンダーアプリ、配送業者、顧客間のメッセージ交換のバックボーンとしてOracle AQを活用しし、ワンタイムパスワード(OTP)を使用して配送先と受取人を確認してます。Oracle AQ LiveLabでコードを参照してください。
多くの国の銀行は、預金引き出しの際の口座認証においてOTPを要求します。Oracle AQを使用してメッセージング・インフラストラクチャを作成し、ATMサーバー・コードと顧客のクライアント・モバイル・アプリ間でOTPを転送する方法をご覧ください。
Oracle AQは、ATM機のOTPと顧客の登録済みモバイルデバイスを同期させる手段として使用できます。
GrabDishは、注文、在庫、配送のマイクロサービス間の通信にOracle AQを使用しているフード・デリバリー・アプリケーションです。Oracle AQ LiveLabを使用したマイクロサービスの簡素化のコードを参照してください。
コンバージド・データベースのOracle TxEventQは、イベントのpub/subとメッセージの生成/消費を統合します。プロデューサーは、データベースに組み込まれたキュー・ブローカーに対して複数の言語で生成または公開します。これは並列処理のためにパーティション化されます。コンシューマはメッセージを消費またはサブスクライブします。キュー伝搬により、リモートのOracle Databaseのコンシューマがメッセージを利用できるようになります。
コンバージド・データベースのOracle AQは、イベントのpub/subとメッセージの生成/消費を統合します。プロデューサーは、データベースに組み込まれたキュー・ブローカーに対して複数の言語で生成または公開します。コンシューマはメッセージを消費またはサブスクライブします。キュー伝搬により、リモートのOracle Databaseのコンシューマがメッセージを利用できるようになります。
Oracle AQはOracle Database 8.0で導入され、その後のOracle Databaseの各エディションでその機能は拡張されています。Oracle Database 12cではパーティション化されたAQシャーデッド・キューが導入され、これはOracle Database 19cに引き継がれました。AQシャーデッド・キューは、Oracle Database 21cでTransactional Event Queuesと改名されました。Oracle AQは、高スループットを必要としない単純なワークフローで引き続きご利用いただけます。