Queue-to-queue Job Segmentation for Database Event Propagation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database systems face challenges in propagating events and messages across multiple queues, particularly in clustered environments, where load balancing and failure handling are inefficient due to the coarse granularity of queue-to-dblink jobs, leading to issues like undeliverable messages and manual intervention requirements.
Innovation Solution
Implementing queue-to-queue jobs for finer-grained point-to-point event propagation, allowing each source-destination queue pair to have its own propagation schedule, enabling independent management and enabling/disabling of propagation jobs, and using queue-to-instance mapping for efficient load balancing across multiple database instances.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If queue-to-dblink jobs are used for event propagation, then the system can handle multiple destination queues through a single job, but the granularity is too coarse leading to inefficient load balancing and failure handling
Solution Approach 1:
The patent segments the queue-to-dblink job into multiple queue-to-queue jobs, where each destination queue receives events through its own dedicated job. This segmentation allows independent management of each propagation path, enabling finer-grained control over load balancing and failure handling without affecting other destination queues.
2Use of energy by moving object
If a single queue-to-dblink job propagates events to multiple destination queues, then resource utilization is improved, but failure handling becomes problematic causing undeliverable messages
Solution Approach 1:
By creating separate queue-to-queue jobs for each destination queue, the system maintains resource utilization benefits while isolating failure impacts. Each job can be independently enabled or disabled based on destination queue status, preventing undeliverable messages from affecting other propagation paths.
Solution Approach 2:
The system automatically manages job enablement and disablement based on destination queue status. When a destination queue becomes unavailable, the corresponding queue-to-queue job is automatically disabled, and when restored, the job is re-enabled without manual intervention, ensuring continuous reliable delivery.
3Adaptability or versatility
If queue-to-dblink jobs are used, then propagation coverage is broad, but manual intervention is required for job management and failure handling
Solution Approach 1:
The patent implements automatic job management where the system monitors destination queue status and automatically enables or disables queue-to-queue jobs accordingly. This eliminates the need for manual intervention in job management while maintaining broad propagation coverage across multiple destination queues.
4Reliability
If finer-grained queue-to-queue jobs are implemented, then load balancing and failure handling improve, but the number of jobs increases
Solution Approach 1:
The patent segments propagation into multiple queue-to-queue jobs, each targeting a specific destination queue. While this increases the number of jobs, it provides superior failure handling and load balancing capabilities. The system manages this complexity through automatic job enablement/disablement based on destination queue status.
Data Source
AI summary
A method and apparatus for propagating and managing data, transactions and events either within a database, or from one database to another is provided. In one embodiment, messages are propagated from a source to a first queue and a second queue with the queues associated with the same database. The connection from the source to each queue maintains its own propagation job. This method could also be employed with cluster databases.


