Distributed Stream-Based Database Trigger Routing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional database trigger systems in multi-tenant hosted environments face challenges in resource management, as executing trigger functions for one tenant can consume resources needed by another, and existing solutions lack scalability independent of database storage and workload capabilities.
Innovation Solution
A distributed stream-based trigger system that configures computing nodes to process trigger functions independently, using a log streaming module to generate event streams from database logs, and a mapping module to monitor resource utilization and route trigger functions to less loaded nodes, ensuring efficient resource allocation and scalability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional database trigger systems execute triggers within the database management system, then triggers can be executed in response to database events, but resources needed for trigger execution are consumed from the same pool as database storage and workload processing
Solution Approach 1:
The system segments trigger execution from database management operations by introducing a separate trigger management system that receives trigger definitions and events independently from the core database management system, allowing parallel processing of database operations and trigger executions
Solution Approach 2:
A trigger management system acts as an intermediary component between the database management system and trigger execution, receiving trigger definitions and events via standardized interfaces and coordinating execution without blocking database operations
2Adaptability or versatility
If database triggers are executed in a multi-tenant hosted environment using conventional approaches, then triggers can be executed for each tenant, but resources needed by one tenant are consumed by trigger execution affecting other tenants
Solution Approach 1:
The trigger management system segments tenant-specific trigger executions into isolated processing streams, allowing each tenant's triggers to be executed independently without interfering with other tenants' database operations and resource allocation
Solution Approach 2:
The system implements feedback mechanisms where the trigger management system monitors resource usage and tenant requirements, dynamically adjusting trigger execution scheduling to optimize resource distribution across multiple tenants
3Speed
If conventional database systems integrate trigger execution within the database management system, then triggers can be executed immediately upon database events, but the system lacks scalability independent of database storage and workload capabilities
Solution Approach 1:
The architecture segments trigger execution into a separate scalable service that can be independently provisioned and scaled based on trigger workload requirements, while the database management system continues to handle storage and query operations at its own capacity
Solution Approach 2:
The trigger management system is designed as a universal platform that can handle diverse trigger types and database workloads, allowing independent scaling of trigger processing capabilities without being constrained by database-specific performance characteristics
Data Source
AI summary
Information describing changes to a collection of items maintained by a database may be stored in a log file. The information in the log file may be converted into a stream of records describing the changes. The records may be directed to a computing node selected for performing a trigger function in response to the change, based on applying a hash function to a portion of the record, identifying a hash space associated with a value output by the hash function, and mapping from the hash space to the selected computing node.


