Transactional Event Queues (TxEventQ) and Advanced Queuing (AQ)

Oracle Advanced Queuing is a messaging platform built into Oracle Database that is used for application workflows, microservices, and event-triggered actions. Oracle Database 19c introduces Oracle Transactional Event Queues, unifying the best of messaging and pub/sub for events with Kafka interoperability.

Tour of Oracle Transactional Event Queues (12:26)

Get started with Oracle Transactional Event Queues (TxEventQ)

AQ and TxEventQ features

Messaging and pub/sub

  • High throughput (~1 M+ messages/sec on RAC) with parallel (partitioned) event streams within a queue and in-memory message cache
  • Exactly-once transactional message delivery, where DML operation in database and message are part of same transaction
  • Total order of messages within each event stream and multiple event streams per queue are supported
  • Pub/sub (topics) and send/receive messaging (queues) supported in one infrastructure
  • Async consumption of messages with notification or poll time-outs

Language support

  • Multiple language APIs supported for producers and consumers: Java, Java with JMS, PL/SQL, C/C++, Python, Node.js, REST, and CLI
  • Kafka Java Client support for replacing Kafka broker with TxEventQ as the message broker
  • JMS standard open source API support for JMS 1.1+ (some features of JMS 2.0, such as multiple consumers, delayed messages, and more)

Operational features

  • TxEventQ gateway supports interoperability with Kafka
  • Queue statistics and continuous real-time monitoring with Prometheus/Grafana
  • Database security for encryption of messages in the queue table
  • Rule-based subscribers used to filter messages on the wire based on fast execution of rules
  • Arbitrary seek back in the event stream, new or existing consumers can consume messages from an earlier offset
  • Message delay, priority, expiry, and queue-to-queue propagation allow flexibility in building modern applications and workflows

Event Mesh for Modern Event-Driven Applications

Pub/sub of events in modern app dev environment

Developers of event-driven microservices and workflows rely on a high-throughput reliable messaging platform. Oracle TxEventQ provides robust real-time messaging, streaming events, and pub/sub with multiple publishers and multiple consumers. High-throughput installations of TxEventQ can achieve approximately 100 billion messages per day on an 8-node Oracle Real Application Clusters (RAC) database.

Oracle TxEventQ in the converged database diagramOracle TxEventQ in the converged database combines pub/sub of events and produce/consume of messages. Producers produce or publish in multiple languages to a queue broker built into the database. This is partitioned for parallelism. Consumers consume or subscribe to messages. Queue propagation makes the message available to consumers on a remote Oracle database.

Reliable JMS messaging with transactional outbox

Oracle AQ is integrated with Oracle Database, allowing transactional messaging. Enqueues and dequeues are automatically committed at the same time as other database operations without requiring two-phase commits. Standard SQL can query messages and their metadata. Transactional outbox support for microservices allows simplification of event-driven application development.

Oracle AQ in the converged database diagramOracle AQ in the converged database combines pub/sub of events and produce/consume of messages. Producers produce or publish in multiple languages to a queue broker built into the database. Consumers consume or subscribe to messages. Queue propagation makes the message available to consumers on a remote Oracle database.

Oracle AQ/TxEventQ combines the best of messaging and pub/sub

Key Oracle TxEventQ advantages for developers

  • Combines the best of messaging and streaming
  • Supports both JMS and Kafka Java client for Java programming
  • Uses a high-performance persistent in-memory implementation
  • Provides 3X to 10X performance improvements over Oracle AQ
  • Scales with Oracle RAC and vCPUs within an Oracle Autonomous Database instance
  • Interoperable with Apache Kafka, using Kafka JMS connectors

Brief history of Oracle AQ and Transactional Event Queues (TxEventQ) diagram

Oracle AQ was introduced in Oracle Database 8.0

Oracle Advanced Queuing (AQ) was introduced in Oracle Database 8.0. In version 12.2, AQ Sharded Queues were introduced for JMS queues, around the same time that Kafka became an Apache project. AQ Sharded Queues are renamed Transactional Event Queues in Oracle Database 21c. Both AQ Classic Queues and Transactional Event Queues are free to use with Oracle Database in any deployment.

Brief history of Oracle AQ and Transactional Event Queues (TxEventQ) diagram Oracle AQ was introduced in Oracle Database 8.0 and has been growing its capabilities in every subsequent edition of the Oracle database. In Oracle Database 12c, AQ sharded queues were introduced, with partitioning and continued in Oracle Database 19c. AQ sharded queues are renamed to Transactional Event Queues in Oracle Database 21c. Oracle AQ continues to be available for simple workflows that don’t require very high throughput.
View all customer successes

Oracle AQ and TxEventQ customer successes



Auto Zone Logo
Bissell Logo
Data Intensity Logo
jetBlue Logo
Mazda Logo
Pella Logo
Specialized Logo
Tramontina Logo
FedEX Logo

FedEx has moved E-Business Suite to Oracle Cloud Infrastructure. E-Business Suite workflow and Business event system are built on Oracle Advanced Queuing (AQ).

AQ and TxEventQ use cases

  • Application workflows

    Retail delivery guarantee workflow

    Delivery companies use one-time passwords (OTP) to verify the delivery address and person, using Oracle AQ as the backbone for message exchange between the vendor app, deliverer, and the customer. See code in the Oracle AQ LiveLab.

  • Event-driven applications

    ATM banking second-factor authentication

    Banks require an OTP to validate their accounts for withdrawal in many countries. Learn how to use Oracle AQ to create a messaging infrastructure to transfer the OTP between the ATM server code and the client mobile app of the customer.

    Oracle AQ is used for coordinating the OTP from the ATM machine with the customer’s registered mobile phone.

  • Microservices

    Food delivery app on Oracle Autonomous Database

    GrabDish is a food delivery app that uses Oracle AQ for communicating between the order, inventory, and delivery microservices. Check out the code in Simplify Microservices with Oracle AQ LiveLab.

    Modern AppDev of microservices with Oracle TxEventQ in Oracle’s converged database

Get started with AQ and TxEventQ


Try Oracle Cloud Free Tier

Build, test, and deploy applications on Oracle Cloud for free.


LiveLab

Use Oracle AQ and TxEventQ in your modern application development environment with the Oracle Database.


Contact sales

Interested in learning more? Contact one of our industry-leading experts.