Transactional Event QueuesおよびAdvanced Queuing (AQ)

Oracle Advanced Queuingは、Oracle Databaseに組み込まれたメッセージング・プラットフォームで、アプリケーション・ワークフロー、マイクロサービス、およびイベントがトリガーとなるアクションに使用されます。Oracle Database 19cでは、Oracle Transactional Event Queuesが導入され、イベント向けのメッセージングとpub/sub(パブリッシュ / サブスクライブ)の利点が統合されるとともに、Kafkaとの互換性も提供されてます。

Oracle Transactional Event Queuesのツアー(12:26)

Oracle Transactional Event Queues(TxEventQ)を使い始める

AQとTxEventQの機能

メッセージングとpub/sub

  • キューおよびインメモリ・メッセージ・キャッシュ内の並列(パーティショニング)イベント・ストリームにより、高スループット(RACでは1秒間に約100万以上のメッセージ)を実現
  • トランザクション・メッセージを「一回のみ」配信(データベースおよびメッセージのDML操作が同じトランザクションに含まれる場合)
  • 各イベント・ストリーム内のメッセージの全順序と、キューごとの複数のイベント・ストリームをサポート
  • Pub/Sub(トピック)と送受信メッセージング(キュー)を1つのインフラストラクチャでサポート
  • 通知またはポーリング・タイムアウトによるメッセージの非同期消費

言語サポート

  • プロデューサーとコンシューマ用に複数の言語APIをサポート: Java、Java with JMS、PL/SQL、C/C++、Python、Node.js、REST、CLI
  • メッセージ・ブローカーとしてKafkaブローカーをTxEventQに置き換えるためのKafka Javaクライアントのサポート
  • JMS 1.1+のJMS標準オープンソースAPIのサポート(複数のコンシューマ、遅延メッセージなど、JMS 2.0の一部の機能)

運用機能

  • TxEventQゲートウェイがKafkaとの互換性をサポート
  • Prometheus/Grafanaによるキュー統計と継続的なリアルタイム監視
  • キュー表内のメッセージを暗号化するデータベース・セキュリティ
  • ルールを高速に実行し、ワイヤ上のメッセージをフィルタリングするルールベースのサブスクライバ
  • イベント・ストリームの任意の時点に遡ることで、新規または既存のコンシューマが以前のオフセットからメッセージを消費可能
  • メッセージの遅延、重要度、有効期限、キュー間の伝搬を制御し、最新のアプリケーションとワークフローを柔軟に構築

最新のイベントドリブン・アプリケーションのためのイベント・メッシュ

最新のアプリ開発環境におけるイベントのPub/Sub

イベントドリブンなマイクロサービスやワークフローの開発者は、高スループットで信頼性の高いメッセージング・プラットフォームを必要としています。Oracle TxEventQは、堅牢なリアルタイム・メッセージング、ストリーミング・イベント、および複数のパブリッシャーと複数のコンシューマによるPub/Subを提供します。TxEventQの高スループット・インストールでは、8ノードのOracle Real Application Clusters(RAC)データベース上で1日あたり約1,000億メッセージを処理できます。

コンバージド・データベースにおけるOracle TxEventQの図コンバージド・データベースのOracle TxEventQは、イベントのpub/subとメッセージの生成/消費を統合します。プロデューサーは、データベースに組み込まれたキュー・ブローカーに対して複数の言語で生成または公開します。これは並列処理のためにパーティション化されます。コンシューマはメッセージを消費またはサブスクライブします。キュー伝搬により、リモートのOracle Databaseのコンシューマがメッセージを利用できるようになります。

トランザクション送信ボックスを備えた信頼性の高いJMSメッセージング

Oracle AQはOracle Databaseと統合されているため、トランザクションのメッセージングが可能です。エンキューおよびデキューは、他のデータベース操作と同時に自動的にコミットされ、2フェーズ・コミットを必要としません。標準SQLを使用してメッセージとそのメタデータをクエリできます。マイクロサービス向けのトランザクション送信ボックスのサポートにより、イベントドリブンなアプリケーション開発が簡素化されます。

