A method of managing a database which is a recordable database hierarchically including higher-level and lower-level master nodes (MS20n, MS30n) in which records can be updated by deleting a record of an original row number and writing a record of a new row number, comprising: generating and sending, by a database processing unit of a predetermined lower-level master node (MS20n, MS30n), to a higher-level master node, a table-based write set as a bundle of combinations of a shadow copy of a database of a lower-level master node (MS20n, MS30n), the shadow copy including a copy of a record specified by a row number that should undergo rewriting with reference to the database of the lower-level master node (MS20n, MS30n), and a heap tuple map, having a registration of the original row number and the new row number in the way of being associated with each other, deployed on a memory of the lower-level master node (MS20n, MS30n) itself, for each table of a database expanded in a memory for the database processing unit, when an instruction for updating a plurality of tables of the database is issued in the predetermined lower-level master node (MS20n, MS30n); comparing, by the higher-level master node, the heap tuple map of each table in the table-based write set received from the lower-level master node (MS20n, MS30n) and the database of the higher-level master node, and verifying whether a corresponding row of the corresponding table of the database registered as a target has been updated by a different table-based write set; aborting the entire table-based write set sent from the predetermined lower-level master node (MS20n, MS30n) when the update has been performed, updating the corresponding row of the corresponding table of the database of the higher-level master node using the shadow copy of each table in the table-based write set when the update has not been performed, and generating a record of this update including a table number of the higher-level master node as a transaction log; distributing the transaction log to the lower-level master nodes (MS20n, MS30n) including the lower-level master node (MS20n, MS30n) which has sent the table-based write set; and updating, by a transaction log processing unit of the lower-level master node (MS20n, MS30n), the corresponding row of the corresponding table of the database of the lower-level master node (MS20n, MS30n) based on the received transaction log. generating and sending, by a database processing unit of a predetermined lower-level master node (MS20n, MS30n), to a higher-level master node, a table-based write set as a bundle of combinations of a shadow copy of a database of a lower-level master node (MS20n, MS30n), the shadow copy including a copy of a record specified by a row number that should undergo rewriting with reference to the database of the lower-level master node (MS20n, MS30n), and a heap tuple map, having a registration of the original row number and the new row number in the way of being associated with each other, deployed on a memory of the lower-level master node (MS20n, MS30n) itself, for each table of a database expanded in a memory for the database processing unit, when an instruction for updating a plurality of tables of the database is issued in the predetermined lower-level master node (MS20n, MS30n); comparing, by the higher-level master node, the heap tuple map of each table in the table-based write set received from the lower-level master node (MS20n, MS30n) and the database of the higher-level master node, and verifying whether a corresponding row of the corresponding table of the database registered as a target has been updated by a different table-based write set; aborting the entire table-based write set sent from the predetermined lower-level master node (MS20n, MS30n) when the update has been performed, updating the corresponding row of the corresponding table of the database of the higher-level master node using the shadow copy of each table in the table-based write set when the update has not been performed, and generating a record of this update including a table number of the higher-level master node as a transaction log; distributing the transaction log to the lower-level master nodes (MS20n, MS30n) including the lower-level master node (MS20n, MS30n) which has sent the table-based write set; and updating, by a transaction log processing unit of the lower-level master node (MS20n, MS30n), the corresponding row of the corresponding table of the database of the lower-level master node (MS20n, MS30n) based on the received transaction log.