Database Instance Segmentation for Zero-Downtime Maintenance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data management systems require databases to be taken offline for maintenance, resulting in periods of downtime and inaccessible data, which is undesirable for high-availability applications.
Innovation Solution
Implementing a system that maintains continuous access to database information by storing two instances of a database table, switching between them during maintenance, allowing queries to be directed to an inactive table while the active table is updated, ensuring uninterrupted access to users.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If the database is taken offline for maintenance and updating operations, then the database can be updated and maintained properly, but users are unable to access the data resulting in periods of downtime
Solution Approach 1:
The database is segmented into multiple instances (first instance and second instance) that can be independently accessed. While one instance is being maintained, the other remains available for user queries, eliminating downtime and maintaining data availability during maintenance operations.
Solution Approach 2:
A switch parameter is pre-configured in the database to control instance selection before maintenance begins. This preliminary setup allows seamless switching between instances without interruption to user access, enabling maintenance to proceed while keeping the database available.
2Reliability
If the database is kept online for continuous user access, then data availability is maintained, but maintenance and updating operations cannot be performed
Solution Approach 1:
The database system is divided into multiple independent instances that can operate in parallel. This segmentation allows one instance to serve user queries while another instance undergoes maintenance, enabling both continuous availability and ease of maintenance simultaneously.
Solution Approach 2:
The switch parameter acts as an intermediary mechanism that directs user queries to the appropriate database instance. This mediator enables seamless transition between instances, allowing maintenance on one instance while maintaining user access through the other instance.
3Ease of manufacture
If maintenance operations are performed on the database, then the database can be updated, but users receive error messages when attempting to access data during updating
Solution Approach 1:
The database is segmented into multiple instances so that user queries are directed to the active instance while maintenance is performed on the inactive instance. This segmentation prevents error messages during maintenance and ensures continuous user access without interruption.
Solution Approach 2:
The switch parameter is pre-configured to point to the active database instance before maintenance begins. This preliminary configuration ensures that user queries are automatically directed to the correct instance, preventing error messages and maintaining seamless user access during maintenance operations.
Data Source
AI summary
A computer-implemented method for managing access to data stored in a database is provided. The method includes storing in the database a switch parameter having a first value, storing in the database at least two instances of a data object wherein each of the instances includes a unique identifier, receiving a client query from a requestor, determining by the computing device an active instance from the at least two instances based at least in part on comparing the first value of the switch parameter to the unique identifier of each instance, modifying by the computing device the client query at least in part based on the determined active instance to create a resultant query, executing the resultant query against the active instance to generate a resultant data, and providing the resultant data to the requestor.


