Deterministic Locking for Database Deployment Objects
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current database deployment methods are time-consuming and labor-intensive, requiring significant effort to create release scripts, evaluate dependencies, schedule releases, and execute scripts during a specific window, while also needing to manage data locks and ensure minimal disruption to running sessions.
Innovation Solution
A system that includes a processor and memory configured to generate deployment objects specifying data, dependencies, and changes, determining a schedule for deterministic locking and applying changes to the database, allowing for sequential locking and updating of database objects without locking the entire database, thus reducing the need for external scripts and minimizing disruption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional database deployment methods are used with release scripts and dependency evaluation, then database updates can be performed, but the process becomes time-consuming and labor-intensive
Solution Approach 1:
The database management system performs automatic dependency evaluation and generates deployment plans without requiring external scripts or manual intervention. The system evaluates dependencies between database objects, determines lock requirements, and executes updates autonomously, eliminating the time-consuming manual script creation and evaluation process while maintaining reliable database updates
Solution Approach 2:
The system performs preliminary dependency evaluation and lock scheduling before actual database updates. By evaluating dependencies in advance and determining the optimal lock schedule beforehand, the system prepares a complete deployment plan that can be executed efficiently, reducing the time required during the actual update window
2Stability of the object's composition
If the entire database is locked for updates, then data consistency is maintained, but disruption to running sessions increases
Solution Approach 1:
The system segments the database into individual objects or subsets of objects that can be updated independently. By evaluating dependencies between objects and locking only the necessary segments rather than the entire database, the system maintains data consistency for updated portions while allowing other portions to remain accessible to running sessions, thereby reducing disruption
Solution Approach 2:
The system dynamically determines lock schedules based on dependency evaluation and current database state. Rather than using static full-database locking, the lock scope and timing are adapted to the specific update requirements and dependency relationships, maintaining consistency where needed while minimizing impact on session accessibility
3Adaptability or versatility
If manual script creation and dependency evaluation are performed, then database deployment can be controlled, but workload and complexity increase
Solution Approach 1:
The database management system automatically performs dependency evaluation, lock scheduling, and deployment plan generation without requiring external tools or manual script creation. The system evaluates dependencies between database objects, determines appropriate lock schedules, and executes updates autonomously, maintaining deployment control while eliminating the complexity of manual processes
Solution Approach 2:
The database management system integrates multiple deployment functions into a single unified process. It combines dependency evaluation, lock scheduling, script generation, and update execution within the database itself, eliminating the need for separate external tools and reducing overall process complexity while maintaining comprehensive deployment control
Data Source
AI summary
Methods and systems for deploying a database are described. In an example, a processor can generate an object that specifies a set of data from the database, a set of dependencies associated with the set of data, and a set of changes applicable to the set of data. The processor can determine a schedule to lock the set of data based on the set of dependencies. The processor can lock the set of data in accordance with the schedule. The processor can apply the set of changes to the set of data. The processor can release the set of data with the applied changes to update the database.


