Schema evolution in replication
First Claim
1. A method of propagating changes to a table, comprising:
- maintaining a second version of the table at a second site;
receiving, at the second site, from a first site maintaining a first version of the table, change data that identifies changes made to the first version of the table; and
updating, at the second site, the second version of the table based on the change data to create an updated second version of the table,wherein at least one of the first version of the table and the updated second version of the table have at least one non-overlapping relational database column both before and after the step of updating.
2 Assignments
0 Petitions
Accused Products
Abstract
Schema evolution involves defining flavored object groups. Specifically, related collections of replicated tables and other database objects, which are defined as belonging to an object group, are given different “flavors.” A flavor describes different subsets of the objects and even different subsets of the columns in the master tables. In one embodiment, when one site in a distributed database system propagates changes to a replicated database object, the current flavor for the site is also transmitted, so that the destination site can make the necessary adjustments in the uploaded changes by dropping the values for obsolete columns and using default values for new columns.
-
Citations
22 Claims
-
1. A method of propagating changes to a table, comprising:
-
maintaining a second version of the table at a second site; receiving, at the second site, from a first site maintaining a first version of the table, change data that identifies changes made to the first version of the table; and updating, at the second site, the second version of the table based on the change data to create an updated second version of the table, wherein at least one of the first version of the table and the updated second version of the table have at least one non-overlapping relational database column both before and after the step of updating. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of modifying a table to drop a first column and add a second column, said table being replicated at a plurality of sites, comprising the steps of:
-
(a) associating a first flavor with a first site, said first flavor describing the table as having both the first column and the second column; (b) after associating the first flavor with the first site, adding the second column to a first version of the table at the first site, so that the first version of the table contains both the first column and the second column; (c) associating a second flavor with the second site, said second flavor describing the table as having the second column but not the first column; (d) after associating the second flavor with the second site, dropping the first column and adding the second column to a second version of the table at the second site; (e) after dropping the column and adding the second column to the second version of the table at the second site, associating the second flavor with the first site and dropping the first column from the first version of the table at the first site; and (f) maintaining replication activities while performing steps (a), (b), (c), (d), and (e) such that records stored in the first version of the table at said first site are replicated from said first site to said second site while said first version of the table and said second version of the table maintain a different set of columns for the table. - View Dependent Claims (10)
-
-
11. A method of propagating changes to a data container, comprising:
-
maintaining a second version of the data container at a second site; receiving, at the second site, from a first site maintaining a first version of the data container, change data that identifies changes made to the first version of the data container; and updating, at the second site, the second version of the data container based on the change data to create an updated second copy of the table; wherein the first copy of the data container and the updated second copy of the data container have at least one non-overlapping data field both before and after the step of updating.
-
-
12. A tangible computer-readable storage medium storing one or more sequences of instructions for propagating changes to a table, wherein execution of the one or more sequences of instructions by one or more processors causes:
-
maintaining a second version of the table at a second site; receiving, at the second site, from a first site maintaining a first version of the table, change data that identifies changes made to the first version of the table; and updating, at the second site, the second version of the table based on the change data to create an updated second version of the table, wherein at least one of the first version of the table and the updated second version of the table have at least one non-overlapping relational database column both before and after the step of updating. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A tangible computer-readable storage medium storing one or more sequences of instructions for modifying a table to drop a first column and add a second column, said table being replicated at a plurality of sites, wherein execution of the one or more sequences of instructions by one or more processors causes:
-
(a) associating a first flavor with a first site, said first flavor describing the table as having both the first column and the second column; (b) after associating the first flavor with the first site, adding the second column to a first copy of the table at the first site, so that the first version of the table contains both the first column and the second column; (c) associating a second flavor with the second site, said second flavor describing the table as having the second column but not the first column; (d) after associating the second flavor with the second site, dropping the first column and adding the second column to a second version of the table at the second site; (e) after dropping the column and adding the second column to the second version of the table at the second site, associating the second flavor with the first site and dropping the first column from the first version of the table at the first site; and (f) maintaining replication activities while performing steps (a), (b), (c), (d), and (e) such that records stored in the first version of the table at said first site are replicated from said first site to said second site while said first version of the table and said second version of the table maintain a different set of columns for the table. - View Dependent Claims (21)
-
-
22. A tangible computer-readable storage medium storing one or more sequences of instructions for propagating changes to a data container, wherein execution of the one or more sequences of instructions by one or more processors causes:
-
maintaining a second version of the data container at a second site; receiving, at the second site, from a first site maintaining a first version of the data container, change data that identifies changes made to the first version of the data container; and updating, at the second site, the second version of the data container based on the change data to create an updated second copy of the table; wherein the first version of the data container and the updated second version of the data container have at least one non-overlapping data field both before and after the step of updating.
-
Specification