A database system comprising: a persistent storage device; a log node including a memory and a processor; and a plurality of database nodes, wherein a database node includes a cache memory configured to store a database instance, and a processor configured to initiate a database transaction by sending a snapshot request to the log node, the snapshot request including a list of pages that were either replaced or newly loaded in the cache memory; wherein the log node processor is configured to send a snapshot response to the database node, wherein the snapshot response includes a snapshot of the database comprising a list of active transactions and a list of changed pages of the database instances; and wherein the database node processor is configured to update the status of the pages in the cached memory according to the snapshot response and perform the database transaction, characterized by: the pages of the database instance stored in the cache memory are marked as valid, semi-valid, or invalid wherein a page is valid if it was loaded by the database from persistent storage and it is not listed in a list of changed pages subsequently received from the log node; a page is marked as invalid if it is included in a list of changed pages and a page is marked as semi-valid when it is first loaded into cache memory; wherein the database node processor is configured to: change a page status to semi-valid when loading the page from the persistent storage device; change a page status from semi-valid to invalid if the page is indicated as changed in the list of changed pages; and change a page status from semi-valid to valid if the page is a newly loaded page and the page is not indicated as changed in the changed page list. a persistent storage device; a log node including a memory and a processor; and a plurality of database nodes, wherein a database node includes a cache memory configured to store a database instance, and a processor configured to initiate a database transaction by sending a snapshot request to the log node, the snapshot request including a list of pages that were either replaced or newly loaded in the cache memory; wherein the log node processor is configured to send a snapshot response to the database node, wherein the snapshot response includes a snapshot of the database comprising a list of active transactions and a list of changed pages of the database instances; and wherein the database node processor is configured to update the status of the pages in the cached memory according to the snapshot response and perform the database transaction, characterized by: the pages of the database instance stored in the cache memory are marked as valid, semi-valid, or invalid wherein a page is valid if it was loaded by the database from persistent storage and it is not listed in a list of changed pages subsequently received from the log node; a page is marked as invalid if it is included in a list of changed pages and a page is marked as semi-valid when it is first loaded into cache memory; wherein the database node processor is configured to: change a page status to semi-valid when loading the page from the persistent storage device; change a page status from semi-valid to invalid if the page is indicated as changed in the list of changed pages; and change a page status from semi-valid to valid if the page is a newly loaded page and the page is not indicated as changed in the changed page list. the pages of the database instance stored in the cache memory are marked as valid, semi-valid, or invalid wherein a page is valid if it was loaded by the database from persistent storage and it is not listed in a list of changed pages subsequently received from the log node; a page is marked as invalid if it is included in a list of changed pages and a page is marked as semi-valid when it is first loaded into cache memory; wherein the database node processor is configured to: change a page status to semi-valid when loading the page from the persistent storage device; change a page status from semi-valid to invalid if the page is indicated as changed in the list of changed pages; and change a page status from semi-valid to valid if the page is a newly loaded page and the page is not indicated as changed in the changed page list.