コンバージド・データベースにおけるOracle AQの図コンバージド・データベースのOracle AQは、イベントのpub/subとメッセージの生成/消費を統合します。プロデューサーは、データベースに組み込まれたキュー・ブローカーに対して複数の言語で生成または公開します。コンシューマはメッセージを消費またはサブスクライブします。キュー伝搬により、リモートのOracle Databaseのコンシューマがメッセージを利用できるようになります。

メッセージングとPub/Subの長所を組み合わせたOracle AQ/TxEventQ

Oracle TxEventQの開発者向けの主なメリット

  • メッセージングとストリーミングの長所を兼ね備えている
  • Javaプログラミング用のJMSとKafka Javaクライアントの両方をサポート
  • ハイパフォーマンスな永続的インメモリ実装を使用
  • Oracle AQの3倍から10倍のパフォーマンス向上を実現
  • Oracle Autonomous Databaseインスタンス内のOracle RACおよびvCPUで拡張可能
  • Kafka JMSコネクタを使用したApache Kafkaとの互換性

Oracle AQとTransactional Event Queues(TxEventQ)の沿革の図

Oracle Database 8.0 でOracle AQが導入される

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とTransactional Event Queues(TxEventQ)の沿革の図 Oracle AQはOracle Database 8.0で導入され、その後のOracle Databaseの各エディションでその機能は拡張されています。Oracle Database 12cではパーティション化されたAQシャーデッド・キューが導入され、これはOracle Database 19cに引き継がれました。AQシャーデッド・キューは、Oracle Database 21cでTransactional Event Queuesと改名されました。Oracle AQは、高スループットを必要としない単純なワークフローで引き続きご利用いただけます。
すべてのお客様事例を表示

Oracle AQおよびTxEventQのお客様事例



Auto Zoneのロゴ
Bissellのロゴ
Data Intensityのロゴ
jetBlueのロゴ
Mazdaのロゴ
Pellaのロゴ
Specializedのロゴ
Tramontinaのロゴ
FedEXのロゴ

FedExはE-Business SuiteをOracle Cloud Infrastructureに移行しました。E-Business Suiteのワークフローとビジネス・イベント・システムは、Oracle Advanced Queuing(AQ)上に構築されています。

AQとTxEventQのユースケース

  • アプリケーション・ワークフロー

    小売の配達保証ワークフロー

    配送会社は、配達先住所と個人を確認するためにワンタイム・パスワード(OTP)を使用していますが、ベンダー・アプリケーション、配達員、顧客の間でのメッセージ交換のバックボーンとしてOracle AQを使用しています。コードについては、Oracle AQ LiveLabを参照してください。

  • イベントドリブン・アプリケーション

    ATMバンキングでの二要素認証

    多くの国の銀行は、預金引き出しの際の口座認証においてOTPを要求します。Oracle AQを使用してメッセージング・インフラストラクチャを作成し、ATMサーバー・コードと顧客のクライアント・モバイル・アプリ間でOTPを転送する方法をご覧ください。

    Oracle AQは、ATM機のOTPと顧客の登録済みモバイルデバイスを同期させる手段として使用できます。

  • マイクロサービス

    Oracle Autonomous Databaseを使用したフード・デリバリー・アプリケーション

    GrabDishは、注文、在庫、配送のマイクロサービス間の通信にOracle AQを使用しているフード・デリバリー・アプリケーションです。Oracle AQ LiveLabを使用したマイクロサービスの簡素化のコードを参照してください。

    オラクルのコンバージド・データベースでOracle TxEventQを使用した最新のマイクロサービスAppDev

AQとTxEventQのリソース

ここから始めよう


Oracle Cloud Free Tierを試す

Oracle Cloudでアプリケーションを無料で構築、テスト、および導入します。


LiveLab

Oracle Databaseを使用した最新のアプリケーション開発環境でOracle AQとTxEventQをご利用ください。


営業へのお問い合わせ

詳細を知りたいですか?業界をリードする当社のエキスパートにご相談ください。