|
1 |
| -# Oracle Database Transaction Event Queuing for Event Driven Architectures |
2 |
| -Reviewed: "11.01.2024" |
| 1 | +# Oracle Transactional Event Queues for Event-Driven Architectures |
| 2 | + |
| 3 | +**Oracle Transactional Event Queues (TxEventQs)** are a powerful feature of Oracle databases designed specifically to support event-driven architectures (EDA). TxEventQs provide a reliable and efficient mechanism for managing transactional events, enabling seamless integration with various microservices and applications, and ensuring high performance and data consistency. |
| 4 | + |
| 5 | +TxEventQs are compatible with Kafka (via the Kafka API for TxEventQ) and support TxEventQ - Kafka integration, providing flexibility for those architectures where kafka is already been using or in scenarios where message transactionality is not needed. |
| 6 | + |
| 7 | +### Key Concepts |
| 8 | + |
| 9 | +##### Event-driven architecture (EDA) |
| 10 | + |
| 11 | +Event-driven architecture (EDA) is a software design pattern that promotes the production, detection, consumption, and reaction to events. Events are significant changes in state or conditions that an application needs to respond to. TxEventQs enable EDA by providing a robust infrastructure for event handling and processing. |
| 12 | + |
| 13 | +##### Message Queues |
| 14 | + |
| 15 | +Message queues are essential in distributed systems, allowing different parts of an application to communicate and process operations asynchronously. TxEventQs provide a high-performance, transactional messaging system that ensures messages (events) are reliably delivered and processed in the correct order. |
| 16 | + |
| 17 | +##### Transactions |
| 18 | + |
| 19 | +In databases and messaging, a transaction is a sequence of operations performed as a single logical unit of work. Transactions ensure that a series of operations either complete successfully as a whole or fail without affecting the system state. TxEventQs integrate with Oracle's transaction management to guarantee that messages are processed reliably within transactions. **This message transactionality helps developers reduce the effort needed to develop EDA**, as it avoids the need for compensation code to ensure data consistency in case of failures. |
| 20 | + |
| 21 | +### Features of Oracle Transaction Event Queues |
| 22 | + |
| 23 | +##### High Performance |
| 24 | +TxEventQs are optimized for high throughput and low latency, making them suitable for applications that require rapid event processing and high scalability. |
| 25 | + |
| 26 | +##### Transactional Integrity |
| 27 | +By integrating with Oracle's transaction management system, TxEventQs ensure that events are processed exactly once and in the correct order, maintaining data consistency and reliability. |
| 28 | + |
| 29 | +##### Scalability |
| 30 | +TxEventQs can handle a large number of events and scale horizontally to accommodate growing workloads, making them ideal for applications with high-volume event streams. |
| 31 | + |
| 32 | +##### Flexibility |
| 33 | +TxEventQs support various message patterns, including point-to-point and publish-subscribe, providing flexibility in how events are routed and processed. |
| 34 | + |
| 35 | +##### Integration |
| 36 | +TxEventQs can be easily integrated with other Oracle database features and external applications, enabling seamless interaction between different system components and microservices. |
| 37 | + |
| 38 | +Also, TxEventQ can be integrated with Kafka in a transparent way for applications. |
| 39 | + |
| 40 | +### Use Cases |
| 41 | + |
| 42 | +##### Microservices Communication |
| 43 | +TxEventQs are ideal for communication between microservices in a distributed system. They allow microservices to exchange messages reliably, ensuring that each service can react to events generated by others. |
| 44 | + |
| 45 | +##### Event Sourcing |
| 46 | +In event sourcing, state changes are captured as a series of events. TxEventQs can be used to store and process these events, providing a reliable mechanism for building event-sourced systems. |
| 47 | + |
| 48 | +##### Real-Time Analytics |
| 49 | +TxEventQs can be used to collect and process events in real-time, enabling applications to perform real-time analytics and react to data changes as they happen. |
| 50 | + |
| 51 | +##### Workflow Management |
| 52 | +TxEventQs can manage and coordinate workflows by routing events between different components of a workflow system, ensuring that each step in the workflow is executed in the correct order. |
| 53 | + |
| 54 | + |
| 55 | + |
| 56 | +Oracle Transaction Event Queues provide a robust, high-performance solution for managing transactional events in event-driven architectures. By integrating seamlessly with Oracle's database and transaction management systems, TxEventQs offer reliable, scalable, and flexible event processing capabilities, making them a powerful tool for modern applications. |
| 57 | + |
| 58 | + |
| 59 | +Reviewed: "07.06.2024" |
3 | 60 |
|
4 | 61 |
|
5 | 62 |
|
6 | 63 | # Table of Contents
|
7 | 64 |
|
8 |
| -1. TBD |
| 65 | +1. [Team Publications](#team-publications) |
| 66 | +2. [Useful Links](#useful-links) |
| 67 | +3. [Tutorials / How To's](#tutorials--how-tos) |
9 | 68 |
|
10 | 69 |
|
11 | 70 | # Team Publications
|
12 |
| -- TBD |
| 71 | +- [Video: Simplify Event-driven Apps with TxEventQ (Presentation and demo)](https://otube.oracle.com/media/Simplify%20Event-driven%20Apps%20with%20TxEventQ/1_zsf9huje) |
| 72 | +- [Oracle Developer Tech Days](https://go.oracle.com/LP=138674?elqCampaignId=500067&src1=:se:lw:ie:pt:::SEO400308921SW&evite=WWMK230914P00011:se:lw:ie:pt:::SEO400308921SW) Developing Microservices Applications with Oracle (**Registration Required**) |
| 73 | +- Cloud Coaching Session: [Upgrade Your Microservices with Autonomous Database: Event Driven Architectures with TxEventQ and Kafka](https://www.youtube.com/watch?v=my4KMotFKwM&list=PLPIzp-E1msrZbCMh7NObbSSoI7q924MZS&index=1&t=7s) |
13 | 74 |
|
14 | 75 | # Useful Links
|
15 |
| -- TBD |
| 76 | +- [Oracle Transactional Event Queues Home Page](https://www.oracle.com/database/advanced-queuing/) |
| 77 | +- Oracle 23ai Documentation: [Transactional Event Queues and Advanced Queuing User's Guide](https://docs.oracle.com/en/database/oracle/oracle-database/23/adque/index.html) |
| 78 | +- Blog: [Building a event streaming architecture using a simple and breakthrough solution](https://luca-bindi.medium.com/building-a-event-streaming-architecture-using-a-simple-and-breakthrough-solution-db6270ea6183) |
| 79 | +- Article: Develop With Oracle Transactional Event Queues (https://dzone.com/articles/develop-with-oracle-transactional-event-queues-kaf) |
| 80 | +- Video: [Tour of Oracle Transactional Event Queues](https://www.youtube.com/watch?v=_udsAs0GRkU) |
| 81 | +- Video: [Transactional Events Using Oracle TEQ and Apache Kafka](https://www.youtube.com/watch?v=BZ4bJtNyV-g) |
| 82 | + |
16 | 83 |
|
17 |
| -## Scripts |
18 |
| -- TBD |
19 | 84 |
|
20 | 85 | # Tutorials / How To's
|
21 |
| -- TBD |
| 86 | +- Oracle LiveLabs: [Simplify Microservices with Converged Oracle Database](https://apexapps.oracle.com/pls/apex/r/dbpm/livelabs/view-workshop?wid=637) |
| 87 | +- Oracle LiveLabs: [Get started with Oracle AQ and Oracle TEQ events and messaging](https://apexapps.oracle.com/pls/apex/r/dbpm/livelabs/view-workshop?wid=1016) |
| 88 | + |
22 | 89 |
|
23 | 90 |
|
24 | 91 | # License
|
|
0 commit comments