A system, comprising: a plurality of storage nodes (430, 440, 450) implementing a distributed storage system, wherein the distributed storage system is configured to implement log-structured data storage for a database, wherein a plurality of redo log records have been previously received from a database system at the plurality of storage nodes, wherein each of the redo log records describes a change to data stored for the database among the plurality of storage nodes; a database head node implementing the database system, wherein the database head node is configured to perform a failure recovery operation following failure of the database head node to: establish a connection with the plurality of storage nodes; upon establishment of the connection with the plurality of storage nodes, provide access to the database for one or more access requests, wherein access is provided to the database without the database head node replaying the plurality of redo log records by: receiving an access request for the database from a database client; based on the received access request, sending a request to one of the plurality of storage nodes for a current state of a data page stored at the storage node; and receiving from the storage node the requested data page in its current state, wherein one or more of the plurality of redo log records were applied by the storage node to a previously saved state of the data page to generate the data page in its current state at the storage node. a plurality of storage nodes (430, 440, 450) implementing a distributed storage system, wherein the distributed storage system is configured to implement log-structured data storage for a database, wherein a plurality of redo log records have been previously received from a database system at the plurality of storage nodes, wherein each of the redo log records describes a change to data stored for the database among the plurality of storage nodes; a database head node implementing the database system, wherein the database head node is configured to perform a failure recovery operation following failure of the database head node to: establish a connection with the plurality of storage nodes; upon establishment of the connection with the plurality of storage nodes, provide access to the database for one or more access requests, wherein access is provided to the database without the database head node replaying the plurality of redo log records by: receiving an access request for the database from a database client; based on the received access request, sending a request to one of the plurality of storage nodes for a current state of a data page stored at the storage node; and receiving from the storage node the requested data page in its current state, wherein one or more of the plurality of redo log records were applied by the storage node to a previously saved state of the data page to generate the data page in its current state at the storage node. establish a connection with the plurality of storage nodes; upon establishment of the connection with the plurality of storage nodes, provide access to the database for one or more access requests, wherein access is provided to the database without the database head node replaying the plurality of redo log records by: receiving an access request for the database from a database client; based on the received access request, sending a request to one of the plurality of storage nodes for a current state of a data page stored at the storage node; and receiving from the storage node the requested data page in its current state, wherein one or more of the plurality of redo log records were applied by the storage node to a previously saved state of the data page to generate the data page in its current state at the storage node. receiving an access request for the database from a database client; based on the received access request, sending a request to one of the plurality of storage nodes for a current state of a data page stored at the storage node; and receiving from the storage node the requested data page in its current state, wherein one or more of the plurality of redo log records were applied by the storage node to a previously saved state of the data page to generate the data page in its current state at the storage node.