Moving data between partitions
First Claim
1. A method comprising:
- receiving an instruction, that is initiated by a first user, 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, that are initiated by a plurality of users, to modify data reflected in the partition, performing an operation that moves, splits, or merges the partition;
wherein performing the operation comprises;
creating a new partition that the plurality of transactions cannot access;
copying data, from the partition that the plurality of transactions can access, into the new 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.
13 Citations
26 Claims
-
1. A method comprising:
-
receiving an instruction, that is initiated by a first user, 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, that are initiated by a plurality of users, to modify data reflected in the partition, performing an operation that moves, splits, or merges the partition; wherein performing the operation comprises; creating a new partition that the plurality of transactions cannot access; copying data, from the partition that the plurality of transactions can access, into the new 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)
-
-
14. One or more non-transitory storage media storing instructions which, when executed by one or more computing devices, cause:
-
receiving an instruction, that is initiated by a first user, 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, that are initiated by a plurality of users, to modify data reflected in the partition, performing an operation that moves, splits, or merges the partition; wherein performing the operation comprises; creating a new partition that the plurality of transactions cannot access; copying data, from the partition that the plurality of transactions can access, into the new partition. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
Specification