DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

The software you build is only as secure as the code that powers it. Learn how malicious code creeps into your software supply chain.

Apache Cassandra combines the benefits of major NoSQL databases to support data management needs not covered by traditional RDBMS vendors.

Generative AI has transformed nearly every industry. How can you leverage GenAI to improve your productivity and efficiency?

Modernize your data layer. Learn how to design cloud-native database architectures to meet the evolving demands of AI and GenAI workloads.

Related

  • Integration Patterns in Microservices World
  • How To Build a Real-Time, Event-Driven Information System
  • Reactive Messaging Examples for Quarkus
  • Event-Driven Microservices: How Kafka and RabbitMQ Power Scalable Systems

Trending

  • The Smart Way to Talk to Your Database: Why Hybrid API + NL2SQL Wins
  • Can You Run a MariaDB Cluster on a $150 Kubernetes Lab? I Gave It a Shot
  • AI Speaks for the World... But Whose Humanity Does It Learn From?
  • Navigating and Modernizing Legacy Codebases: A Developer's Guide to AI-Assisted Code Understanding
  1. DZone
  2. Data Engineering
  3. Big Data
  4. Develop With Oracle Transactional Event Queues

Develop With Oracle Transactional Event Queues

Develop microservices with Oracle Transactional Event Queues, which are compatible with Kafka, but much more.

By 
Paul Parkinson user avatar
Paul Parkinson
·
Jun. 28, 22 · Tutorial
Likes (3)
Comment
Save
Tweet
Share
9.8K Views

Join the DZone community and get the full member experience.

Join For Free

This article provides a quick tour of Oracle's Transactional Event Queues (TEQ) and so attempts to cover as much as possible at a high-level while giving quick, low-level, and code examples at the same time. There is quite a bit of material, and there are multiple workshops related to TEQ and its use in modern application development and microservices that can be found at the end of this piece.

This article corresponds to a 12-minute video that can be found here...

Oracle Transactional Event Queues (previously known as Advanced Queueing) has been around and widely used for decades (long before Kafka) and is well-harden technology. Here is a timeline to give an idea.

Timeline of Oracle AQ and transactional event queues.

Oracle Transactional Event Queues are built into the Oracle database and provide a high-performance, high-throughput, and reliable messaging platform for microservices, streaming events, and pub/sub along with all the inherent HA, security, etc. benefits of running in the Oracle database. It supports sharding and propagation and provides APIs in all common languages such as Java, Python, Javascript, C, .Net, and PL/SQL as well as Kafka and REST APIs. Again, all the aspects described, and a migration tool to move from AQ to TEQ, are shown briefly in the video referenced above.

TEQ integration within the SQLcl command-line tool allows powerful and convenient administration within the shell, and REST APIs for TEQ, provided by Oracle REST Data Services, allow a convenient way to connect and view various queue characteristics without issuing any code.  This also allows for creating simple user-friendly interfaces.

Monitoring of TEQ is provided by an Oracle database metrics exporter that is scraped to provide Prometheus metrics to Grafana for analysis, alerts, etc.

The event broker and event mesh architecture of TEQ provided a number of features including the ability to propagate messages even across regions, interoperate with Kafka brokers via Kafka Connector bridge, and even allow developers to program to the Kafka API while seamlessly using TEQ and the advantages it provides.

Finally, due to the fact that TEQ runs within the database, it has the very unique ability to conduct messaging and database operations within the same local transaction. This provides tremendous power and simplification for the developer, particularly in microservice environments where data integrity and transactional messaging guarantees are vital. I elaborate on this aspect in my blog Apache Kafka vs. Oracle Transactional Event Queues as Microservices Event Mesh.

I hope you get a better understanding of what TEQ has to offer after this quick tour.  

You can learn more by checking out these workshops that contain labs showing much of the functionality described:

  • Simplify Microservices with Converged Oracle Database
  • Get started with Oracle AQ and Oracle TEQ events and messaging Workshop
  • Simplify Event-driven Apps with TEQ in Oracle Database (with Kafka interoperability)  

Finally, as always, please feel free to contact me with any questions or comments you have, and thanks for reading.

API Event kafka

Opinions expressed by DZone contributors are their own.

Related

  • Integration Patterns in Microservices World
  • How To Build a Real-Time, Event-Driven Information System
  • Reactive Messaging Examples for Quarkus
  • Event-Driven Microservices: How Kafka and RabbitMQ Power Scalable Systems

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!