MOVING DATA BETWEEN PARTITIONS
First Claim
1. A method comprising:
- receiving an instruction to move a partition to a new storage location, to split the partition into two or more partitions, or to merge a plurality of partitions that includes the partition into a single partition;
in response to receiving the instruction and while allowing a plurality of transactions to modify data reflected in the partition, performing an operation that moves, splits, or merges the partition;
wherein the method is performed by one or more computing devices.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are provided for moving data between partitions. Such a process may be performed without requiring any locks that block transactions that target a partition from being executed. Instead, such transactions may proceed while a move operation is being performed. The move operation involves copying data from the targeted partition to another partition that is hidden from (or “invisible” to) those transactions that attempt to read from or write to the partition. During the move operation, changes that are made to the partition are also reflected in a journal. Eventually, the changes reflected in the journal are drained and applied to the hidden partition. Once the partition and the hidden partition are synchronized, the identities of the partitions are swapped so that future transactions will target the previously-hidden partition instead of the previously-viewable partition.
33 Citations
27 Claims
-
1. A method comprising:
-
receiving an instruction to move a partition to a new storage location, to split the partition into two or more partitions, or to merge a plurality of partitions that includes the partition into a single partition; in response to receiving the instruction and while allowing a plurality of transactions to modify data reflected in the partition, performing an operation that moves, splits, or merges the partition; wherein the method is performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method comprising:
-
storing a plurality of mappings, each of which maps a location identifier for a first database object with a location identifier for a second database object that is different than the first database object; in response to receiving a query; identifying an entry in an index, identifying a first location identifier that is indicated in the entry, based on a mapping in the plurality of mappings, identifying a second location identifier that corresponds to the first location identifier, using the second location identifier to retrieve data from the second database object; wherein the method is performed by one or more computing devices. - View Dependent Claims (14, 15)
-
-
16. One or more non-transitory storage media storing instructions which, when executed by one or more computing devices, cause:
-
receiving an instruction to move a partition to a new storage location, to split the partition into two or more partitions, or to merge a plurality of partitions that includes the partition into a single partition; in response to receiving the instruction and while allowing a plurality of transactions to modify data reflected in the partition, performing an operation that moves, splits, or merges the partition; wherein the method is performed by one or more computing devices. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
Specification