Flexible partitioning of data
First Claim
Patent Images
1. A non-transitory computer-readable medium embodying a program executable in a computing device, the program comprising:
- code that generates a first version of mapping metadata that includes a first list of partitions of a data store and an approach for mapping key values of data items to one of the first list of partitions;
code that generates a second version of mapping metadata that includes a second list of partitions of the data store and an approach for mapping key values of data items to one of the second list of partitions, the second list of partitions differing from the first list of partitions and being generated after the first list of partitions;
code that identifies a key attribute for a type of data item according to a data access history associated with the type of data item;
code that determines a first partition of the data store by mapping a value of the key attribute of a data item of the type of data item according to the approach of the first version of mapping metadata;
code that determines a second partition of the data store by mapping the value according to the approach of the second version of mapping metadata; and
code that inserts another data item into a partition of the data store that is identified according to the approach for mapping that is included in the second version of mapping metadata.
1 Assignment
0 Petitions
Accused Products
Abstract
Disclosed are various embodiments of a flexible application-level partitioning scheme for data storage components. A data store is accessible by one or more computing devices and includes multiple partitions. One of the partitions is identified by mapping a key value of a data item to one of the partitions according to one of multiple versions of mapping metadata. Each of the versions of mapping metadata specifies a respective list of some or all of the partitions and an approach for mapping the key value to one of the partitions. The data item is inserted into the identified partition.
-
Citations
22 Claims
-
1. A non-transitory computer-readable medium embodying a program executable in a computing device, the program comprising:
-
code that generates a first version of mapping metadata that includes a first list of partitions of a data store and an approach for mapping key values of data items to one of the first list of partitions; code that generates a second version of mapping metadata that includes a second list of partitions of the data store and an approach for mapping key values of data items to one of the second list of partitions, the second list of partitions differing from the first list of partitions and being generated after the first list of partitions; code that identifies a key attribute for a type of data item according to a data access history associated with the type of data item; code that determines a first partition of the data store by mapping a value of the key attribute of a data item of the type of data item according to the approach of the first version of mapping metadata; code that determines a second partition of the data store by mapping the value according to the approach of the second version of mapping metadata; and code that inserts another data item into a partition of the data store that is identified according to the approach for mapping that is included in the second version of mapping metadata. - View Dependent Claims (2)
-
-
3. A system, comprising:
-
at least one computing device; a data store accessible by the at least one computing device and including a plurality of partitions; and a data store management application executable in the at least one computing device, the data store management application comprising; logic that identifies one of the partitions by mapping a key value of a data item to the one of the partitions according to one of a plurality of versions of mapping metadata, each of the versions of mapping metadata specifying a respective list of at least some of the partitions and an approach for mapping the key value to one of the at least some of the partitions, the versions of mapping metadata being concurrently available to the data store management application; and logic that inserts the data item into the one of the partitions identified by the logic that identifies. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method, comprising the steps of:
-
generating, in at least one computing device, a first version of mapping metadata that includes a first list of partitions of a data store and an approach for mapping data items to one of the first list of partitions; generating, in the at least one computing device, a second version of mapping metadata that includes a second list of partitions of the data store and an approach for mapping data items to one of the second list of partitions, the second list of partitions differing from the first list of partitions, the first and second versions of mapping metadata existing concurrently; determining, in the at least one computing device, a first partition of the data store by mapping a data item according to the approach of the first version of mapping metadata; and determining, in the at least one computing device, a second partition of the data store by mapping the data item according to the approach of the second version of mapping metadata. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22)
-
Specification