IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0316622
(2014-06-26)
|
등록번호 |
US-9613078
(2017-04-04)
|
발명자
/ 주소 |
- Vermeulen, Allan Henry
- Gabrielson, Jacob Adam
- De Kadt, Christopher Richard Jacques
|
출원인 / 주소 |
- Amazon Technologies, Inc.
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
13 인용 특허 :
10 |
초록
▼
At a logging service, a representation of a transaction requested by a client is received. The transaction includes at least a first write operation directed to a data object at a first data store. Based at least in part on the contents of the representation and contents of a persistent log of the l
At a logging service, a representation of a transaction requested by a client is received. The transaction includes at least a first write operation directed to a data object at a first data store. Based at least in part on the contents of the representation and contents of a persistent log of the logging service, a determination is made that the requested transaction is to be committed. A log record corresponding to the first write operation is inserted into the persistent log. The first write is propagated to the first data store after the record has been inserted in the persistent log.
대표청구항
▼
1. A system, comprising: one or more computing devices configured to: in response to a request to register a plurality of data stores for transaction management via a multi-database logging service implemented at a provider network, including a first data store implementing a first set of data acces
1. A system, comprising: one or more computing devices configured to: in response to a request to register a plurality of data stores for transaction management via a multi-database logging service implemented at a provider network, including a first data store implementing a first set of data access interfaces and a second data store implementing a second set of data access interfaces, designate a particular persistent change log of the logging service to store representations of writes directed to one or more data stores of the plurality of data stores;receive, at a conflict detector of the multi-database logging service, a representation of a transaction requested by a client, wherein the transaction includes at least a first write operation directed to the first data store, and at least a second write operation directed to the second data store;determine, at the conflict detector, based at least in part on contents of the representation and at least in part on contents of the particular persistent change log, that the transaction is to be committed;add, to the particular persistent change log of the multi-database logging service, one or more log records indicating the transaction;apply the first write operation to the first data store and the second write operation to the second data store;provide, in response to a first query directed to the first data store using the first set of data access interfaces, a first response including a result of the first write operation;provide, in response to a second query directed to the second data store using the second set of data access interfaces, a second response including a result of the second write operation; andprovide, in response to a third query directed to the logging service via a programmatic query interface defined by the multi-database logging service, a third response including a result of one or more of: the first write operation and the second write operation. 2. The system as recited in claim 1, wherein each data store of the first data store and the second data store comprises one of: a non-relational database system, a relational database system, a storage service that implements a web services interface allowing access to unstructured data objects, an in-memory database, or an instance of a distributed cache. 3. The system as recited in claim 1, wherein the particular persistent change log comprises a plurality of replica nodes, wherein each node of the plurality of replica nodes stores a replica of a log record of the one or more log records at a respective storage device. 4. The system as recited in claim 1, wherein the one or more computing devices are further configured to: update a materialized view in accordance with the result of at least the first write operation. 5. The system as recited in claim 4, wherein the one or more computing devices are further configured to: generate, based at least in part on the result of at least the first write operation, a pre-computed result for a fourth query; andin response to receiving the fourth query, provide the pre-computed result. 6. A method, comprising: performing, by one or more computing devices: instantiating a particular persistent change log to store representations of writes directed to one or more data stores including a first data store implementing a first set of data access interfaces;receiving a representation of a transaction requested by a client of the first data store, wherein the transaction includes at least a first write directed to a data object stored at the first data store;determining, based at least in part on contents of the representation and at least in part on contents of the particular persistent change log, that the requested transaction is to be committed;adding, to the particular persistent change log, a log record indicating the first write; andpropagating an indication of the first write from the particular persistent change log to the first data store. 7. The method as recited in claim 6, wherein the first data store does not support atomicity for a set of operations that includes more than one write, wherein the transaction requested by the client includes a second write directed to a second data object, further comprising performing, by the one or more computing devices: subsequent to determining that the requested transaction is to be committed, adding, to the particular persistent change log, an indication of the second write; andpropagating an indication of the second write to the first data store. 8. The method as recited in claim 6, wherein the particular persistent change log comprises a plurality of replica nodes, wherein each node of the plurality of replica nodes stores a replica of the log record at a respective storage device. 9. The method as recited in claim 8, wherein each replica node of the plurality of replica nodes is a member of a directed acyclic graph (DAG) with an associated DAG configuration manager responsible for propagating DAG membership change messages to the plurality of replica nodes. 10. The method as recited in claim 8, wherein the plurality of replica nodes includes a first replica node at a first data center of a provider network and a second replica node at a second data center of the provider network. 11. The method as recited in claim 6, further comprising performing, by the one or more computing devices: updating a materialized view in accordance with the result of the first write. 12. The method as recited in claim 6, further comprising performing, by the one or more computing devices: generating, based at least in part on the result of the first write, a pre-computed result for a query; andin response to receiving the query, providing the pre-computed result. 13. The method as recited in claim 6, further comprising performing, by the one or more computing devices: receiving a request to register the one or more data stores for transaction management by a logging service, wherein said instantiating the particular persistent change log is responsive to said request to register the one or more data stores. 14. The method as recited in claim 6, further comprising performing, by the one or more computing devices: providing, in response to a first query directed to the first data store using the first set of data access interfaces, a response including a result of the first write; andproviding, in response to a second query directed to the particular persistent change log via a programmatic query interface of a logging service, a second response including a result of the first write. 15. The method as recited in claim 6, wherein the first data store comprises control-plane configuration information of a network-accessible service implemented at a provider network, and wherein the transaction comprises a change to a configuration of a particular resource of the network-accessible service. 16. The method as recited in claim 6, further comprising performing, by the one or more computing devices: storing, by a snapshot manager associated with the particular persistent change log, a point-in-time snapshot of contents of at least a portion of the particular persistent change log. 17. A non-transitory computer-accessible storage medium storing program instructions that when executed on one or more processors: receive, at a logging service, a representation of a transaction requested by a client, wherein the transaction includes at least a first write directed to a data object stored at a first data store;determine, based at least in part on contents of the representation at least in part on contents of a particular persistent change log, that the requested transaction is to be committed;initiate an insertion, into the particular persistent change log, of a log record indicating the first write; andpropagate the first write to the first data store. 18. The non-transitory computer-accessible storage medium storing program instructions as recited in claim 17, wherein the transaction requested by the client includes a second write directed to a second data object, further comprising performing, by the one or more computing devices: subsequent to determining that the requested transaction is to be committed, initiate an insertion, to the particular persistent change log, of an indication of the second write; andpropagate the second write to a destination data store. 19. The non-transitory computer-accessible storage medium storing program instructions as recited in claim 18, wherein the destination data store is the first data store, and wherein the first data store does not support atomicity for a set of operations that includes more than one write operation. 20. The non-transitory computer-accessible storage medium storing program instructions as recited in claim 18, wherein the destination data store is a second data store with a different access interface than the first data store. 21. The non-transitory computer-accessible storage medium storing program instructions as recited in claim 17, wherein the particular persistent change log comprises a plurality of replica nodes, wherein each replica node of the plurality of replica nodes stores a replica of the log record at a respective storage device. 22. The non-transitory computer-accessible storage medium storing program instructions as recited in claim 21, wherein each replica node of the plurality of replica nodes is a member of a directed acyclic graph (DAG) with an associated DAG configuration manager responsible for propagating DAG membership change messages to the plurality of replica nodes.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.