Database system recovery using non-volatile system memory
AssigneeAmazon Technologies, Inc.
InventorsAdam Douglas Morley, Swaminathan Sivasubramanian
Life of this patent
Estimating the term…
Abstract
A database system may implement database system recovery using non-volatile system memory. An update to a data page of a database may be received. A version of the data page may be obtained in system memory. A new version of the data page may be determined according to the received update. The new version of the data page may be maintained in a non-volatile portion of system memory irrespective of a failure of the database. In at least some embodiments, the update may be performed without generating recovery log records indicating the update. Upon recovery from a database failure, data pages maintained in non-volatile system memory may be made available to service access requests.
Claims20
A system, comprising:
- a persistent storage device comprising a persistent data store, the persistent data store configured to store one or more data pages for a database;
- a computing device comprising:
- one or more processors that incorporate an interface to a system memory of the one or more processors;
- and
- the system memory of the one or more processors accessible by the one or more processors via the interface, wherein at least a portion of the system memory is a non-volatile memory portion;
- and
- a database engine, wherein the database engine is configured to:
- obtain a data page of the database from the persistent data store of the persistent storage device;
- store the data page of the database obtained from the persistent data store of the persistent storage device in the non-volatile memory portion of the system memory, wherein a copy of the data page of the database is stored in the persistent data store of the persistent storage device separate from the computing device;
- in response to receiving, from a database client, an update for the data page of the database of the persistent storage device, determine whether the data page of the database is also stored in the non-volatile memory portion of the system memory of the one or more processors of the computing device;
- and
- in response to a determination that the data page of the database is also stored in the non-volatile memory portion of the system memory of the one or more processors of the computing device, update the data page of the database stored in the non-volatile memory portion of the system memory based on the received update for the data page of the database of the persistent storage device.
A method, comprising:
- obtaining a data page of a database from a persistent data store of a persistent storage device;
- storing the data page of the database obtained from the persistent data store of the persistent storage device in a non-volatile memory portion of system memory of one or more processors of a computing device, wherein the one or more processors incorporate an interface to the system memory of the one or more processors, and wherein the system memory is accessible by the one or more processors via the interface, and wherein a copy of the data page of the database is stored in the persistent data store of the persistent storage device separate from the computing device;
- in response to receiving, from a database client, an update for the data page of the database of the persistent storage device, determining whether the data page of the database is also stored in the non-volatile memory portion of the system memory of the one or more processors of the computing device;
- and
- in response to determining that the data page of the database is also stored in the non-volatile memory portion of the system memory of the one or more processors of the computing device, updating the data page of the database stored in the non-volatile memory portion of the system memory based on the received update for the data page of the database of the persistent storage device.
A non-transitory, computer-readable storage medium, storing program instructions that when executed by a computing device implements:
- obtaining a data page of a database from a persistent data store of a persistent storage device;
- storing the data page of the database obtained from the persistent data store of the persistent storage device in a non-volatile memory portion of system memory of one or more processors of the computing device, wherein the one or more processors incorporate an interface to the system memory of the one or more processors, and wherein the system memory is accessible by the one or more processors via the interface, and wherein a copy of the data page of the database is stored in the persistent data store of the persistent storage device separate from the computing device;
- in response to receiving, from a database client, an update or the data page of the database of the persistent storage device, determining whether the data page of the database is also stored in the non-volatile memory portion of the system memory of the one or more processors of the computing device;
- and
- in response to determining that the data page of the database is also stored in the non-volatile memory portion of the system memory of the one or more processors of the computing device, updating the data page of the database stored in the non-volatile memory portion of the system memory based on the received update for the data page of the database of the persistent storage device.
Dependencies are inferred from the claim text.