Zero downtime evolution of database schemas for cloud applications
Abstract
In an example embodiment, a first version of a cloud-based application is deployed. The first version of the cloud-based application contains references, based on a first schema, to a first database. Then a second version of the cloud-based application, different than the first version, is deployed. The second version of the cloud-based application contains references, based on a second schema, to the first database. Then access to the second version of the cloud-based application to one or more user devices is prevented while permitting testing devices to have access to the second version of the cloud-based application, while migrating data from the first schema of the first database to the second schema of the first database. Then access to the second version of the cloud-based application to the one or more user devices is permitted once the migrating of the data is complete.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A system comprising:
one or more processors; and a multi-schema-version database management system comprising:
an upper layer containing multiple logical schema versions;
a lower layer containing materialized tables containing data;
a middle layer containing a catalog connecting the upper layer and the lower layer by maintaining a genealogy of different schema versions in the multi-schema-version database management system; and
a delta code generation component containing code that, when executed, creates the different schema versions based on the materialized tables.
2 . The system of claim 1 , wherein the code, when executed, processes a sequence of schema modification operations (SMOs).
3 . The system of claim 2 , wherein each of a plurality of table versions is created by exactly one SMO.
4 . The system of claim 3 , wherein at least one table version is modified by another SMO.
5 . The system of claim 1 , wherein the code, when executed, splits a table into two tables.
6 . The system of claim 5 , wherein the table is split by distributing columns of the table into two new target table versions.
7 . The system of claim 6 , wherein the code, when executed, further generates a new foreign key between two tables corresponding to the two new target table versions.
8 . A method comprising:
creating an upper layer of a multi-schema-version database management system, the upper layer containing multiple logical schema versions; creating a lower layer of the multi-schema-version database management system, the lower layer containing materialized tables containing data; creating a middle layer of the multi-schema-version database management system, the middle layer containing a catalog connecting the upper layer and the lower layer by maintaining a genealogy of different schema versions in the multi-schema-version database management system; and using a delta code generation component to create the different schema versions based on the materialized tables.
9 . The method of claim 8 , further comprising:
using the delta code generation component to processes a sequence of schema modification operations (SMOs).
10 . The method of claim 9 , wherein each of a plurality of table versions is created by exactly one SMO.
11 . The method of claim 10 , wherein at least one table version is modified by another SMO.
12 . The method of claim 8 , further comprising using the delta code generation component to split a table into two tables.
13 . The method of claim 12 , wherein the table is split by distributing columns of the table into two new target table versions.
14 . The method of claim 13 , further comprising using the delta code generation component to generate a new foreign key between two tables corresponding to the two new target table versions.
15 . A non-transitory machine-readable medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform operations comprising:
creating an upper layer of a multi-schema-version database management system, the upper layer containing multiple logical schema versions; creating a lower layer of the multi-schema-version database management system, the lower layer containing materialized tables containing data; creating a middle layer of the multi-schema-version database management system, the middle layer containing a catalog connecting the upper layer and the lower layer by maintaining a genealogy of different schema versions in the multi-schema-version database management system; and using a delta code generation component to create the different schema versions based on the materialized tables.
16 . The non-transitory machine-readable medium of claim 15 , further comprising:
using the delta code generation component to processes a sequence of schema modification operations (SMOs).
17 . The non-transitory machine-readable medium of claim 16 , wherein each of a plurality of table versions is created by exactly one SMO.
18 . The non-transitory machine-readable medium of claim 17 , wherein at least one table version is modified by another SMO.
19 . The non-transitory machine-readable medium of claim 15 , further comprising using the delta code generation component to split a table into two tables.
20 . The non-transitory machine-readable medium of claim 19 , wherein the table is split by distributing columns of the table into two new target table versions.Join the waitlist — get patent alerts
Track US2023126892A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.