1. A computer-implemented method of storing and updating data, the method comprising: storing, on a computer-readable storage medium, a plurality of logical nodes, each logical node including one or more key-value pairs; updating a first block of a logical node of the plurality of logical nodes by overwriting the first block of the updated logical node on the computer-readable storage medium; and modifying an entry in a change list to indicate that references to a second block of the updated logical node should be redirected to the first block of the updated logical node.