Streaming database change data from distributed storage
AssigneeAmazon Technologies, Inc.
InventorsMurali Brahmadesam, Nanda Kaushik, Changan Han, Kartikey Bhatt, Sangyong Hwang, Punit Rajgaria
Life of this patent
Estimating the term…
Abstract
Techniques for distributed database storage utilizing split volume types for redo log records and change log records are described. A database engine sends redo log data to a first set of page storage nodes and change log data to a second set of tuple storage nodes, where the change log data is stored in an indexed manner Client access to change log data may be provided through a separate set of streaming storage servers instead of through the database engine.
Claims20
A computer-implemented method comprising:
- receiving, at a head node of a distributed database service, a first database statement originated by a client to be executed using a first database hosted by the distributed database service, wherein the first database statement is an INSERT, UPDATE, or DELETE Structured Query Language (SQL) statement;
- processing, by the head node, the first database statement, the processing including generating one or more redo log records specifying a change made to the first database in response to receiving the first database statement, and one or more change log records specifying a change made to table data of the first database in response to receiving the first database statement;
- storing the one or more redo log records to one or more page storage nodes of the distributed database service that are implemented by a first one or more electronic devices;
- storing the one or more change log records to one or more tuple storage nodes of the distributed database service that are implemented by a second one or more electronic devices;
- receiving, at the head node, a second database statement, wherein the second database statement is a SELECT SQL statement;
- processing the second database statement based at least in part on use of one or more data pages generated by the one or more page storage nodes based on the one or more redo log records;
- receiving, at a streaming storage server of the distributed database service implemented by a third one or more electronic devices, a request involving a change log associated with the first database;
- obtaining, by the streaming storage server, obtained data from one or more data structures of the one or more tuple storage nodes based at least in part on the request;
- and
- transmitting response data that is based at least in part on the obtained data.
A computer-implemented method comprising:
- receiving, at a head node of a distributed database service, a first database statement to modify data in a database;
- processing, by the head node, the first database statement, the processing including generating one or more redo log records specifying a change made to the database in response to receiving the first database statement, and one or more change log records specifying a change made to table data of the database in response to receiving the first database statement;
- storing the one or more redo log records to one or more page storage nodes of the distributed database service that are implemented by a first one or more electronic devices;
- storing the one or more change log records to one or more tuple storage nodes of the distributed database service that are implemented by a second one or more electronic devices;
- receiving a request related to a change log associated with the first database statement;
- obtaining data from one or more data structures of the one or more tuple storage nodes based at least in part on the request;
- and
- transmitting response data that is based at least in part on the data obtained from the one or more data structures.
A system comprising:
- one or more page storage nodes of a storage layer of a distributed database service in a multi-tenant provider network, the one or more page storage nodes being implemented by a first one or more electronic devices, including one or more first processors, to store redo log data and to provide data pages to one or more head nodes of the distributed database service;
- one or more tuple storage nodes of the storage layer for the distributed database service, the one or more tuple storage nodes being implemented by a second one or more electronic devices, including one or more second processors, to maintain one or more data structures for change log data;
- and
- the one or more head nodes of the distributed database service, the one or more head nodes being implemented by a third one or more electronic devices and comprising instructions that when executed by one or more third processors cause the one or more head nodes to:
- receive a first database statement, from a client, to modify data in a database;
- process the first database statement, comprising generating one or more redo log records specifying a change made to the database in response to receiving the first database statement, and one or more change log records specifying a change made to table data of the database in response to receiving the first database statement;
- store the one or more redo log records to the one or more page storage nodes;
- store the one or more change log records to the one or more tuple storage nodes;
- and
- send a response to the client indicating that the first database statement has been executed;
- and
- one or more streaming storage servers implemented by a fourth one or more electronic devices, the one or more streaming storage servers comprising streaming storage instructions that when executed by one or more fourth processors cause the one or more streaming storage servers to:
- receive a request related to a change log associated with the first database statement;
- obtain data from one or more data structures of the one or more tuple storage nodes based at least in part on the request;
- and
- transmit response data that is based at least in part on the data obtained from the one or more data structures.
Dependencies are inferred from the claim text.