SYSTEMS AND METHODS FOR RESLICING DATA IN A RELATIONAL DATABASE
First Claim
1. A method of splitting a first slice of a representation in a distributed database into a plurality of new slices, the method comprising:
- creating a plurality of write queues, each write queue corresponding to a different one of the new slices;
copying units of data in the first slice to the new slices according to a distribution function that determines, for each unit of data in the first slice, one of the new slices into which to copy the unit of data;
asynchronously writing one or more actions of a set of one or more asynchronous database transactions to the first slice, wherein each transaction of the set of asynchronous database transactions is initiated after beginning said copying; and
asynchronously enqueuing the one or more actions of the set of asynchronous database transactions in the write queues according to the distribution function,wherein the method is performed by one or more computing devices.
7 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for reslicing data in a representation of a relational database are disclosed. In one embodiment, the database includes a representation including a first slice. The database system creates a plurality of new slice and to create a plurality of write queues. The database system copies units of data in the first slice to the new slices according to a distribution function. The distribution function determines, for each unit of data in the first slice, one of the new slices into which to copy the unit of data. The database system asynchronously writes one or more actions of a set of one or more asynchronous database transactions to the first slice when copying the data in the first slice to the new slices. The database asynchronously enqueues the one or more actions of the set of asynchronous database transactions in the write queues according to the distribution function.
-
Citations
29 Claims
-
1. A method of splitting a first slice of a representation in a distributed database into a plurality of new slices, the method comprising:
-
creating a plurality of write queues, each write queue corresponding to a different one of the new slices; copying units of data in the first slice to the new slices according to a distribution function that determines, for each unit of data in the first slice, one of the new slices into which to copy the unit of data; asynchronously writing one or more actions of a set of one or more asynchronous database transactions to the first slice, wherein each transaction of the set of asynchronous database transactions is initiated after beginning said copying; and asynchronously enqueuing the one or more actions of the set of asynchronous database transactions in the write queues according to the distribution function, 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. A distributed database system comprising a reslicing system for splitting a first slice of a representation in the database into a plurality of new slices, and one or more computing devices operative to implement the reslicing system, the reslicing system being configured to:
-
create a plurality of new slices; create a plurality of write queues, each write queue corresponding to a different one of the new slices; copy units of data in the first slice to the new slices according to a distribution function that determines, for each unit of data in the first slice, one of the new slices into which to copy the unit of data; asynchronously write one or more actions of a set of one or more asynchronous database transactions to the first slice, wherein each transaction of the set of asynchronous database transactions is initiated after the system begins said copy; and asynchronously enqueue the one or more actions of the set of asynchronous database transactions in the write queues according to the distribution function. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A computer-readable non-transitory storage medium comprising code for splitting a first slice of a representation in a database into a plurality of new slices, the code capable of causing one or more computing devices to:
-
create a plurality of new slices; create a plurality of write queues, each write queue corresponding to a different one of the new slices; copy units of data in the first slice to the new slices according to a distribution function that determines, for each unit of data in the first slice, one of the new slices into which to copy the unit of data; asynchronously write one or more actions of a set of one or more asynchronous database transactions to the first slice, wherein each transaction of the set of asynchronous database transactions is initiated after the one or more computing devices begin said copy; and asynchronously enqueue the one or more actions of the set of asynchronous database transactions in the write queues according to the distribution function. - View Dependent Claims (19, 20, 21, 22, 23)
-
-
24. A method of splitting a first slice of a representation in a distributed database into a plurality of new slices, the method comprising:
-
creating the new slices; creating a plurality of write queues, each write queue corresponding to a different one of the new slices; copying units of data in the first slice to the new slices according to a distribution function that determines, for each unit of data in the first slice, one of the new slices into which to copy the unit of data; and writing one or more actions of one or more database transactions to the first slice after beginning said copying, wherein the method is performed by one or more computing devices. - View Dependent Claims (25, 26, 27, 28, 29)
-
Specification