US 12,093,282 B2
Database system, computer program product, and data processing method
Masakazu Hattori, Inagi (JP)
Assigned to Kabushiki Kaisha Toshiba, Tokyo (JP); and Toshiba Solutions Corporation, Kawasaki (JP)
Filed by KABUSHIKI KAISHA TOSHIBA, Tokyo (JP); and TOSHIBA SOLUTIONS CORPORATION, Kawasaki (JP)
Filed on Feb. 13, 2023, as Appl. No. 18/167,959.
Application 18/167,959 is a continuation of application No. 14/206,819, filed on Mar. 12, 2014, abandoned.
Application 14/206,819 is a continuation of application No. PCT/JP2013/056868, filed on Mar. 12, 2013.
Prior Publication US 2023/0244694 A1, Aug. 3, 2023
Int. Cl. G06F 16/27 (2019.01); G06F 16/22 (2019.01)
CPC G06F 16/27 (2019.01) [G06F 16/2282 (2019.01); G06F 16/275 (2019.01); G06F 16/278 (2019.01)] 11 Claims
OG exemplary drawing
 
1. A database system comprising:
a management device; and
a plurality of nodes,
wherein:
the database system stores a database by being partitioned into a plurality of partitions;
the management device includes a first memory device and a first hardware processor;
the first memory device stores a current-role table, a next-role table, and a target-role table;
the current-role table stores, with respect to each of the plurality of partitions, whether each of the plurality of nodes is assigned either to serve as an owner node or to serve as a backup node, or neither to serve as the owner node nor to serve as the backup node;
the next-role table stores, with respect to each of the plurality of partitions, whether each of the plurality of nodes is next assigned either to serve as the owner node or to serve as the backup node, or neither to serve as the owner node nor to serve as the backup node;
the target-role table stores, with respect to each of the plurality of partitions, whether each of the plurality of nodes is assigned as a backup candidate node;
the first hardware processor:
calculates the next-role table;
calculates the target-role table;
calculates the next-role table on a periodic basis,
when the calculated next-role table changes from the current-role table, distributes the calculated next-role table to each of the plurality of nodes, and
after the next-role table is distributed, updates contents of the current-role table stored in the first memory device to contents of the next-role table; and
calculates the target-role table on a periodic basis and distributes the calculated target-role table to each of the plurality of nodes;
each of the plurality of nodes includes a data storing device, a second memory device, and a second hardware processor;
the data storing device stores, some or all of data that is already received from another node assigned to serve as the owner node or the backup node, in data pieces of partitions to which a concerned node is assigned to serve as the owner node or the backup node according to the current-role table among the plurality of partitions and in data pieces of partitions to which the concerned node is assigned to serve as the backup candidate node according to the target-role table among the plurality of partitions;
the second memory device stores the current-role table, the next-role table, and the target-role table;
the second hardware processor
receives from a client an access request with respect to a partition assigned as the owner node according to the current-role table, and performs an operation according to the access request with respect to data pieces of the partition assigned as the owner node according to the current-role table;
when receiving the next-role table from the management device,
stores the received next-role table in the second memory device,
according to the received next-role table, with respect to each of the plurality of partitions and for data pieces stored in a node serving as the owner node and data pieces stored in a node serving as the backup node indicated in the next-role table, causes the operation according to the access request to be temporarily discontinued, a replication operation to be performed, and synchronization processing to be performed, and
when the synchronization processing is completed, updates contents of the current-role table stored in the second memory device to contents of the next-role table;
receives the target-role table from the management device and stores the received target-role table in the second memory device; and
transfers and stores, without discontinuing the operation according to the access request, the data pieces of the partitions assigned as the owner node or the backup node according to the current-role table, to and in another node that is assigned to serve as the backup candidate node according to the target-role table and that is neither assigned to serve as the owner node nor assigned to serve as the backup node according to the current-role table.