Customer-requested partitioning of journal-based storage systems
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-007/00
G06F-017/00
G06F-017/30
출원번호
US-0833003
(2015-08-21)
등록번호
US-10031935
(2018-07-24)
발명자
/ 주소
Cole, Timothy Daniel
Morkel, John Michael
Certain, Tate Andrew
Jacques De Kadt, Christopher Richard
Danilov, Artem
Ross, Andrew Wayne
Vermeulen, Allan Henry
출원인 / 주소
Amazon Technologies, Inc.
대리인 / 주소
Kowert, Robert C.
인용정보
피인용 횟수 :
0인용 특허 :
17
초록▼
A materialization configuration request is received via a programmatic interface from a client of a journal-based multi-data-store database. The request indicates a partitioning rule to be used to select, for respective writes indicated in committed transaction entries of a journal, the materializat
A materialization configuration request is received via a programmatic interface from a client of a journal-based multi-data-store database. The request indicates a partitioning rule to be used to select, for respective writes indicated in committed transaction entries of a journal, the materialization node at which the writes are to be stored. A control plane component of the database verifies that a set of materialization nodes corresponding to the partitioning rule has been established, and initiates the propagation of writes from the journal to the materialization nodes by respective write appliers.
대표청구항▼
1. A system, comprising: one or more control plane components instantiated at one or more computing devices of a distributed database;wherein the one or more control plane components are configured to: implement one or more programmatic interfaces enabling submission of materialization configuration
1. A system, comprising: one or more control plane components instantiated at one or more computing devices of a distributed database;wherein the one or more control plane components are configured to: implement one or more programmatic interfaces enabling submission of materialization configuration requests associated with one or more data objects;based at least in part on a materialization configuration request received via a particular programmatic interface of the one or more programmatic interfaces, determine a partitioning policy for the materialization of writes directed to a first data object of the distributed database, wherein writes directed to the distributed database are indicated in committed transaction entries appended to a journal by a journal manager in accordance with an optimistic concurrency control mechanism, wherein the partitioning policy indicates one or more of (a) an attribute value based partitioning rule for the first data object, or (b) an attribute group based partitioning rule for the first data object;identify, using the partitioning policy, at least a first set of one or more materialization nodes corresponding to respective partitions of the first data object, including a first materialization node corresponding to a first partition;initiate a propagation of writes corresponding to the first partition from the journal to the first materialization node by a first write applier; andtransmit an indication that the particular materialization configuration request has been fulfilled. 2. The system as recited in claim 1, wherein the materialization configuration request indicates a function to be applied to a value of a particular attribute of the first data object to select a materialization node for a write indicating in a committed transaction entry. 3. The system as recited in claim 1, wherein the one or more control plane components are configured to: verify that a primary key of the first data object includes a particular attribute indicated in a partitioning rule for the first data object. 4. The system as recited in claim 1, wherein the materialization configuration request indicates a plurality of discrete values of an attribute of the first data object, wherein the first partition corresponds to a particular discrete value of the plurality of discrete values. 5. The system as recited in claim 1, wherein the one or more control plane components are configured to: in response to a second materialization configuration request, instantiate a materialization node at which at least one partition of a different data object is to be materialized. 6. A method, comprising: performing, by one or more control plane components instantiated at one or more computing devices of a distributed storage system: determining, based at least in part on a first materialization configuration request received from a client via a programmatic interface, a partitioning policy for the materialization of writes directed to a first data object, wherein writes directed to the distributed storage system are indicated in committed transaction entries appended to a journal, wherein the partitioning policy indicates at least a first partitioning rule for materializing the first data object using the journal;verifying that a target number of materialization nodes corresponding to the partitioning policy have been established, including a first materialization node for a first partition of the first data object, wherein writes corresponding to the first partition are to be identified from the journal according to the first partitioning rule; andinitiating a materialization of writes corresponding to the first partition at the first materialization node by a first write applier. 7. The method as recited in claim 6, wherein the first materialization configuration request indicates a function to be applied to a value of a particular attribute of the first data object to select a partition materialization node for a particular write indicated in the journal. 8. The method as recited in claim 6, further comprising: verifying, by the one or more control plane components, that a primary key of the first data object includes a particular attribute indicated in the first partitioning rule. 9. The method as recited in claim 6, wherein the first materialization configuration request indicates a plurality of discrete values of an attribute of the first data object, wherein a respective portion of the first data object corresponding to each discrete value of the plurality of discrete values is to be stored at a respective materialization node of the distributed storage system in accordance with the first partitioning rule. 10. The method as recited in claim 6, wherein the first materialization configuration request indicates a range of values of an attribute of the first data object, wherein a portion of the first data object corresponding to the range of values is to be stored at a particular materialization node of the distributed storage system in accordance with the first partitioning rule. 11. The method as recited in claim 6, wherein a second data object of the distributed data store comprises a plurality of attributes, wherein a second partitioning rule of the partitioning policy indicates that values of a subset of the plurality of attributes are to be materialized at a selected materialization node of the distributed storage system. 12. The method as recited in claim 6, wherein the committed transaction entries are formatted in accordance with a data-store-independent transaction language of the distributed storage system, further comprising performing, by the one or more control plane components: receive a snapshot generation request indicating a first partition descriptor corresponding to the first data object;store, in a particular snapshot corresponding to the snapshot generation request, a plurality of snapshot entries formatted in the data-store-independent transaction language, wherein a particular snapshot entry of the plurality of snapshot entries is generated based on an analysis of one or more committed transaction entries of the journal selected in accordance with the first partition descriptor. 13. The method as recited in claim 12, further comprising performing, by the one or more control plane components: store, in an aggregated snapshot generated in response to a request to add a partition of the first data object to the particular snapshot, wherein the request to add the partition includes a second partition descriptor, (a) contents of the particular snapshot and (b) one or more snapshot entries generated based on an analysis of one or more committed transaction entries of the journal selected in accordance with the second partition descriptor. 14. The method as recited in claim 6, wherein the first materialization configuration request indicates a performance criterion to be used to trigger a creation of an additional partition of the distributed storage system. 15. The method as recited in claim 6, wherein the first materialization configuration request indicates a storage space usage criterion to be used to trigger a creation of an additional partition of the distributed storage system. 16. The method as recited in claim 6, wherein the distributed storage system includes a second data object comprising a plurality of rows, wherein each row of the plurality of rows includes respective values of a set of attributes, further comprising performing, by the one or more control plane components: receiving a second materialization configuration request, wherein the second materialization configuration request indicates (a) a particular attribute to be added to the set of attributes as a partitioning attribute with respect to the second data object, (b) a derivation technique to be applied to obtain a value of the particular attribute, and (c) a partitioning rule with respect to the particular attribute; andinitiating a materialization of a particular record of the second data object at one or more materialization nodes in accordance with the partitioning rule. 17. A non-transitory computer-accessible storage medium storing program instructions that when executed on one or more processors implement one or more control plane components of a distributed storage system, wherein the one or more control plane components are configured to: determine, based at least in part on a first materialization configuration request received from a client via a programmatic interface, a partitioning policy for the materialization of writes directed to a first data object, wherein writes directed to the distributed storage system are indicated in committed transaction entries of a journal, wherein the partitioning policy indicates at least a first partitioning rule for the first data object;verify that a target number of materialization nodes corresponding to the partitioning policy have been established, including a first materialization node for a first partition of the first data object, wherein writes corresponding to the first partition are to be identified from the journal according to the first partitioning rule; andinitiate a materialization of writes corresponding to the first partition at the first materialization node by a first write applier. 18. The non-transitory computer-accessible storage medium as recited in claim 17, wherein the first materialization configuration request indicates a function to be applied to a value of a particular attribute of the first data object to select a partition materialization node for a particular write indicated in the journal. 19. The non-transitory computer-accessible storage medium as recited in claim 17, wherein the one or more control plane components are configured to: verify that a primary key of the first data object includes a particular attribute indicated in the first partitioning rule. 20. The non-transitory computer-accessible storage medium as recited in claim 17, wherein the first materialization configuration request indicates a plurality of discrete values of an attribute of the first data object, wherein a respective portion of the first data object corresponding to each discrete value of the plurality of discrete values is to be stored at a respective materialization node of the distributed storage system in accordance with the first partitioning rule.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (17)
Corbin, Scott Roger; Shepherd, Joel; Pareek, Alok; McAllister, Chris, Apparatus and method for log based replication of distributed transactions using globally acknowledged commits.
Wang, Rui; Byrne, Peter; Stewart, Leigh M.; Dhamankar, Robin D.; Guo, Qun; Habben, Michael E.; Jiang, Xiaowei, Data change ordering in multi-log based replication.
Lampson Butler (Cambridge MA) Lomet David B. (Westford MA), Distributed transaction processing using two-phase commit protocol with presumed-commit without log force.
O'Loughlin, Keith; Harrison, David; Darby, Niall; Cummins, Padraig; Moore, Lorraine, System and method for providing a distributed workflow through a plurality of handheld devices.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.