A computer implemented method for data page access in a nonvolatile memory-based database, comprising: storing (S11) mirrored data pages of a buffer pool on a nonvolatile memory; and modifying (S12) a data page in the buffer pool according to a write access to the data page, and storing a page number of, undo log information and modification log information about the data page in a preset dynamic array, wherein the preset dynamic array comprises a dynamic array of memos for storing page numbers of data pages, a dynamic array of undo logs for storing undo log information, and a dynamic array of modification logs for storing modification log information, and wherein modifying the data page in the buffer pool according to the write access to the data page, and storing the page number of, the undo log information and the modification log information about the data page in the preset dynamic array comprises: locating the data page according to the page number of the data page and locking the data page; storing the page number of the data page in the dynamic array of memos; recording the undo log information and storing the undo log information in the dynamic array of undo logs; and modifying the data page and storing the modification log information in the dynamic array of modification logs; flushing a modified part of the data page to the mirrored data pages of the buffer pool stored on the NVM according to the modification log information stored in the dynamic array of modification logs, and unlocking the data page. storing (S11) mirrored data pages of a buffer pool on a nonvolatile memory; and modifying (S12) a data page in the buffer pool according to a write access to the data page, and storing a page number of, undo log information and modification log information about the data page in a preset dynamic array, wherein the preset dynamic array comprises a dynamic array of memos for storing page numbers of data pages, a dynamic array of undo logs for storing undo log information, and a dynamic array of modification logs for storing modification log information, and wherein modifying the data page in the buffer pool according to the write access to the data page, and storing the page number of, the undo log information and the modification log information about the data page in the preset dynamic array comprises: locating the data page according to the page number of the data page and locking the data page; storing the page number of the data page in the dynamic array of memos; recording the undo log information and storing the undo log information in the dynamic array of undo logs; and modifying the data page and storing the modification log information in the dynamic array of modification logs; flushing a modified part of the data page to the mirrored data pages of the buffer pool stored on the NVM according to the modification log information stored in the dynamic array of modification logs, and unlocking the data page. locating the data page according to the page number of the data page and locking the data page; storing the page number of the data page in the dynamic array of memos; recording the undo log information and storing the undo log information in the dynamic array of undo logs; and modifying the data page and storing the modification log information in the dynamic array of modification logs; flushing a modified part of the data page to the mirrored data pages of the buffer pool stored on the NVM according to the modification log information stored in the dynamic array of modification logs, and unlocking the data page. <EOS>