Schema Migration Module for NoSQL Databases Without Downtime
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional techniques for migrating schemas in NoSQL databases often require downtime, leading to data loss and scalability issues, as they involve shutting down applications and database servers, which is unacceptable in cloud environments serving millions of users.
Innovation Solution
A schema migration module implemented on computing devices controls access to databases during transformation, limiting read access to the new schema and write access to the old schema, while synchronizing write operations to ensure data consistency and availability, allowing seamless transition without downtime.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional schema migration techniques are used, then the schema can be changed to meet new application requirements, but the service must be taken offline causing downtime and potential data loss
Solution Approach 1:
The patent creates a preview environment that allows schema changes to be tested and validated before being applied to the production database. This preliminary action enables schema evolution without forcing service downtime, as the changes are prepared and approved in advance in the preview environment.
Solution Approach 2:
The patent introduces a preview environment as an intermediary between the current production schema and the desired future schema. This intermediary layer allows schema transformations to be staged, tested, and validated before being applied to the live service, thereby maintaining service availability while enabling schema changes.
2Stability of the object's composition
If schema migration is performed with service downtime, then data consistency can be maintained, but user access and service continuity are interrupted
Solution Approach 1:
The patent enables continuous service operation during schema migration by maintaining the production environment online throughout the migration process. The preview environment handles read operations while the migration proceeds, ensuring that useful service actions continue without interruption while data consistency is maintained through controlled write operations.
Solution Approach 2:
The patent segments the database system into two independent environments: production and preview. This segmentation allows the migration to proceed in the preview environment while the production environment remains operational, eliminating the need for service downtime and maintaining both data consistency and service continuity.
3Productivity
If the old schema is used for writes during migration, then new data can be captured, but read operations cannot access the new schema structure
Solution Approach 1:
The patent inverts the conventional approach by allowing read operations to access the new schema structure in the preview environment while write operations continue against the old schema in the production environment. This inversion enables both data capture continuity and schema compatibility to coexist during the migration process.
Data Source
AI summary
Techniques supporting database migration of schemas enforced by applications without downtime is described. In examples, a method of migrating databases is described to comply with schemas enforced by one or more applications without downtime such that the data remains accessible to the one or more applications. A transformation is initiated, by a schema migration module implemented by one or more computing devices, of a first database in compliance with a first schema into a second database in compliance with a second schema. The first and second schemas have mechanisms for storage and retrieval of data that is modeled using at least one technique other than a relational model. Access of the one or more applications is controlled by the schema migration module to the first and second databases during the transformation by limiting read operation access to the second database and write operation access to the first database during the transformation and synchronizing write operations made to the first database by replaying the write operations with corresponding transformed data into the second database.


