Multi-tenant Database Record Action Batching via Message Queues
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-tenant database systems, updating shared records can be resource-intensive and lead to significant delays, especially when large numbers of records are shared among multiple users, causing processing performance issues.
Innovation Solution
The implementation of a message queue and event queue system that allows for selective batch processing of record actions, enabling efficient processing of updates by grouping messages and events corresponding to the same tenant and connection, thereby reducing the need for repeated API sessions and minimizing resource usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If records are shared with large numbers of users across multiple tenants, then collaboration capability is improved, but resource consumption and processing delays increase
Solution Approach 1:
The patent segments the monolithic record update process into discrete, manageable units by creating separate message queue entries for each target tenant and connection. This segmentation allows the system to process updates in smaller batches rather than attempting to update all shared records simultaneously, thereby reducing peak resource consumption while maintaining collaboration capabilities across multiple tenants.
Solution Approach 2:
The patent implements preliminary action by creating message queue entries and event queue entries before actual record updates occur. This allows the system to prepare and stage update operations in advance, organizing them by target tenant and connection, so that when updates are executed, they can be applied efficiently without causing resource contention or processing delays.
2Reliability
If all shared records are updated simultaneously for every user, then data consistency is improved, but processing time and resource usage increase
Solution Approach 1:
The patent segments the simultaneous update process into discrete message queue entries, one for each target tenant and connection. This segmentation maintains data consistency by ensuring each update is properly tracked and applied, while avoiding the resource exhaustion that would result from truly simultaneous updates across all users.
Solution Approach 2:
The patent implements periodic action by processing record updates in batches through the message queue system rather than all at once. Updates are processed periodically as messages are dequeued and executed, allowing the system to maintain data consistency across tenants while spreading resource consumption over time and avoiding processing bottlenecks.
3Manufacturing precision
If repeated API sessions are created for each record update, then update accuracy is improved, but system performance and response time deteriorate
Solution Approach 1:
The patent implements universality by creating a single message queue handler that processes multiple record update operations across different tenants and connections. This handler serves multiple functions: it manages message queuing, tracks updates by target tenant, coordinates batch processing, and ensures accurate application of each update. This eliminates the need for separate API sessions for each update while maintaining update accuracy through systematic tracking and processing.
Solution Approach 2:
The patent uses copying by creating message queue entries and event queue entries that replicate the essential information needed for each record update. These entries serve as templates or copies that contain all necessary update details, allowing the system to process multiple updates through a unified handler without needing to recreate API sessions, thereby maintaining accuracy while improving performance.
4Adaptability or versatility
If users with large numbers of shared records perform updates, then collaboration features are improved, but other users experience resource hogging and processing delays
Solution Approach 1:
The patent segments update operations by target tenant and connection, creating separate message queue entries for each. This segmentation prevents any single user with numerous shared records from monopolizing system resources, as each update is processed as an independent, manageable unit. Other users' processing is not blocked by resource hogging from a single user's bulk updates.
Solution Approach 2:
The patent implements periodic action by processing updates in batches through the message queue system. Instead of allowing one user's updates to consume all resources continuously, the system periodically processes batches of updates from different users in an interleaved manner. This ensures fair resource distribution and prevents processing delays for other users while maintaining full collaboration features.
Data Source
AI summary
A system and method for executing record actions in a multi-tenant database and application service is provided. The system and method is configured to provide a message queue and an event queue, the message queue configured to store a plurality of messages corresponding to record actions and the event queue configured to store a corresponding list of events. The system and method are configured to process record actions on the plurality of records by selecting a plurality of messages in the message queue for processing, the selected plurality of messages corresponding to a plurality of record actions on records in the multi-tenant database, identifying a plurality of events in the event queue corresponding to the selected plurality of messages, and processing the identified plurality of events as a batch to execute the plurality of record actions.


