Patent ID: 8768903

Claim:
A method of managing a database which is a recordable database hierarchically including higher-level and lower-level master nodes, comprising: generating and sending, by a database processing unit of any one of lower-level master nodes, to a higher-level master node, a write set expanded in a memory for the database processing unit, including a shadow copy of a database and a heap tuple map, when an instruction for updating the database is issued in the lower-level master node; comparing, by the higher-level master node, the heap tuple map in the write set received from the lower-level master node and the database of the higher-level master node, and verifying, by the higher-level master node, whether a corresponding row of the database registered as a target has been updated by a different write set; aborting the write set when the update has been performed, updating the database of the higher-level master node using the shadow copy when the update has not been performed, and generating a record of this update as a transaction log; distributing the transaction log to the lower-level master nodes including the lower-level master node which has sent the write set; and updating, by a transaction log processing unit of the lower-level master node, the database of the lower-level master node based on the received transaction log, wherein, in a stage where the write set is being generated in the lower-level master node, if search processing is performed on a master database of that lower-level master node, the method executes: referring, by the database processing unit of the lower-level master node, to the master database; and referring to the heap tuple map one row at a time to determine whether the corresponding row number has been entered in the search processing, setting the master database as a direct search target when the corresponding row number has not been entered, and, when the corresponding row number has been entered, determining whether the entry is a deletion command or an update command, and removing the corresponding row number from the search target when the entry is the deletion command, and setting the entry of the shadow copy in the heap tuple map as the search target when the entry is the update command.