JP6197872B2 - Data processing system, data processing method, and data processing program - Google Patents

Data processing system, data processing method, and data processing program Download PDF

Info

Publication number
JP6197872B2
JP6197872B2 JP2015536443A JP2015536443A JP6197872B2 JP 6197872 B2 JP6197872 B2 JP 6197872B2 JP 2015536443 A JP2015536443 A JP 2015536443A JP 2015536443 A JP2015536443 A JP 2015536443A JP 6197872 B2 JP6197872 B2 JP 6197872B2
Authority
JP
Japan
Prior art keywords
key
value pair
data
group
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2015536443A
Other languages
Japanese (ja)
Other versions
JPWO2015037205A1 (en
Inventor
堂史昌 大井
堂史昌 大井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2015037205A1 publication Critical patent/JPWO2015037205A1/en
Application granted granted Critical
Publication of JP6197872B2 publication Critical patent/JP6197872B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データ処理システム、データ処理方法およびプログラム記録媒体に関する。特に、分散キーバリュ−ストアに用いるデータ処理システム、データ処理方法およびデータ処理プログラムを記録するプログラム記録媒体に関する。   The present invention relates to a data processing system, a data processing method, and a program recording medium. In particular, the present invention relates to a data processing system, a data processing method, and a program recording medium for recording a data processing program used for a distributed key value store.

膨大な量のデータを高速処理する手法として、分散キーバリュ−ストア(以下、分散KVS)という方式が用いられている(KVS:KEY−VALUE Store)。分散KVSでは、保存したい任意のデータ(値:VALUE)に対して一意の標識となるキー(KEY)を設定し、KEYとVALUEとのペア(KVペア)でデータを保存する(KV:KEY−VALUE)。分散KVSでは、KEYを指定して対応するVALUEを取得することによって、データを取得することができる。   As a technique for processing a huge amount of data at high speed, a system called distributed key value store (hereinafter referred to as distributed KVS) is used (KVS: KEY-VALUE Store). In distributed KVS, a key (KEY) serving as a unique indicator is set for arbitrary data (value: VALUE) to be stored, and the data is stored as a pair of KEY and VALUE (KV pair) (KV: KEY− VALUE). In distributed KVS, data can be acquired by specifying KEY and acquiring the corresponding VALUE.

ところで、データのバックアップとしては、フルバックアップや増分バックアップ、差分バックアップなどの方法を挙げることができる。フルバックアップと比較すると、増分バックアップや差分バックアップにおいては、バックアップ容量が小さく、処理時間も短いという利点がある。バックアップされるデータは、世代毎にデータベースなどの記憶手段に格納される。そのため、膨大な量のデータのバックアップを行う際には、フルバックアップよりも、バックアップ容量が小さくて済む増分バックアップや差分バックアップの方が適している。   By the way, examples of data backup include full backup, incremental backup, and differential backup. Compared to full backup, incremental backup and differential backup have the advantages of small backup capacity and short processing time. Data to be backed up is stored in a storage means such as a database for each generation. Therefore, when backing up a huge amount of data, incremental backup and differential backup that require a smaller backup capacity are more suitable than full backup.

特許文献1には、データの位置やタイプに関わらずに複数のデータに対して容易にアクセスできるデータ管理サーバを設け、異種ストレージ環境においてデータをリストアする技法について開示されている。   Patent Document 1 discloses a technique for restoring data in a heterogeneous storage environment by providing a data management server that can easily access a plurality of data regardless of the position and type of the data.

また、分散KVSでは、システムとしての耐障害性を確保するために、複数のサーバに同じデータを書き込むレプリケーションという機能が装備される。レプリケーションを行う方法としては、サーバ側でレプリケーション先サーバを決めて実行するサーバルーティング方式と、クライアント側でレプリケーション先サーバを決めて実行するクライアントルーティング方式がある。   In addition, the distributed KVS is equipped with a function called replication that writes the same data to a plurality of servers in order to ensure fault tolerance as a system. As a method of performing replication, there are a server routing method in which a replication destination server is determined and executed on the server side, and a client routing method in which a replication destination server is determined and executed on the client side.

図18には、一般的なクライアントルーティング方式を説明するための図を示した。図18のクライアントルーティング方式において、クライアント90(90−1〜4)は、取得したキーバリューデータ(KVペア)をレプリケーションし、レプリケーションされたKVペアをルーティング処理によってサーバ91(91−1〜6)に送信する。いずれのクライアント90(90−1〜4)がKVペアを挿入しても、全てのKVペアの送信先となるサーバ91(91−1〜6)はキーによって決定される。   FIG. 18 is a diagram for explaining a general client routing method. In the client routing method of FIG. 18, the clients 90 (90-1 to 4) replicate the acquired key value data (KV pairs), and the replicated KV pairs are server 91 (91-1 to 6) by routing processing. Send to. Regardless of which client 90 (90-1 to 4) inserts a KV pair, the servers 91 (91-1 to 6) serving as transmission destinations of all KV pairs are determined by keys.

特許文献2には、分散型データベースシステムを構成するデータベースノードにストアされているデータを処理する方法が開示されている。特許文献2においては、分散されたデータベースノードに振り分けられたキー情報と値のペア(KVペア)を処理する際に、クライアントノードは、それぞれのデータベースノードにプログラム情報を送信する。そして、それぞれのデータベースノード内でデータの処理が実行されると、クライアントノードは、それぞれのデータベースノード内における処理の結果のみを取得する。そのため、一回の通信でやり取りするデータ量を小さくすることができる。   Patent Document 2 discloses a method for processing data stored in a database node constituting a distributed database system. In Patent Document 2, when processing key information and value pairs (KV pairs) distributed to distributed database nodes, a client node transmits program information to each database node. When data processing is executed in each database node, the client node acquires only the result of the processing in each database node. Therefore, the amount of data exchanged by one communication can be reduced.

また、特許文献2では、データ処理を効率化するために、一つの処理に必要なデータを特定のデータベースノードに存在する可能性を高める。そのため、特許文献2によれば、分散された大量のデータに対して処理を実行する際に、通信回数を減らすことができる。   Moreover, in patent document 2, in order to make data processing efficient, possibility that the data required for one process will exist in a specific database node is raised. Therefore, according to Patent Document 2, the number of communications can be reduced when processing is performed on a large amount of distributed data.

特表2005−503616号公報JP-T-2005-503616 特開2012−108889号公報JP 2012-108889 A

一般に、データのリストアでは、バックアップを行ったサーバ構成を対象としており、異なるサーバ構成に対するリストアが考慮されていない。各サーバで採取したバックアップは、採取時と同じ構成のシステムにリストアする必要がある。そのため、異なるサーバ構成に対するリストアが必要となる分散KVSなどのスケールアウト型システムのバックアップとして、差分バックアップや増分バックアップを適用することは必ずしも有用とはいえない。   In general, data restoration targets a server configuration that has been backed up, and restoration for a different server configuration is not considered. The backup collected on each server must be restored to a system with the same configuration as when it was collected. Therefore, it is not always useful to apply differential backup or incremental backup as a backup of a scale-out system such as a distributed KVS that requires restoration for different server configurations.

特許文献1の技法によれば、リストア前後におけるサーバ構成によらずにバックアップデータをリストアすることが可能となる。しかしながら、特許文献1の技法によると、データ管理サーバを通じて異なる複数のデータを処理するため、一度の処理で大量のデータを扱う際に処理時間が増大するという課題がある。   According to the technique of Patent Document 1, it is possible to restore backup data regardless of the server configuration before and after restoration. However, according to the technique of Patent Document 1, since a plurality of different data is processed through the data management server, there is a problem that processing time increases when a large amount of data is handled in a single process.

特許文献2の方法によれば、データ処理における通信回数を減らすことはできる。しかしながら、複数のデータベースノードに分散されたデータの処理は、各データベースノードのデータ量や性能に依存することになる。そのため、データベースノードによって処理時間が異なってしまい、一回の処理が完了するまでの時間は必ずしも短縮されない。また、特定のデータベースノードにデータが偏ることにつながるため、サーバ構成を再構築しにくいという問題点もある。   According to the method of Patent Document 2, the number of communications in data processing can be reduced. However, processing of data distributed to a plurality of database nodes depends on the data amount and performance of each database node. For this reason, the processing time differs depending on the database node, and the time until one process is completed is not necessarily shortened. There is also a problem that it is difficult to reconstruct the server configuration because the data is biased to a specific database node.

本発明の目的は、分散KVS環境の多世代にわたるバックアップデータを、分散KVSのサーバ構成に依存せず、一度の処理で任意のサーバ構成の分散KVSにリストアするデータ処理システムを提供することである。   An object of the present invention is to provide a data processing system that restores backup data for multiple generations in a distributed KVS environment to a distributed KVS having an arbitrary server configuration in a single process without depending on the server configuration of the distributed KVS. .

本発明のデータ処理システムは、分散型キーバリューストア環境でバックアップされた更新順序を判別するための更新情報を持つデータをリストアするデータ処理システムであって、第1データベースサーバ群を構成する少なくとも一つのサーバに格納されたデータの値と、データを区別するキーとをペアで含むキーバリューペアを世代毎にバックアップするバックアップ手段と、世代毎にバックアップされたキーバリューペアを少なくとも一つ読み出し、読み出された少なくとも一つのキーバリューペアをキーで集約することによって第1のキーバリューペア群を形成させ、第1のキーバリューペア群から最新の更新情報を持つキーバリューペアを一つ選択し、選択された最新の更新情報を持つキーバリューペアをレプリケーション数に応じて複製し、複製されたキーバリューペアを所定のノード識別子に従って出力する出力手段と、を備える。   The data processing system of the present invention is a data processing system for restoring data having update information for determining an update order backed up in a distributed key-value store environment, and at least one of the first database server group. A backup means that backs up a key-value pair that contains the value of data stored in one server and a key that distinguishes the data in pairs, and at least one key-value pair backed up for each generation is read and read. A first key-value pair group is formed by aggregating at least one key-value pair issued with a key, and one key-value pair having the latest update information is selected from the first key-value pair group; Depending on the number of replications, the key-value pair with the latest update information selected Replicate Te, and an output means for outputting in accordance with the duplicated key-value pairs the predetermined node identifier.

本発明のデータ処理方法は、分散型キーバリューストア環境でバックアップされた更新順序を判別するための更新情報を持つデータをリストアするデータ処理方法であって、第1データベースサーバ群を構成する少なくとも一つのサーバに格納されたデータの値と、データを区別するキーとをペアで含むキーバリューペアを世代毎にバックアップし、世代毎にバックアップされたキーバリューペアを少なくとも一つ読み出し、読み出された少なくとも一つのキーバリューペアをキーで集約することによって第1のキーバリューペア群を形成させ、第1のキーバリューペア群から最新の更新情報を持つキーバリューペアを一つ選択し、選択された最新の更新情報を持つキーバリューペアをレプリケーション数に応じて複製し、複製されたキーバリューペアを所定のノード識別子に従って出力する。   The data processing method of the present invention is a data processing method for restoring data having update information for determining an update order backed up in a distributed key-value store environment, and is at least one of the first database server group. A key-value pair containing a pair of a data value stored in one server and a key that distinguishes the data is backed up for each generation, and at least one key-value pair backed up for each generation is read and read The first key-value pair group is formed by aggregating at least one key-value pair with the key, and one key-value pair having the latest update information is selected from the first key-value pair group and selected. The key value pair with the latest update information is replicated according to the number of replications, and the replicated key And it outputs the Yupea according to a predetermined node identifier.

本発明のプログラム記録媒体は、分散型キーバリューストア環境でバックアップされた更新順序を判別するための更新情報を持つデータをリストアするデータ処理プログラムを記録するプログラム記録媒体であって、第1データベースサーバ群を構成する少なくとも一つのサーバに格納されたデータの値と、データを区別するキーとをペアで含むキーバリューペアを世代毎にバックアップする処理と、世代毎にバックアップされたキーバリューペアを少なくとも一つ読み出し、読み出された少なくとも一つのキーバリューペアをキーで集約することによって第1のキーバリューペア群を形成させ、第1のキーバリューペア群から最新の更新情報を持つキーバリューペアを一つ選択し、選択された最新の更新情報を持つキーバリューペアをレプリケーション数に応じて複製し、複製されたキーバリューペアを所定のノード識別子に従って出力する処理とをコンピュータに実行させるデータ処理プログラムを記録する。   The program recording medium of the present invention is a program recording medium for recording a data processing program for restoring data having update information for determining an update order backed up in a distributed key-value store environment, and the first database server A process for backing up each generation of a key-value pair including a pair of a data value stored in at least one server constituting the group and a key for distinguishing the data, and at least a key-value pair backed up for each generation The first key-value pair group is formed by aggregating at least one read-out key-value pair with a key, and a key-value pair having the latest update information from the first key-value pair group. Select one and replies the key-value pair with the latest update information selected Replicated according to the application number, and records the data processing program for executing a process of outputting to the computer a duplicated key-value pairs in accordance with a predetermined node identifier.

本発明によれば、分散KVS環境の多世代にわたるバックアップデータを、分散KVSのサーバ構成に依存せず、一度の処理で任意のサーバ構成の分散KVSにリストアすることが可能となる。   According to the present invention, backup data over multiple generations in a distributed KVS environment can be restored to a distributed KVS having an arbitrary server configuration in a single process without depending on the server configuration of the distributed KVS.

本発明の第1の実施形態に係る分散型データ処理システムの構成を示す機能ブロック図である。1 is a functional block diagram showing a configuration of a distributed data processing system according to a first embodiment of the present invention. 本発明の第1の実施形態に係る分散型データ処理システムを構成するハードウェアの内部構成を示す概念図である。It is a conceptual diagram which shows the internal structure of the hardware which comprises the distributed data processing system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る分散型データ処理システムの構成の一部を示す機能ブロック図である。It is a functional block diagram which shows a part of structure of the distributed data processing system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る分散型データ処理システムにおいて処理されるKVペアの構成の一例を示す概念図である。It is a conceptual diagram which shows an example of a structure of the KV pair processed in the distributed data processing system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る分散型データ処理システムにおいて処理されるKVペアの構成の一例を示す概念図である。It is a conceptual diagram which shows an example of a structure of the KV pair processed in the distributed data processing system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る分散型データ処理システムの構成の一部を示す機能ブロック図である。It is a functional block diagram which shows a part of structure of the distributed data processing system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る分散型データ処理システムの第1処理手段の構成を示す機能ブロック図である。It is a functional block diagram which shows the structure of the 1st processing means of the distributed data processing system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る分散型データ処理システムの第2処理手段の構成を示す機能ブロック図である。It is a functional block diagram which shows the structure of the 2nd processing means of the distributed data processing system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る分散型データ処理システムにおいて作成される一時的KVペアの構成を示す概念図である。It is a conceptual diagram which shows the structure of the temporary KV pair produced in the distributed data processing system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る部分リストア装置の処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process of the partial restore apparatus which concerns on the 1st Embodiment of this invention. 本発明の第2の実施形態に係る分散型データ処理システムを説明するための概念図である。It is a conceptual diagram for demonstrating the distributed data processing system which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施形態に係る分散型データ処理システムを説明するための概念図である。It is a conceptual diagram for demonstrating the distributed data processing system which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施形態に係る分散型データ処理システムの第1処理手段の処理を説明するための概念図である。It is a conceptual diagram for demonstrating the process of the 1st processing means of the distributed data processing system which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施形態に係る分散型データ処理システムの第2処理手段の処理を説明するための概念図である。It is a conceptual diagram for demonstrating the process of the 2nd processing means of the distributed data processing system which concerns on the 2nd Embodiment of this invention. 本発明の第3の実施形態に係る分散型データ処理システムの第1処理手段の処理を説明するための概念図である。It is a conceptual diagram for demonstrating the process of the 1st process means of the distributed data processing system which concerns on the 3rd Embodiment of this invention. 本発明の第4の実施形態に係る分散型データ処理システムを説明するための概念図である。It is a conceptual diagram for demonstrating the distributed data processing system which concerns on the 4th Embodiment of this invention. 本発明の第4の実施形態に係る分散型データ処理システムを説明するための概念図である。It is a conceptual diagram for demonstrating the distributed data processing system which concerns on the 4th Embodiment of this invention. 一般的なクライアントルーティング方式を説明するための概念図である。It is a conceptual diagram for demonstrating a general client routing system.

以下に、本発明を実施するための形態について図面を用いて説明する。ただし、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。   EMBODIMENT OF THE INVENTION Below, the form for implementing this invention is demonstrated using drawing. However, the preferred embodiments described below are technically preferable for carrying out the present invention, but the scope of the invention is not limited to the following.

(第1の実施形態)
図1は、本発明の第1の実施形態に係る分散型データ処理システム1の機能構成を示すブロック図である。本実施形態に係る分散型データ処理システム1は、分散型キーバリューストア環境でバックアップされた更新順序を判別するための更新情報を持つデータをリストアするデータ処理システムである。
(First embodiment)
FIG. 1 is a block diagram showing a functional configuration of a distributed data processing system 1 according to the first embodiment of the present invention. The distributed data processing system 1 according to the present embodiment is a data processing system that restores data having update information for determining an update order backed up in a distributed key-value store environment.

本発明の第1の実施形態に係る分散型データ処理システム1は、第1データベースサーバ群10と、バックアップ手段20と、データリストア装置30と、第2データベースサーバ群70とを備えている。   The distributed data processing system 1 according to the first embodiment of the present invention includes a first database server group 10, a backup unit 20, a data restore device 30, and a second database server group 70.

また、本発明の第1の実施形態に係るデータリストア装置30は、部分リストア手段40と、第1処理手段50と、第2処理手段60と、を有している。データリストア装置30は、第1データベースサーバ群10を構成する複数のサーバのバックアップデータをサーバ毎にリストアし、2段構成のマップリデュース処理(以下、MapReduce処理)を実行して出力する出力手段である。なお、本発明の第1の実施形態においては、差分バックアップ又は増分バックアップによってバックアップデータを取得することを想定する。ただし、バックアップ方法は、差分バックアップ又は増分バックアップに限らず、フルバックアップ以外のバックアップ方法でありさえすればよい。   The data restore apparatus 30 according to the first embodiment of the present invention includes a partial restore means 40, a first processing means 50, and a second processing means 60. The data restoration device 30 is output means for restoring backup data of a plurality of servers constituting the first database server group 10 for each server, executing map reduction processing (hereinafter referred to as MapReduce processing) of a two-stage configuration, and outputting the same. is there. In the first embodiment of the present invention, it is assumed that backup data is acquired by differential backup or incremental backup. However, the backup method is not limited to the differential backup or the incremental backup, and may be a backup method other than the full backup.

本発明の第1の実施形態に係る分散型データ処理システム1は、例えばコンピュータやサーバマシンといった情報処理装置や、メモリやストレージなどの記憶装置を組み合わせて構成される。   The distributed data processing system 1 according to the first exemplary embodiment of the present invention is configured by combining an information processing device such as a computer or a server machine and a storage device such as a memory or a storage.

図2は、本発明の第1の実施形態に係る分散型データ処理システム1に用いられる情報処理装置のハードウェア構成の一例を示す概念図である。例えば、情報処理装置は、図2のように、中央演算処理装置5(図2ではCPUと記載)を有する(CPU:Central Processing Unit)構成とすることができる。また、情報処理装置は、図2のように、ROM6やRAM7を有する構成とすることができる(ROM:Read Only Memory、RAM:Random Access Memory)。さらに、情報処理装置は、図2のように、記憶装置8(図2ではHDDと記載)や入出力装置9(図2ではI/Oと記載)を有する構成とすることができる(HDD:Hard Disk Drive、I/O:Input/Output)。すなわち、本実施形態に係る分散型データ処理システム1に用いられる情報処理装置は、上述の中央演算処理装置5、ROM6、RAM7、記憶装置8、入出力装置9がデータバスによって接続された構成とすることによって実現される。なお、本発明の第1の実施形態に係る分散型データ処理システム1に用いられる情報処理装置は、図2の構成に限定されず、図2の構成に種々の装置・機能を追加・削除した構成とすることができる。   FIG. 2 is a conceptual diagram showing an example of the hardware configuration of the information processing apparatus used in the distributed data processing system 1 according to the first embodiment of the present invention. For example, as shown in FIG. 2, the information processing apparatus may have a (CPU: Central Processing Unit) configuration having a central processing unit 5 (described as CPU in FIG. 2). Further, as shown in FIG. 2, the information processing apparatus can be configured to have a ROM 6 and a RAM 7 (ROM: Read Only Memory, RAM: Random Access Memory). Further, as shown in FIG. 2, the information processing apparatus can be configured to include a storage device 8 (described as HDD in FIG. 2) and an input / output device 9 (described as I / O in FIG. 2) (HDD: Hard Disk Drive, I / O: Input / Output). That is, the information processing apparatus used in the distributed data processing system 1 according to the present embodiment has a configuration in which the above-described central processing unit 5, ROM 6, RAM 7, storage device 8, and input / output device 9 are connected by a data bus. It is realized by doing. Note that the information processing apparatus used in the distributed data processing system 1 according to the first embodiment of the present invention is not limited to the configuration in FIG. 2, and various devices and functions are added to or deleted from the configuration in FIG. It can be configured.

続いて、本発明の第1の実施形態に係るデータ処理システム1の構成要素について詳細に説明する。   Subsequently, components of the data processing system 1 according to the first embodiment of the present invention will be described in detail.

(第1データベースサーバ群)
図3に示した第1データベースサーバ群10は、第1サーバ11−1、第2サーバ11−2、・・・、第mサーバ11−mを含む複数のサーバから構成される(mは2以上の整数)。なお、図3には、一例として4つのサーバを示しているが、サーバ11の数は4つに限定されない。第1データベースサーバ群10を構成するサーバ11の数は、少なくとも二つ以上であればよい。
(First database server group)
The first database server group 10 shown in FIG. 3 includes a plurality of servers including a first server 11-1, a second server 11-2,..., An mth server 11-m (m is 2). Or an integer). Although FIG. 3 shows four servers as an example, the number of servers 11 is not limited to four. The number of servers 11 constituting the first database server group 10 may be at least two.

本実施形態に係るデータベースサーバ群10はスケールアウトが可能であり、第1データベースサーバ群10を構成する複数のサーバ11(11−1〜m)に任意で別のサーバを追加することができる。すなわち、本実施形態に係るデータベースサーバ群10は、データのバックアップタイミング毎に異なる構成となっていてもよい。   The database server group 10 according to the present embodiment can be scaled out, and another server can be arbitrarily added to the plurality of servers 11 (11-1 to m) constituting the first database server group 10. That is, the database server group 10 according to the present embodiment may have a different configuration for each data backup timing.

分散型データ処理システム1は分散KVS環境を形成する。分散KVS環境においては、データを格納するサーバ11は複数存在し、そのデータバックアップは各サーバ11単位で行われる(KVS:KEY−VALUE Store)。   The distributed data processing system 1 forms a distributed KVS environment. In the distributed KVS environment, there are a plurality of servers 11 for storing data, and the data backup is performed in units of each server 11 (KVS: KEY-VALUE Store).

分散型データ処理システム1においては、格納する値(VALUE)にキー(KEY)と呼ばれる数値を割り当てたKVペアの形態でデータを格納する。分散型データ処理システム1に格納されるデータには、KVペアが更新された更新順序に関する情報(更新情報)が含まれる。更新情報としては、更新時間(更新時刻とも呼ぶ)やベクタークロック(Vector Clock)などのKVペアを更新した順序が明確になる情報を用いる。本実施形態においては、更新情報として、更新時間(Time)を用いた場合について説明する。なお、更新情報として、バックアップを実行したタイミング(時刻・順序)に関する情報を用いてもよい。バックアップを実行したタイミングは、例えば、KVペアの更新時間(Time)の替わりとしてデータに含めてもよいし、更新時間とは別にデータに含めてもよい。   In the distributed data processing system 1, data is stored in the form of a KV pair in which a numerical value called a key (KEY) is assigned to a stored value (VALUE). The data stored in the distributed data processing system 1 includes information (update information) related to the update order in which the KV pair is updated. As the update information, information in which the order of updating the KV pair such as update time (also referred to as update time) and vector clock (Vector Clock) is clarified is used. In this embodiment, a case where update time (Time) is used as update information will be described. Note that information regarding the timing (time / order) at which backup is executed may be used as the update information. The timing at which backup is executed may be included in the data instead of the update time (Time) of the KV pair, for example, or may be included in the data separately from the update time.

図4に示すように、本発明の第1の実施形態に係るデータ処理システム1で扱われるKVペアは、キー情報(Key)を含むキー(KEY)と、更新情報(Time)と値(Value)とを含むバリュー(VALUE)の組合せである。なお、本発明の第1の実施形態に係るデータ処理システム1で扱われるKVペアは、キー情報以外の情報をキーとしてもよく、また、更新情報とデータ以外の情報をバリューとして含んでいてもよい。バックアップタイミングをデータに含める場合、例えば図4の更新時間(Time)をバックアップタイミング(Tn)で置換してもよいし、図5のようにTimeとは別にバックアップタイミング(Tn)をデータに付加してもよい。   As shown in FIG. 4, the KV pair handled in the data processing system 1 according to the first embodiment of the present invention includes a key (KEY) including key information (Key), update information (Time), and a value (Value). ) Including a value (VALUE). The KV pair handled in the data processing system 1 according to the first embodiment of the present invention may use information other than key information as a key, and may include information other than update information and data as a value. Good. When the backup timing is included in the data, for example, the update time (Time) in FIG. 4 may be replaced with the backup timing (Tn), or the backup timing (Tn) is added to the data separately from Time as shown in FIG. May be.

第1データベースサーバ群10に含まれる各サーバ11は、互いに異なるサーバマシンやストレージなどの情報処理装置として構成される。ただし、単一の装置内部に複数のサーバを構成させることができるのであれば、同一の装置内に異なる複数のサーバを構成させることができる。   Each server 11 included in the first database server group 10 is configured as an information processing apparatus such as a different server machine or storage. However, if a plurality of servers can be configured in a single device, a plurality of different servers can be configured in the same device.

また、図3などでは、第1データベースサーバ群10と、バックアップ手段20とを別の構成として示しているが、第1データベース群10がバックアップ手段20を含む構成であってもよい。   In FIG. 3 and the like, the first database server group 10 and the backup unit 20 are shown as different configurations, but the first database group 10 may include the backup unit 20.

本実施形態に係るデータ処理システム1は、所定のタイミングにおいて、バックアップ手段20にデータをバックアップする。データをバックアップする際、バックアップ手段20は、各サーバ11のバックアップタイミング毎に、各サーバ11のバックアップデータを格納する。   The data processing system 1 according to the present embodiment backs up data to the backup unit 20 at a predetermined timing. When backing up data, the backup unit 20 stores the backup data of each server 11 at each backup timing of each server 11.

例えば、本実施形態に係るデータ処理システム1においては、所定のタイミングにおいて更新されたデータを、差分バックアップや増分バックアップによってバックアップする。ただし、初めのデータバックアップ時においては、フルバックアップによってデータをバックアップしておく。   For example, in the data processing system 1 according to the present embodiment, data updated at a predetermined timing is backed up by differential backup or incremental backup. However, at the time of the first data backup, the data is backed up by a full backup.

なお、第1データベースサーバ群10と第2データベースサーバ群70とは、別のサーバ群として同時存在している必要はなく、第1データベースサーバ群10を構成するサーバ11が、第2データベースサーバ群70を構成するサーバとなってもよい。   Note that the first database server group 10 and the second database server group 70 do not have to exist simultaneously as separate server groups, and the server 11 that constitutes the first database server group 10 includes the second database server group. 70 may constitute a server.

(バックアップ手段)
図3のように、本発明の第1の実施形態に係るバックアップ手段20は、第1バックアップ部21−1、第2バックアップ部21−2、・・・、第nバックアップ部21−nを含む複数のバックアップ部21を有する(nは2以上の整数)。各バックアップ部21は、バックアップタイミングがT1〜Tnであるバックアップデータを、世代毎に格納する。図3においては、世代毎に、第1データベースサーバ群10に含まれる第1〜nサーバ11−1〜nのデータをバックアップデータとして各バックアップ部21に格納するように図示している。なお、本発明の第1の実施形態に係る分散型データ処理システム1においては、各世代において、第1データベースサーバ群10を構成する複数のサーバ11のサーバ構成が互いに異なっていてもよい。バックアップ部21にバックアップされるデータは、異なるサーバ11毎に分別できるように格納される。
(Backup method)
As shown in FIG. 3, the backup means 20 according to the first embodiment of the present invention includes a first backup unit 21-1, a second backup unit 21-2, ..., an nth backup unit 21-n. It has a plurality of backup units 21 (n is an integer of 2 or more). Each backup unit 21 stores backup data whose backup timing is T1 to Tn for each generation. In FIG. 3, the data of the first to n servers 11-1 to 11-n included in the first database server group 10 are stored in the backup units 21 as backup data for each generation. In the distributed data processing system 1 according to the first embodiment of the present invention, the server configurations of the plurality of servers 11 that constitute the first database server group 10 may be different from each other in each generation. Data to be backed up in the backup unit 21 is stored so that it can be classified for each different server 11.

バックアップ手段20にバックアップされたデータをリストアする際、バックアップ手段20は、部分リストア手段40にバックアップデータを送信する。   When restoring the data backed up by the backup unit 20, the backup unit 20 transmits the backup data to the partial restore unit 40.

(部分リストア手段)
部分リストア手段40は、各バックアップ部21に格納されたバックアップタイミングが異なる何世代かのバックアップデータをサーバ11毎に個別にリストアする。このようなリストアを部分リストアと呼ぶ。
(Partial restore method)
The partial restore means 40 individually restores several generations of backup data with different backup timings stored in each backup unit 21 for each server 11. Such a restore is called a partial restore.

部分リストア手段40は、例えばサーバ11毎のバックアップデータを世代毎に個別にリストアする部分サーバの組合せによって構成することができる。部分サーバは、各世代における各サーバのバックアップデータを部分リストア(ロード)して保持するサーバである。一般に、バックアップデータの形式は分散KVS毎に固有であるため、後続の分散処理フレームワークで直接読み出すことが難しいことが想定される。部分サーバは、分散処理部分がバックアップデータの形式に依存しないように、世代毎にバックアップされたデータのKVペアを取得する目的で配置される。   The partial restore means 40 can be configured by, for example, a combination of partial servers that individually restore backup data for each server 11 for each generation. The partial server is a server that partially restores (loads) backup data of each server in each generation. In general, since the format of backup data is unique for each distributed KVS, it is assumed that it is difficult to directly read by the subsequent distributed processing framework. The partial server is arranged for the purpose of acquiring a KV pair of data backed up for each generation so that the distributed processing part does not depend on the format of the backup data.

図6は、第1バックアップ部21−1と、第2バックアップ部21−2とに格納された複数のバックアップデータを部分リストア手段40で部分リストアする例を示す。なお、図6のバックアップ手段20には、2つの世代(T1とT2)の例を挙げているが、実際には何世代にもわたるバックアップデータが格納されている。また、図6の各バックアップ部21にはサーバ4つ分のバックアップデータしか図示していないが、各バックアップ部21には、世代毎にバックアップが実行されたサーバ11の数だけバックアップデータが含まれる。   FIG. 6 shows an example in which a plurality of backup data stored in the first backup unit 21-1 and the second backup unit 21-2 are partially restored by the partial restore unit 40. In addition, although the example of two generations (T1 and T2) is given in the backup means 20 in FIG. 6, actually, backup data for many generations is stored. Further, each backup unit 21 in FIG. 6 shows only backup data for four servers, but each backup unit 21 includes as many backup data as the number of servers 11 that have been backed up for each generation. .

図6において、時刻T1にバックアップされたバックアップデータを格納する第1バックアップ部21−1には、時刻T1にバックアップされた第1〜mサーバ11−1〜mのバックアップデータが含まれる。時刻T1にバックアップされた第1〜mサーバ11−1〜mのバックアップデータは、それぞれ第1〜4部分サーバ41−1〜4において部分リストアされる。   In FIG. 6, the first backup unit 21-1 for storing backup data backed up at time T1 includes backup data of the first to m servers 11-1 to 11-m backed up at time T1. The backup data of the first to m servers 11-1 to 11-m backed up at time T1 is partially restored in the first to fourth partial servers 41-1 to 41-4, respectively.

また、図6において、時刻T2にバックアップされたバックアップデータを格納する第2バックアップ部21−2には、時刻T2にバックアップされた第1〜mサーバ11−1〜mのバックアップデータが含まれる。時刻T2にバックアップされた第1〜mサーバ11−1〜mのバックアップデータは、それぞれ第5〜8部分サーバ41−5〜8において部分リストアされる。   In FIG. 6, the second backup unit 21-2 that stores backup data backed up at time T2 includes backup data of the first to m servers 11-1 to 11-m backed up at time T2. The backup data of the first to m servers 11-1 to 11-m backed up at time T2 is partially restored in the fifth to eighth partial servers 41-5 to 8, respectively.

なお、図6には、m個のサーバ11のバックアップデータを4つの部分サーバ41に部分リストアする例を図示しているが、実際には、m個の各サーバ11に対応するようにm個の部分サーバ41を配置することが好ましい。また、m個のサーバ11のバックアップデータを、任意の数の部分サーバ41に振り分けるように構成することも可能である。   FIG. 6 illustrates an example in which backup data of m servers 11 is partially restored to four partial servers 41, but in actuality, m pieces of servers 11 correspond to m servers 11. The partial server 41 is preferably arranged. Further, the backup data of the m servers 11 can be configured to be distributed to an arbitrary number of partial servers 41.

部分サーバ41は、第1データベースサーバ群10に含まれる各サーバ11の内部構成としてもよいし、各サーバ11とは異なる情報処理装置に含まれる構成としてもよい。また、部分サーバ41は、情報処理装置内部のプログラムとして構成してもよい。   The partial server 41 may have an internal configuration of each server 11 included in the first database server group 10 or a configuration included in an information processing apparatus different from each server 11. The partial server 41 may be configured as a program inside the information processing apparatus.

部分リストア手段40においては、異なる部分サーバ41毎にバックアップデータをリストアするため、異なるデータ構造で格納されたバックアップデータを並列してリストアすることが可能となる。   Since the partial restore means 40 restores backup data for each different partial server 41, it is possible to restore backup data stored in different data structures in parallel.

部分リストア手段40によってリストアされたデータは、後段の第1処理手段50、第2処理手段60に送信され、2段構成のMapReduce処理が施される。第1処理手段50による1段目のMapReduce処理は、あるキー(KEY)において更新時間(Time)が最新であるKVペアを選択するための処理である。第2処理手段60による2段目のMapReduce処理は、リストアすべき第2データベースサーバ群70のサーバ構成に応じて、レプリケーションを考慮して第2データベースサーバ群70を構成するサーバ単位でKVペアを集約するための処理である。   The data restored by the partial restoration means 40 is transmitted to the first processing means 50 and the second processing means 60 in the subsequent stage, and subjected to the two-stage MapReduce process. The first-stage MapReduce process by the first processing unit 50 is a process for selecting a KV pair with the latest update time (Time) in a certain key (KEY). The second RedReduce processing by the second processing means 60 is based on the server configuration of the second database server group 70 to be restored, and KV pairs are created for each server constituting the second database server group 70 in consideration of replication. This is a process for aggregation.

(第1処理手段)
2段構成のMapReduce処理の1段目を実行する第1処理手段50について、図7を用いて説明する。
(First processing means)
The first processing means 50 for executing the first stage of the two-stage MapReduce process will be described with reference to FIG.

第1処理手段50は、第1Map処理部51(以下、第1マップ処理部51)と、第1Shuffle処理部53(以下、第1シャッフル処理部53)と、第1Reduce処理部55(以下、第1リデュース処理部55)と、を有する。第1処理手段50は、MapReduceをフレームワークとする並列分散処理を実行する。第1処理手段50は、部分リストア手段40から取得したバックアップデータをキー(KEY)でソートし、キー毎に集約したKVペア群として出力する。   The first processing means 50 includes a first Map processing unit 51 (hereinafter referred to as a first map processing unit 51), a first Shuffle processing unit 53 (hereinafter referred to as a first shuffle processing unit 53), and a first Reduce processing unit 55 (hereinafter referred to as a first processing unit). 1 reduction processing unit 55). The first processing means 50 executes parallel distributed processing using MapReduce as a framework. The first processing means 50 sorts the backup data acquired from the partial restore means 40 by the key (KEY), and outputs it as a KV pair group aggregated for each key.

第1マップ処理部51は、各部分サーバ41から取得したKVペアを並列に読み出すマップ処理(Map処理)を実行する。第1マップ処理部51は、読み出した複数のKVペアを第1シャッフル処理部53に出力する。   The first map processing unit 51 executes map processing (Map processing) for reading in parallel the KV pairs acquired from the partial servers 41. The first map processing unit 51 outputs the plurality of read KV pairs to the first shuffle processing unit 53.

第1シャッフル処理部53は、第1マップ処理部51から取得した複数のKVペアを、KVペアのキー(KEY)であるキー情報(Key)でソートし、KVペアをキー毎にまとめてKVペア群(第1のキーバリューペア群とも呼ぶ)とする。第1シャッフル処理部53は、キー毎にまとめたKVペア群(第1のキーバリューペア群)を第1リデュース処理部55に出力する。   The first shuffle processing unit 53 sorts the plurality of KV pairs acquired from the first map processing unit 51 by the key information (Key) that is the key (KEY) of the KV pair, and collects the KV pairs for each key. A pair group (also referred to as a first key-value pair group) is used. The first shuffle processor 53 outputs the KV pair group (first key-value pair group) grouped for each key to the first reduce processor 55.

第1リデュース処理部55は、第1シャッフル処理部53から取得したキー毎にまとめられたKVペア群(第1のキーバリューペア群)を構成するKVペアの中から、更新時間(Time)が最新であるKVペアを一つ選択する。通常、データは複数のサーバに分別されてバックアップされており、同じキー及び値を持つデータが複数存在することになる。そのため、第1リデュース部は、更新時間が最新である複数のKVペアのうち一つを任意に選択する。   The first reduction processing unit 55 has an update time (Time) from among the KV pairs constituting the KV pair group (first key-value pair group) grouped for each key acquired from the first shuffle processing unit 53. Select the latest KV pair. Normally, data is sorted and backed up by a plurality of servers, and there are a plurality of data having the same key and value. Therefore, the first reducing unit arbitrarily selects one of a plurality of KV pairs whose update times are the latest.

そして、第1リデュース処理部55は、各KVペア群(第1のキーバリューペア群)において選択された最新の更新時間(Time)を持つKVペアを、レプリケーション数に従ってレプリケーション(複製)する。例えば、レプリケーション数が3であれば、同じキー(KEY)とバリュー(VALUE)を持つ3つのKVペアを複製する。   Then, the first reduce processing unit 55 replicates (duplicates) the KV pair having the latest update time (Time) selected in each KV pair group (first key-value pair group) according to the number of replications. For example, if the number of replications is 3, three KV pairs having the same key (KEY) and value (VALUE) are replicated.

さらに、第1リデュース処理部55は、レプリケーションしたKVペアのリストア先となるサーバの装置ID(ノードIDやノード識別子ともよぶ)を、レプリケーションした全てのKVペアに付与して一時的KVペアを作成する。KVペアの格納先となるサーバのノードID(NodeID)が決定すると、図9で示される一時的KVペアを新規に作成する。通常、分散KVSはレプリケーションを行うため、最新KVペア1つに対して、格納先が異なるレプリケーション数分のKVペアが作成されることになる。なお、レプリケーションとノードIDの付与については、ノードIDを付与してからレプリケーションを実行する順番としてもよい。   Further, the first reduce processing unit 55 creates a temporary KV pair by assigning the device ID (also referred to as node ID or node identifier) of the server that is the restore destination of the replicated KV pair to all replicated KV pairs. To do. When the node ID (Node ID) of the server that is the storage destination of the KV pair is determined, a temporary KV pair shown in FIG. 9 is newly created. Normally, since distributed KVS performs replication, KV pairs corresponding to the number of replications with different storage destinations are created for one latest KV pair. Note that the replication and node ID assignment may be performed in the order in which replication is executed after the node ID is assigned.

ところで、KVペア毎に格納(リストア)すべきサーバは、第2データベースサーバ群70のサーバ構成に応じて、適宜決まるものとする。リストアすべきサーバには、装置IDなどの一連の番号が割り振られているものとする。例えば、分散KVSに固有のKVペアの格納先サーバ決定アルゴリズムにより、そのKVペアの格納先サーバが決定されればよい。なお、KVペアと格納先サーバの対応関係は、第1処理手段50の第1リデュース処理部55で理解できるものとする。例えば、第1リデュース処理部55に、どのサーバにKVペアを振り分けるのかを決定するアルゴリズム又は対応表をリデュース処理として実装すればよい。   By the way, the server to be stored (restored) for each KV pair is appropriately determined according to the server configuration of the second database server group 70. It is assumed that a series of numbers such as device IDs are assigned to servers to be restored. For example, the storage destination server for the KV pair may be determined by a storage destination server determination algorithm for the KV pair unique to the distributed KVS. The correspondence between the KV pair and the storage destination server can be understood by the first reduce processing unit 55 of the first processing unit 50. For example, an algorithm or a correspondence table that determines which server the KV pair is allocated to may be implemented in the first reduce processing unit 55 as the reduction process.

第1リデュース処理部55は、ノードIDが同一となる一時的KVペアを一時的KVペア群(第1の一時的キーバリューペア群)として集約し、第2処理手段60に出力する。   The first reduce processing unit 55 aggregates temporary KV pairs having the same node ID as a temporary KV pair group (first temporary key-value pair group), and outputs the aggregated temporary KV pairs to the second processing unit 60.

(第2処理手段)
続いて、2段構成のMapReduce処理の2段目を実行する第2処理手段60について、図8を用いて説明する。
(Second processing means)
Next, the second processing means 60 that executes the second stage of the MapReduce process having a two-stage configuration will be described with reference to FIG.

第2処理手段60は、第2Map処理部61(以下、第2マップ処理部61)と、第2Shuffle処理部63(以下、第2シャッフル処理部63)と、第2Reduce処理部65(以下、第2リデュース処理部65)と、を有する。第2処理手段60は、MapReduceをフレームワークとする並列分散処理を実行する。   The second processing means 60 includes a second Map processing unit 61 (hereinafter referred to as a second map processing unit 61), a second Shuffle processing unit 63 (hereinafter referred to as a second shuffle processing unit 63), and a second Reduce processing unit 65 (hereinafter referred to as a second processing unit). 2 reduction processing unit 65). The second processing means 60 executes parallel distributed processing using MapReduce as a framework.

まず、第2処理手段60は、第1処理手段50によってキー毎に集約された一時的KVペア群を取得する。そして、第2処理手段60は、一時的KVペア群を構成する一時的KVペアを、特定の条件・規則に従って第2データベースサーバ群70を構成するサーバ毎のKVペア群として再構成し、再構築したKVペア群を出力する。   First, the second processing means 60 acquires a temporary KV pair group aggregated for each key by the first processing means 50. Then, the second processing means 60 reconfigures the temporary KV pairs constituting the temporary KV pair group as KV pair groups for each server constituting the second database server group 70 in accordance with specific conditions and rules. The constructed KV pair group is output.

第2マップ処理部61は、第1処理手段50の第1リデュース処理部55から取得した複数の一時的KVペアを並列に読み出すマップ処理(Map処理)を実行する。第2マップ処理部61は、読み出した複数の一時的KVペアを第2シャッフル処理部63に出力する。   The second map processing unit 61 executes map processing (Map processing) for reading a plurality of temporary KV pairs acquired from the first reduce processing unit 55 of the first processing unit 50 in parallel. The second map processing unit 61 outputs the plurality of read temporary KV pairs to the second shuffle processing unit 63.

第2シャッフル処理部63は、第2マップ処理部61から取得した複数の一時的KVペアを、一時的KVペアのキー(KEY)となるノードID(NodeID)でソートする。そして、第2シャッフル処理部63は、一時的KVペアをノードID毎にまとめた一時的KVペア群(第2の一時的キーバリューペア群)とする。第2シャッフル処理部63は、ノードID毎にまとめた一時的KVペア群(第2の一時的キーバリューペア群)を第2リデュース処理部65に出力する。   The second shuffle processing unit 63 sorts the plurality of temporary KV pairs acquired from the second map processing unit 61 according to the node ID (Node ID) that becomes the key (KEY) of the temporary KV pair. The second shuffle processing unit 63 sets a temporary KV pair group (second temporary key-value pair group) in which temporary KV pairs are grouped for each node ID. The second shuffle processor 63 outputs the temporary KV pair group (second temporary key-value pair group) grouped for each node ID to the second reduce processor 65.

なお、ノードID(NodeID)は、KVペアの格納先サーバ番号を意味するため、第2リデュース処理部65には、格納先が同じKVペアが集約されることになる。   Since the node ID (NodeID) means the storage destination server number of the KV pair, the second reduction processing unit 65 aggregates the KV pairs having the same storage destination.

第2リデュース処理部65は、第2シャッフル処理部63から取得したノードID毎にまとめられた一時的KVペア群(第2の一時的キーバリューペア群)において、一時的KVペアに付与されていたノードIDを削除し、通常のKVペアに変換する。   The second reduce processing unit 65 is assigned to the temporary KV pair in the temporary KV pair group (second temporary key-value pair group) grouped for each node ID acquired from the second shuffle processing unit 63. The node ID is deleted and converted to a normal KV pair.

そして、第2リデュース処理部65は、通常のデータ構造を持つKVペアを、ノードID毎にまとめられたKVペア群(第2のキーバリューペア群)として集約し、KVペア群(第2のキーバリューペア群)をノードIDによって指定されたサーバに向けて出力する。   Then, the second reduce processing unit 65 aggregates the KV pairs having a normal data structure as a KV pair group (second key-value pair group) grouped for each node ID, and sets the KV pair group (second key value group). Key-value pair group) is output to the server designated by the node ID.

第2リデュース処理部65は、同じノードIDをキー(KEY)とする一時的KVペアを集め、一時的KVペアのバリュー(VALUE)から本来格納すべきKVペアを取り出す。そして、第2リデュース処理部65は、取り出したKVペアのまとまりをKVペア群(第2のキーバリューペア群)という塊として格納先サーバに送信する。その結果、単一のKVペアよりも大きなサイズのKVペア群(第2のキーバリューペア群)を転送することによって、ネットワークの使用効率を向上することができる。   The second reduce processing unit 65 collects temporary KV pairs using the same node ID as a key (KEY), and extracts a KV pair that should be originally stored from the value (VALUE) of the temporary KV pair. Then, the second reduce processing unit 65 transmits the group of the extracted KV pairs to the storage destination server as a lump called a KV pair group (second key-value pair group). As a result, the use efficiency of the network can be improved by transferring a KV pair group (second key-value pair group) having a size larger than that of a single KV pair.

(第2データベースサーバ群)
第2データベースサーバ群70は、第2処理手段60の第2リデュース処理部65から取得したKVペアを格納する。第2データベースサーバ群70は、第1データベースサーバ群10と同様に、分散KVS型のサーバ構成を取る。本発明の第1の実施形態に係る第2データベースサーバ群70は、第1データベースサーバ群10とは異なるサーバ構成とすることが可能である。また、第2データベースサーバ群70は、第1データベースサーバ群10と同じサーバ構成であっても構わない。
(Second database server group)
The second database server group 70 stores the KV pair acquired from the second reduce processing unit 65 of the second processing means 60. Similar to the first database server group 10, the second database server group 70 has a distributed KVS type server configuration. The second database server group 70 according to the first embodiment of the present invention can have a different server configuration from the first database server group 10. The second database server group 70 may have the same server configuration as the first database server group 10.

以上が、本発明の第1の実施形態に係る分散型データ処理システムの構成に関する説明である。なお、本発明の第1の実施形態に係る分散型データ処理システムの構成は、上述の構成に限定されず、必要に応じて種々の追加・削除等の変更を施してもよい。   This completes the description of the configuration of the distributed data processing system according to the first embodiment of the present invention. The configuration of the distributed data processing system according to the first embodiment of the present invention is not limited to the above-described configuration, and various additions / deletions and the like may be made as necessary.

(動作)
次に、本発明の第1の実施形態に係る分散型データ処理システム1の動作について説明する。特に、本発明の特徴部分となるデータリストア装置30における部分リストア処理、2段のMapReduce処理について、図10のフローチャートを用いて順序立てて説明する。
(Operation)
Next, the operation of the distributed data processing system 1 according to the first embodiment of the present invention will be described. In particular, a partial restore process and a two-stage MapReduce process in the data restore apparatus 30 which is a characteristic part of the present invention will be described in order using the flowchart of FIG.

(部分リストア処理)
まず、図10の部分リストア処理において、部分リストア手段40に含まれる複数の部分サーバ41は、バックアップ手段20がデータをバックアップするバックアップタイミング毎に各サーバのバックアップデータを取得する。そして、各部分サーバ41は、取得したバックアップデータをリストアする(ステップS10)。
(Partial restore processing)
First, in the partial restore process of FIG. 10, the plurality of partial servers 41 included in the partial restore unit 40 acquires backup data of each server at each backup timing when the backup unit 20 backs up data. Then, each partial server 41 restores the acquired backup data (step S10).

なお、部分リストア処理において、各部分サーバ41は、差分バックアップデータ(増分バックアップデータ)のKVデータのみを保持する。また、部分リストア処理においては、差分バックアップ(増分バックアップ)の世代を問わず、バックアップ手段20に格納された全てのバックアップデータが各部分サーバ41に個別にリストア(部分リストア)される。   In the partial restore process, each partial server 41 holds only KV data of differential backup data (incremental backup data). In the partial restore process, all backup data stored in the backup unit 20 is individually restored (partial restore) to each partial server 41 regardless of the generation of the differential backup (incremental backup).

(第1処理手段におけるMapReduce処理)
続いて、第1処理手段50において、分散処理フレームワークであるMapReduce処理が、以下のステップS20〜S40を通じて実行される。
(MapReduce process in the first processing means)
Subsequently, in the first processing means 50, MapReduce processing, which is a distributed processing framework, is executed through the following steps S20 to S40.

図10の第1マップ処理において、第1処理手段50の第1マップ処理部51は、部分リストア手段40に含まれる複数の部分サーバ41によってリストアされた複数のKVペアを並列に読み出すMap処理が実行される(ステップS20)。   In the first map processing of FIG. 10, the first map processing unit 51 of the first processing unit 50 performs Map processing for reading in parallel a plurality of KV pairs restored by the plurality of partial servers 41 included in the partial restoration unit 40. It is executed (step S20).

なお、第1マップ処理においては、各部分サーバ41が保持するデータの世代を考慮する必要はない。   In the first map process, it is not necessary to consider the generation of data held by each partial server 41.

第1シャッフル処理において、第1処理手段50の第1シャッフル処理部53は、第1マップ処理部51によってMap処理された複数のKVペアのうち同じキー(KEY)を持つものをKVペア群(第1のキーバリューペア群)としてまとめる(ステップS30)。   In the first shuffle processing, the first shuffle processing unit 53 of the first processing means 50 selects a KV pair group (with the same key (KEY)) from among a plurality of KV pairs mapped by the first map processing unit 51 ( First key / value pair group) (step S30).

第1リデュース処理において、第1に、第1処理手段50の第1リデュース処理部55は、キー毎にまとめられたKVペア群(第1のキーバリューペア群)の中で更新時間(Time)が最新であるKVペアを、KVペア群毎に選択する。第2に、第1リデュース処理部55は、選択したKVペアを所定のレプリケーション数に従ってレプリケーション(複製)する。第3に、第1リデュース処理部55は、レプリケーションされたKVペアに対して、新たにKVペアを格納するサーバのノードIDを付与し、一時的KVペアを作成する。以上の第1〜3の手順を含む第1リデュース処理によって、部分リストアされたバックアップデータから、キー(KEY)毎に更新時間が最新であるKVペアが選択され、KVペアのレプリケーションとノードIDの付与が実行される(ステップS40)。なお、第1リデュース処理における第2と第3の手順は、順序を入れ替えて実行してもよい。同一のキー(KEY)を持つ一時的KVペアは、一時的KVペア群(第1の一時的KVペア群)として集約され、第2処理手段60に対して出力される。   In the first reduction process, first, the first reduction processing unit 55 of the first processing unit 50 updates the update time (Time) in the KV pair group (first key value pair group) grouped for each key. Is selected for each KV pair group. Second, the first reduce processing unit 55 replicates (replicas) the selected KV pair according to a predetermined number of replications. Third, the first reduce processing unit 55 assigns the node ID of the server that newly stores the KV pair to the replicated KV pair, and creates a temporary KV pair. Through the first reduce process including the above first to third procedures, the KV pair with the latest update time is selected for each key (KEY) from the partially restored backup data, and the replication of the KV pair and the node ID The assignment is executed (step S40). Note that the second and third procedures in the first reducing process may be executed in a reversed order. Temporary KV pairs having the same key (KEY) are aggregated as a temporary KV pair group (first temporary KV pair group) and output to the second processing means 60.

(第2処理手段におけるMapReduce処理)
続いて、第2処理手段60において、分散処理フレームワークであるMapReduce処理が、以下のステップS50〜S70を通じて実行される。
(MapReduce processing in the second processing means)
Subsequently, in the second processing means 60, MapReduce processing, which is a distributed processing framework, is executed through the following steps S50 to S70.

図10の第2マップ処理において、第2処理手段60の第2マップ処理部61は、各キー(KEY)の一時的KVペアを、キー(KEY)毎の一時的KVペア群(第1のキーバリューペア)として並列に読み出すMap処理を実行する(ステップS50)。   In the second map processing of FIG. 10, the second map processing unit 61 of the second processing means 60 converts the temporary KV pair of each key (KEY) into a temporary KV pair group (first first) for each key (KEY). A Map process for reading in parallel as a key-value pair is executed (step S50).

第2シャッフル処理において、第2シャッフル処理部63は、第2マップ処理部61によってMap処理された複数のKVペアを、同じノードID(NodeID)を持つ一時的KVペア毎に集約する。そして、第2シャッフル処理部63は、同じノードID(NodeID)を持つ一時的KVペア毎に集約された複数のKVペアによって、一時的KVペア群(第2の一時的キーバリューペア群)を形成させる(ステップS60)。   In the second shuffle process, the second shuffle processor 63 aggregates a plurality of KV pairs that have undergone the map process by the second map processor 61 for each temporary KV pair having the same node ID (NodeID). Then, the second shuffle processing unit 63 generates a temporary KV pair group (second temporary key-value pair group) using a plurality of KV pairs aggregated for each temporary KV pair having the same node ID (NodeID). Form (step S60).

第2リデュース処理において、第2リデュース処理部65は、ノードID(NodeID)毎にまとめられた一時的KVペアのノードID(NodeID)を削除し、通常の構造を持つKVペアに変換する(ステップS70)。通常の構造を持つKVペアは、同じノードID毎に集約されたKVペア群(第2のキーバリューペア)として、指定されたサーバに振り分けられる。   In the second reduction process, the second reduction processing unit 65 deletes the node ID (NodeID) of the temporary KV pair collected for each node ID (NodeID), and converts the node ID (NodeID) into a KV pair having a normal structure (step). S70). KV pairs having a normal structure are distributed to a designated server as a KV pair group (second key-value pair) aggregated for each same node ID.

以上が、本実施形態に係るデータリストア装置の動作についての詳細な説明である。なお、第1の実施形態に係るデータリストア装置の動作は、上述の処理手順に限定されず、必要に応じて種々の追加・削除等の変更を施してもよい。   The above is a detailed description of the operation of the data restoration apparatus according to the present embodiment. Note that the operation of the data restoration apparatus according to the first embodiment is not limited to the above-described processing procedure, and various changes such as addition and deletion may be performed as necessary.

一般に、分散KVSは、KVペア更新時の排他制御を可能にするためにKVペアの更新時間情報を持つ。本発明の第1の実施形態に係る分散型データ処理システムにおいては、更新時間が最新であるKVペアを選択するために、KVペアの更新時間情報を利用する。その結果、多世代にわたる差分・増分バックアップのデータを並列に読み込んで処理することができ、短時間でデータリストアすることが可能となる。   In general, the distributed KVS has KV pair update time information in order to enable exclusive control during KV pair update. In the distributed data processing system according to the first embodiment of the present invention, the KV pair update time information is used to select the KV pair with the latest update time. As a result, differential / incremental backup data over multiple generations can be read and processed in parallel, and data restoration can be performed in a short time.

また、本発明の第1の実施形態に係る分散型データ処理システムにおいては、データのリストア時に直接分散KVSの各サーバにリストアするのではなく、部分サーバに一度データをリストアし、部分サーバからデータを直接読み出す。その結果、データのバックアップ時のサーバ構成に依存しないデータリストアが可能となる。   In the distributed data processing system according to the first embodiment of the present invention, instead of directly restoring to each server of the distributed KVS at the time of data restoration, the data is restored once to the partial server, and the data from the partial server is restored. Is read directly. As a result, data restoration independent of the server configuration at the time of data backup becomes possible.

さらに、本発明の第1の実施形態に係る分散型データ処理システムのMapReduce処理においては、本来のKVペアに格納先サーバ番号を意味するノードIDを付与した一次的KVペアを内部的に作成する。その結果、データをリストアする分散KVSのサーバ単位でKVペアを集約することができる。   Furthermore, in the MapReduce process of the distributed data processing system according to the first embodiment of the present invention, a primary KV pair is internally created by assigning a node ID indicating a storage destination server number to the original KV pair. . As a result, KV pairs can be aggregated in units of distributed KVS servers that restore data.

Reduce処理において、格納先が同一であるKVペアがまとめられるため、分散KVSのサーバへ送信する際に大きなサイズのデータとして転送することが可能となり、効率的なネットワーク使用が可能となる。   In the Reduce process, the KV pairs having the same storage destination are collected, so that when the data is transmitted to the distributed KVS server, it can be transferred as a large size data, and the network can be used efficiently.

すなわち、本発明の第1の実施形態に係る分散型データ処理システムによれば、分散KVS環境の多世代にわたる差分バックアップデータを、分散KVSのサーバ構成に依存せず、一度の処理で任意のサーバ構成の分散KVSにリストアすることが可能となる。   That is, according to the distributed data processing system according to the first embodiment of the present invention, the differential backup data over multiple generations in the distributed KVS environment can be processed at any time in a single process without depending on the server configuration of the distributed KVS. It is possible to restore to the distributed KVS of the configuration.

また、本発明の第1の実施形態に係る分散型データ処理システムによれば、サーバ単位でKVペアを集約することによって、リストア時のネットワーク転送効率を向上させることが可能となる。   Further, according to the distributed data processing system according to the first embodiment of the present invention, it is possible to improve network transfer efficiency at the time of restoration by aggregating KV pairs in units of servers.

ところで、本発明の第1の実施形態に係る分散型データ処理システムによるデータ処理方法は、これまで説明してきた分散型データ処理システムとは異なる構成で実現されたとしても、本発明の範囲に含まれる。また、本発明のデータ処理方法を実行するデータ処理プログラム、そのデータ処理プログラムを記録するプログラム記録媒体も本発明の範囲に含まれる。   By the way, the data processing method by the distributed data processing system according to the first embodiment of the present invention is included in the scope of the present invention even if it is realized with a different configuration from the distributed data processing system described so far. It is. Further, a data processing program for executing the data processing method of the present invention and a program recording medium for recording the data processing program are also included in the scope of the present invention.

以下において、本発明の第1の実施形態に係る分散型データ処理システムをより具体化した実施形態について説明する。   In the following, a more specific embodiment of the distributed data processing system according to the first embodiment of the present invention will be described.

(第2の実施形態)
図11および図12は、第2の実施形態に係る分散型データ処理システムの概念図である。また、図13および図14は、第2の実施形態における各構成要素の処理を説明するための概念図である。
(Second Embodiment)
11 and 12 are conceptual diagrams of a distributed data processing system according to the second embodiment. FIG. 13 and FIG. 14 are conceptual diagrams for explaining processing of each component in the second embodiment.

図11および図12のように、第2の実施形態に係る分散型データ処理システムは、バックアップ手段200と、部分リストア手段400と、第1処理手段500と、第2処理手段600とを備える。なお、図12は、第2処理手段600が、第2の実施形態に係る分散型データ処理システムによってMapReduce処理されたKVペアを第2データベースサーバ群700に含まれる各サーバ710に振り分ける一例を示す。また、第2データベースサーバ群700は、第2の実施形態に係る分散型データ処理システムに含むように構成してもよいし、含まないように構成してもよい。   As shown in FIGS. 11 and 12, the distributed data processing system according to the second embodiment includes a backup unit 200, a partial restore unit 400, a first processing unit 500, and a second processing unit 600. FIG. 12 shows an example in which the second processing unit 600 distributes the KV pairs that have been MapReduce processed by the distributed data processing system according to the second embodiment to each server 710 included in the second database server group 700. . The second database server group 700 may be configured to be included in the distributed data processing system according to the second embodiment, or may be configured not to be included.

バックアップ手段200は、時刻T1にバックアップされたKVペアを格納する第1バックアップ部210−1と、時刻T2にバックアップされたKVペアを格納する第2バックアップ部210−2とを含む。なお、第2の実施形態においては、レプリケーション数を3とする。   The backup means 200 includes a first backup unit 210-1 that stores a KV pair backed up at time T1, and a second backup unit 210-2 that stores a KV pair backed up at time T2. In the second embodiment, the number of replications is 3.

図11のように、第1バックアップ部210−1には、第1サーバ、第3サーバ、第4サーバ、第5サーバ及び第6サーバに関して、Key1及びKey6を含むKVペアが差分バックアップされている。また、第2バックアップ部210−2には、第1サーバ、第3サーバ及び第4サーバに関して、Key1を含むKVペアが差分バックアップされている。   As shown in FIG. 11, the first backup unit 210-1 is differentially backed up for KV pairs including Key1 and Key6 with respect to the first server, the third server, the fourth server, the fifth server, and the sixth server. . The second backup unit 210-2 is differentially backed up for KV pairs including Key1 with respect to the first server, the third server, and the fourth server.

バックアップされたKVペアをリストアするタイミングにおいて、部分リストア手段400は、バックアップ手段200が格納する各KVペアに対応して複数の部分サーバ410(410−1〜8)を構成する。第2の実施形態では、第1〜第8部分サーバ410−1〜8が構成され、それぞれの部分サーバ410にKVペアが取得される。各部分サーバ410において、個別にデータがリストア(部分リストア)される。その結果、差分バックアップを行ったときのサーバ構成に依存せず、任意のサーバ構成に対応するようにデータがリストアされる。   At the timing of restoring the backed up KV pairs, the partial restore unit 400 configures a plurality of partial servers 410 (410-1 to 8) corresponding to each KV pair stored in the backup unit 200. In the second embodiment, first to eighth partial servers 410-1 to 410-8 are configured, and a KV pair is acquired in each partial server 410. In each partial server 410, data is individually restored (partial restore). As a result, the data is restored so as to correspond to an arbitrary server configuration without depending on the server configuration when the differential backup is performed.

各部分サーバ410で部分リストアされたKVペアは、第1処理手段500に向けて出力される。   The KV pair partially restored by each partial server 410 is output toward the first processing means 500.

図13に示すように、第1処理手段500において、第1マップ処理部510は、KVペアに対して並列でMap処理を実行する。そして、第1マップ処理部510は、複数のKVペアを第1シャッフル処理部530に向けて出力する。   As shown in FIG. 13, in the first processing means 500, the first map processing unit 510 executes Map processing on the KV pair in parallel. Then, the first map processing unit 510 outputs the plurality of KV pairs to the first shuffle processing unit 530.

第1シャッフル処理部530は、複数のKVペアをキー(KEY)によって並び替え、同一のキー(KEY)を持つ複数のKVペアを集約してKVペア群(第1のキーバリューペア群)とする。そして、第1シャッフル処理部530は、集約したKVペア群(第1のキーバリューペア群)を第1リデュース処理部550に向けて出力する。   The first shuffle processing unit 530 sorts a plurality of KV pairs by a key (KEY), aggregates a plurality of KV pairs having the same key (KEY), and a KV pair group (first key-value pair group). To do. Then, the first shuffle processing unit 530 outputs the aggregated KV pair group (first key-value pair group) toward the first reduce processing unit 550.

第1リデュース処理部550は、各KVペア群(第1のキーバリューペア群)の中から最新の更新時間(Time)を持つKVペアを一つ選択する。第1リデュース処理部550は、選択した一つのKVペアをレプリケーション数(第2の実施形態では3)に応じて、3つレプリケーション(複製)する。第1リデュース処理部550は、レプリケーションした全てのKVペアに格納先サーバのノードIDを付与することによって一時的KVペアを作成する。第1リデュース処理部550は、一時的KVペアをノードID毎にまとめて一時的KVペア群(第1の一時的キーバリューペア群)とする。そして、第1リデュース処理部550は、一時的KVペア群(第1の一時的キーバリューペア群)を第2処理手段600に向けて出力する。   The first reduce processing unit 550 selects one KV pair having the latest update time (Time) from each KV pair group (first key-value pair group). The first reduce processing unit 550 replicates (replicates) three selected KV pairs according to the number of replications (3 in the second embodiment). The first reduce processing unit 550 creates temporary KV pairs by assigning node IDs of storage destination servers to all replicated KV pairs. The first reduce processing unit 550 collects temporary KV pairs for each node ID and forms a temporary KV pair group (first temporary key-value pair group). Then, the first reduce processing unit 550 outputs the temporary KV pair group (first temporary key-value pair group) to the second processing unit 600.

図14に示すように、第2処理手段600において、第2マップ処理部610は、一時的KVペア群(第1の一時的キーバリューペア群)としてまとめられた複数の一時的KVペアに対して、並列でMap処理を実行する。そして、第2マップ処理部610は、複数の一時的KVペアを第2シャッフル処理部630に向けて出力する。   As shown in FIG. 14, in the second processing means 600, the second map processing unit 610 performs a plurality of temporary KV pairs collected as a temporary KV pair group (first temporary key-value pair group). The Map process is executed in parallel. Then, the second map processing unit 610 outputs a plurality of temporary KV pairs to the second shuffle processing unit 630.

第2シャッフル処理部630は、複数の一時的KVペアを、ノードID(NodeID)をキー(KEY)として並び替え、同一のノードID(NodeID)を持つ一時的KVペアをまとめて一時的KVペア群(第2の一時的キーバリューペア群)とする。そして、第2シャッフル処理部630は、一時的KVペア群(第2の一時的キーバリューペア群)を第2リデュース処理部650に向けて出力する。   The second shuffle processing unit 630 rearranges a plurality of temporary KV pairs using the node ID (NodeID) as a key (KEY), and collects temporary KV pairs having the same node ID (NodeID) as a temporary KV pair. Group (second temporary key-value pair group). Then, the second shuffle processing unit 630 outputs the temporary KV pair group (second temporary key-value pair group) to the second reduce processing unit 650.

第2リデュース処理部650は、ノードID毎にまとめられた複数の一時的KVペアからノードID(NodeID)を削除する。そして、第2リデュース処理部650は、ノードID(NodeID)毎にまとめた複数のKVペアを含むKVペア群(第2のキーバリューペア群)を、ノードIDに対応するサーバに向けて出力する。   The second reduce processing unit 650 deletes the node ID (NodeID) from the plurality of temporary KV pairs collected for each node ID. And the 2nd reduction process part 650 outputs the KV pair group (2nd key value pair group) containing the several KV pair put together for every node ID (NodeID) toward the server corresponding to node ID. .

図14のように、第2の実施形態においては、第1’サーバ710−1(ノードID1)にKey1及びKey6を含むKVペアが格納される。また、第3’及び第5’サーバ710−3、5(ノードID3、5)にKey1を含むKVペア、第4’及び第6’サーバ710−4、6(ノードID4、6)にKey6を含むKVペアが格納される。第2データベースサーバ群700に含まれるそれぞれのサーバ710(710−1〜6)には、更新時間(Time)が最新のKVペアが格納されることになる。   As shown in FIG. 14, in the second embodiment, a KV pair including Key1 and Key6 is stored in the first 'server 710-1 (node ID1). Also, KV pair including Key1 in the 3 ′ and 5 ′ servers 710-3 and 5 (node IDs 3 and 5), and Key6 in the 4 ′ and 6 ′ servers 710-4 and 6 (node IDs 4 and 6). The containing KV pair is stored. Each server 710 (710-1 to 710-1) included in the second database server group 700 stores the KV pair with the latest update time (Time).

(第3の実施形態)
第3の実施形態は、バックアップ時にレプリケーションが失敗した場合の一例である。
(Third embodiment)
The third embodiment is an example when replication fails during backup.

図15のように、第3の実施形態に係る分散型データ処理システムの第1処理手段500は、第1マップ処理部512と、第1シャッフル処理部532と、第1リデュース処理部552とを有する。なお、第3の実施形態の第1処理手段500については、内部構成の符号は第2の実施形態と異なるものの、第2の実施形態と同じ符号を用いている。また、第3の実施形態のその他の構成要素については、第2の実施形態と同様であるため、説明は省略する。   As shown in FIG. 15, the first processing unit 500 of the distributed data processing system according to the third embodiment includes a first map processing unit 512, a first shuffle processing unit 532, and a first reduce processing unit 552. Have. In addition, about the 1st processing means 500 of 3rd Embodiment, although the code | symbol of an internal structure differs from 2nd Embodiment, the same code | symbol as 2nd Embodiment is used. In addition, since the other components of the third embodiment are the same as those of the second embodiment, description thereof is omitted.

図15に示す第3の実施形態では、レプリケーション数が3であるのに、2つのKVペアしか見つからなかった場合の例である。通常、レプリケーション数が3であれば、3つのKVペアが見つかるはずである。ところが、図15において、Keyが1となるKVペアのうち、更新時間(Time)が4となるKVペアは二つしか存在しない。   The third embodiment shown in FIG. 15 is an example in which only two KV pairs are found even though the number of replications is three. Normally, if the number of replications is 3, three KV pairs should be found. However, in FIG. 15, there are only two KV pairs whose update time (Time) is 4 among the KV pairs whose Key is 1.

通常、分散KVSは、耐障害性を確保する目的で、1つのKVペアを異なるサーバにレプリケーションする。そのため、Reduce処理でレプリケーション数が3であれば、同じKVペアが3つ格納されているはずである。しかしながら、第3の実施形態では、何らかの障害等によってレプリケーションできず、同じKVペアは2つしか見つからなかった。   Normally, the distributed KVS replicates one KV pair to different servers for the purpose of ensuring fault tolerance. Therefore, if the number of replications is 3 in the Reduce process, three same KV pairs should be stored. However, in the third embodiment, replication could not be performed due to some failure or the like, and only two identical KV pairs were found.

第3の実施形態の場合においても、更新時間(Time)が最新であるKVペアを1つ選ぶのみである。そのため、KVペアが想定された数だけ存在しないとしても、第3の実施形態に係る分散型データ処理システムは問題なく動作することがわかる。   Also in the case of the third embodiment, only one KV pair with the latest update time (Time) is selected. Therefore, it can be seen that the distributed data processing system according to the third embodiment operates without any problem even if the expected number of KV pairs does not exist.

以上のように、本発明の第3の実施形態に係る分散型データ処理システムにおいては、データの更新情報を利用することによってレプリケーションにおけるリモートデータ間の不整合を修正できる。そのため、バックアップ時のレプリケーションの障害が問題とならない。   As described above, in the distributed data processing system according to the third embodiment of the present invention, it is possible to correct inconsistencies between remote data in replication by using data update information. Therefore, replication failure during backup does not become a problem.

(第4の実施形態)
図16及び図17に示すように、第4の実施形態に係る分散型データ処理システムは、バックアップ手段201、部分リストア手段401、第1処理手段501、第2処理手段601、第2データベースサーバ群701を備える。
(Fourth embodiment)
As shown in FIGS. 16 and 17, the distributed data processing system according to the fourth embodiment includes a backup unit 201, a partial restore unit 401, a first processing unit 501, a second processing unit 601, and a second database server group. 701.

第4の実施形態は、データベースをスケールアウトした場合の例である。図16の第1データベースサーバ群101の例では、スケールアウト前後で、第1−1データベースサーバ群101−1と、第1−2データベースサーバ群101−2とを区別して図示している。実際には、第1−1データベースサーバ群101−1を構成する第1〜第3サーバ111−1〜3に第4サーバ112−4を追加した構成が、第1−2データベースサーバ群101−2であり、スケールアウトによってサーバ構成が変更されている。   The fourth embodiment is an example when the database is scaled out. In the example of the first database server group 101 in FIG. 16, the 1-1 database server group 101-1 and the 1-2 database server group 101-2 are distinguished from each other before and after the scale-out. Actually, the configuration in which the fourth server 112-4 is added to the first to third servers 111-1 to 111-3 constituting the first 1-1 database server group 101-1, is the first-2 database server group 101-. 2 and the server configuration is changed by the scale-out.

第1段階において、KVペアを格納するデータベースサーバ群101は、図16の第1−1データベースサーバ群101−1のようなサーバ構成を取っている。第1段階では、第1バックアップ部211−1に、第1−1データベースサーバ群101−1のバックアップデータが格納される。   In the first stage, the database server group 101 storing the KV pair has a server configuration like the 1-1 database server group 101-1 in FIG. In the first stage, backup data of the 1-1 database server group 101-1 is stored in the first backup unit 211-1.

次に、第1段階とは異なる第2段階において、KVペアを格納するデータベースサーバ群101は、図16の第1−2データベースサーバ群101−2のようなサーバ構成にスケールアウトされる。第2段階では、第2バックアップ部211−2に、第1−2データベースサーバ群101−2のバックアップデータが格納される。   Next, in a second stage different from the first stage, the database server group 101 storing the KV pairs is scaled out to a server configuration like the 1-2 database server group 101-2 in FIG. In the second stage, the backup data of the 1-2 database server group 101-2 is stored in the second backup unit 211-2.

バックアップデータをリストアするタイミングにおいて、部分リストア手段401は、異なるサーバ構成を取る各データベースサーバ群101のバックアップデータを格納する第1及び第2バックアップ部211−1、2から並列でバックアップデータを取得する。部分リストア手段401は、バックアップ手段201がデータをバックアップする各バックアップタイミングにおける各サーバ111および112の構成に対応させて、第1〜7部分サーバ411−1〜7を構成する。そして、部分リストア手段401は、それぞれの部分サーバ411においてバックアップデータを個別にリストア(部分リストア)する。   At the timing of restoring the backup data, the partial restore unit 401 obtains the backup data in parallel from the first and second backup units 211-1 and 211-2 storing the backup data of the database server groups 101 having different server configurations. . The partial restore unit 401 configures the first to seventh partial servers 411-1 to 7-7 in correspondence with the configurations of the servers 111 and 112 at each backup timing when the backup unit 201 backs up data. Then, the partial restore unit 401 individually restores (partial restore) backup data in each partial server 411.

図17に示すように、部分リストア手段401によって部分リストアされたKVペアは、第1処理手段501及び第2処理手段601によって処理され、第2データベースサーバ群701にリストアされる。第4の実施形態においては、第1’〜第8’サーバ711−1〜8にKVペアが振り分けられる。   As shown in FIG. 17, the KV pair partially restored by the partial restore unit 401 is processed by the first processing unit 501 and the second processing unit 601 and restored to the second database server group 701. In the fourth embodiment, KV pairs are allocated to the first 'to eighth' servers 711-1 to 8.

以上の、本発明の第4の実施形態に係る分散型データ処理システムにおいては、あるキー(KEY)を持つKVペアの格納先が第1リデュース処理で対応付けられるため、バックアップ時のサーバ構成に依存せずにリストアすることが可能となる。   In the distributed data processing system according to the fourth embodiment of the present invention, the storage destination of the KV pair having a certain key (KEY) is associated with the first reduce process, so that the server configuration at the time of backup is It is possible to restore without depending on it.

以上、実施形態を参照して本発明を説明してきたが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。   Although the present invention has been described with reference to the embodiments, the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.

上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
分散型キーバリューストア環境でバックアップされた更新順序を判別するための更新情報を持つデータをリストアするデータ処理システムであって、
第1データベースサーバ群を構成する少なくとも一つのサーバに格納された前記データの値と、前記データを区別するキーとをペアで含むキーバリューペアを世代毎にバックアップするバックアップ手段と、
世代毎にバックアップされた前記キーバリューペアを少なくとも一つ読み出し、読み出された少なくとも一つの前記キーバリューペアを前記キーで集約することによって第1のキーバリューペア群を形成させ、前記第1のキーバリューペア群から最新の更新情報を持つ前記キーバリューペアを一つ選択し、選択された前記最新の更新情報を持つキーバリューペアをレプリケーション数に応じて複製し、複製された前記キーバリューペアを所定のノード識別子に従って出力する出力手段と、を備えることを特徴とするデータ処理システム。
(付記2)
前記バックアップ手段は、
前記第1データベースサーバ群を構成する前記サーバに格納された前記データが更新された際に、更新された前記データを含む前記キーバリューペアを差分バックアップすることを特徴とする付記1に記載のデータ処理システム。
(付記3)
前記バックアップ手段は、
前記第1データベースサーバ群を構成する前記サーバに格納された前記データが更新された際に、更新された前記データを含む前記キーバリューペアを増分バックアップすることを特徴とする付記1又は2に記載のデータ処理システム。
(付記4)
前記出力手段は、
前記世代毎にバックアップされたキーバリューペアを前記バックアップ手段から受信し、受信した前記世代毎にバックアップされたキーバリューペアを世代毎にリストアする部分リストア手段を備え、
前記部分リストア手段は、
前記世代毎にバックアップされたキーバリューペアを、前記第1データベースサーバ群を構成する前記サーバ毎にリストアする部分サーバを少なくとも一つ有することを特徴とする付記1乃至3のいずれか一項に記載のデータ処理システム。
(付記5)
前記出力手段は、
前記複製されたキーバリューペアを前記ノード毎に集約して出力することを特徴とする付記1乃至4のいずれか一項に記載のデータ処理システム。
(付記6)
前記出力手段は、
リストアされた少なくとも一つの前記キーバリューペアを並列で読み出す第1マップ処理部と、
前記第1マップ処理部によって読み出された前記キーバリューペアを前記キーによって集約した第1のキーバリューペア群を形成させる第1シャッフル処理部と、
前記第1シャッフル部によって形成された前記第1のキーバリューペア群を構成する前記キーバリューペアのうち最新の更新情報を持つ前記キーバリューペアを一つ選択し、前記選択されたキーバリューペアをレプリケーション数に応じて複製し、前記複製されたキーバリューペアの全てに前記ノード識別子を付与して一時的キーバリューペアを作製し、同一の前記キーを持つ少なくとも一つの前記一時的キーバリューペアを集約し、集約した少なくとも一つの前記一時的キーバリューペアを第1の一時的キーバリューペア群として出力する第1リデュース処理部と、
前記第1リデュース処理部によって出力された前記第1の一時的キーバリューペア群を構成する少なくとも一つの前記一時的キーバリューペアを並列で読み出す第2マップ処理部と、
前記第2マップ処理部によって読み出された前記一時的キーバリューペアを前記ノード識別子によって集約して第2の一時的キーバリューペア群を形成させる第2シャッフル処理部と、
前記第2シャッフル処理部によって形成された前記第2の一時的キーバリューペア群を構成する前記一時的キーバリューペアから前記ノード識別子を削除し、前記第2の一時的キーバリューペア群を構成していた少なくとも一つの前記キーバリューペアを前記ノード識別子毎に集約して第2のキーバリューペア群とし、第2データベースサーバ群を構成するサーバに対して前記第2のキーバリューペア群を前記ノード識別子に従って出力する第2リデュース処理部と、を有することを特徴とする付記1乃至5のいずれか一項に記載のデータ処理システム。
(付記7)
前記第1データベースサーバ群がサーバ構成を変更した際に、
前記バックアップ手段は、
前記第1データベースサーバ群のサーバ構成の変更に応じて、前記キーバリューペアを前記更新情報に対応させてバックアップする付記1乃至6のいずれか一項に記載のデータ処理システム。
(付記8)
前記出力手段は、特定のアルゴリズムに従って、前記複製されたキーバリューペアに前記ノード識別子を付与することを特徴とする付記1乃至7のいずれか一項に記載のデータ処理システム。
(付記9)
前記出力手段は、
前記更新情報として、前記データに含まれる更新時間を用いることを特徴とする付記1乃至8のいずれか一項に記載のデータ処理システム。
(付記10)
前記バックアップ手段は、
バックアップが実行されたタイミングに関する情報を前記データに付加し、
前記出力手段は、
前記更新情報として、前記バックアップが実行されたタイミングに関する情報を用いることを特徴とする付記1乃至9のいずれか一項に記載のデータ処理システム。
(付記11)
分散型キーバリューストア環境でバックアップされた更新順序を判別するための更新情報を持つデータをリストアするデータ処理方法であって、
第1データベースサーバ群を構成する少なくとも一つのサーバに格納された前記データの値と、前記データを区別するキーとをペアで含むキーバリューペアを世代毎にバックアップし、
世代毎にバックアップされた前記キーバリューペアを少なくとも一つ読み出し、読み出された少なくとも一つの前記キーバリューペアを前記キーで集約することによって第1のキーバリューペア群を形成させ、前記第1のキーバリューペア群から最新の更新情報を持つ前記キーバリューペアを一つ選択し、選択された前記最新の更新情報を持つキーバリューペアをレプリケーション数に応じて複製し、複製された前記キーバリューペアを所定のノード識別子に従って出力することを特徴とするデータ処理方法。
(付記12)
分散型キーバリューストア環境でバックアップされた更新順序を判別するための更新情報を持つデータをリストアするデータ処理プログラムを記録するプログラム記録媒体であって、
第1データベースサーバ群を構成する少なくとも一つのサーバに格納された前記データの値と、前記データを区別するキーとをペアで含むキーバリューペアを世代毎にバックアップする処理と、
世代毎にバックアップされた前記キーバリューペアを少なくとも一つ読み出し、読み出された少なくとも一つの前記キーバリューペアを前記キーで集約することによって第1のキーバリューペア群を形成させ、前記第1のキーバリューペア群から最新の更新情報を持つ前記キーバリューペアを一つ選択し、選択された前記最新の更新情報を持つキーバリューペアをレプリケーション数に応じて複製し、複製された前記キーバリューペアを所定のノード識別子に従って出力する処理とをコンピュータに実行させることを特徴とするデータ処理プログラムを記録するプログラム記録媒体。
A part or all of the above-described embodiment can be described as in the following supplementary notes, but is not limited thereto.
(Appendix 1)
A data processing system for restoring data having update information for determining an update order backed up in a distributed key-value store environment,
Backup means for backing up a key-value pair for each generation including the value of the data stored in at least one server constituting the first database server group and a key for distinguishing the data;
At least one key-value pair backed up for each generation is read, and the first key-value pair group is formed by aggregating at least one read-out key-value pair with the key, and the first key-value pair group is formed. One key-value pair having the latest update information is selected from the key-value pair group, the selected key-value pair having the latest update information is duplicated according to the number of replications, and the duplicated key-value pair A data processing system comprising: output means for outputting the information according to a predetermined node identifier.
(Appendix 2)
The backup means includes
The data according to appendix 1, wherein when the data stored in the server constituting the first database server group is updated, the key-value pair including the updated data is differentially backed up. Processing system.
(Appendix 3)
The backup means includes
The supplementary note 1 or 2, wherein when the data stored in the server constituting the first database server group is updated, the key-value pair including the updated data is incrementally backed up. Data processing system.
(Appendix 4)
The output means includes
Receiving a key-value pair backed up for each generation from the backup means, and comprising a partial restore means for restoring the received key-value pair backed up for each generation for each generation;
The partial restoration means includes
4. The apparatus according to claim 1, further comprising at least one partial server that restores the key-value pair backed up for each generation for each of the servers constituting the first database server group. 5. Data processing system.
(Appendix 5)
The output means includes
The data processing system according to any one of appendices 1 to 4, wherein the duplicated key-value pairs are aggregated and output for each node.
(Appendix 6)
The output means includes
A first map processing unit for reading in parallel at least one restored key-value pair;
A first shuffle processing unit that forms a first key-value pair group in which the key-value pairs read out by the first map processing unit are aggregated by the key;
The key value pair having the latest update information is selected from the key value pairs constituting the first key value pair group formed by the first shuffle unit, and the selected key value pair is selected. Duplicating according to the number of replications, creating a temporary key-value pair by assigning the node identifier to all of the duplicated key-value pairs, and adding at least one temporary key-value pair having the same key A first reduction processing unit that aggregates and outputs the aggregated at least one temporary key-value pair as a first temporary key-value pair group;
A second map processing unit that reads in parallel at least one of the temporary key-value pairs constituting the first temporary key-value pair group output by the first reduce processing unit;
A second shuffle processor that aggregates the temporary key-value pairs read out by the second map processor by the node identifier to form a second temporary key-value pair group;
The node identifier is deleted from the temporary key-value pair that constitutes the second temporary key-value pair group formed by the second shuffle processing unit, and the second temporary key-value pair group is configured. The at least one key-value pair that has been collected is aggregated for each node identifier to form a second key-value pair group, and the second key-value pair group is assigned to the node that constitutes the second database server group. A data processing system according to any one of appendices 1 to 5, further comprising: a second reduction processing unit that outputs in accordance with the identifier.
(Appendix 7)
When the first database server group changes the server configuration,
The backup means includes
The data processing system according to any one of appendices 1 to 6, wherein the key-value pair is backed up corresponding to the update information in accordance with a change in a server configuration of the first database server group.
(Appendix 8)
The data processing system according to any one of appendices 1 to 7, wherein the output unit assigns the node identifier to the duplicated key-value pair according to a specific algorithm.
(Appendix 9)
The output means includes
The data processing system according to any one of appendices 1 to 8, wherein an update time included in the data is used as the update information.
(Appendix 10)
The backup means includes
Adding information about the timing of the backup to the data,
The output means includes
10. The data processing system according to any one of appendices 1 to 9, wherein information regarding a timing at which the backup is executed is used as the update information.
(Appendix 11)
A data processing method for restoring data having update information for determining an update order backed up in a distributed key-value store environment,
Back up a key-value pair for each generation including a pair of a value of the data stored in at least one server constituting the first database server group and a key for distinguishing the data,
At least one key-value pair backed up for each generation is read, and the first key-value pair group is formed by aggregating at least one read-out key-value pair with the key, and the first key-value pair group is formed. One key-value pair having the latest update information is selected from the key-value pair group, the selected key-value pair having the latest update information is duplicated according to the number of replications, and the duplicated key-value pair Is output in accordance with a predetermined node identifier.
(Appendix 12)
A program recording medium for recording a data processing program for restoring data having update information for determining an update order backed up in a distributed key-value store environment,
A process of backing up a key-value pair for each generation including the value of the data stored in at least one server constituting the first database server group and a key for distinguishing the data;
At least one key-value pair backed up for each generation is read, and the first key-value pair group is formed by aggregating at least one read-out key-value pair with the key, and the first key-value pair group is formed. One key-value pair having the latest update information is selected from the key-value pair group, the selected key-value pair having the latest update information is duplicated according to the number of replications, and the duplicated key-value pair A program recording medium for recording a data processing program that causes a computer to execute a process of outputting a program according to a predetermined node identifier.

この出願は、2013年9月11日に出願された日本出願特願2013−188460を基礎とする優先権を主張し、その開示の全てをここに取り込む。   This application claims the priority on the basis of Japanese application Japanese Patent Application No. 2013-188460 for which it applied on September 11, 2013, and takes in those the indications of all here.

1 分散型データ処理システム
5 中央演算処理装置
6 ROM
7 RAM
8 記憶装置
9 入出力装置
10 第1データベースサーバ群
11 サーバ
20 バックアップ手段
21 バックアップ部
30 データリストア装置
40 部分リストア手段
41 部分サーバ
50 第1処理手段
51 第1マップ処理部
53 第1シャッフル処理部
55 第1リデュース処理部
60 第2処理手段
61 第2マップ処理部
63 第2シャッフル処理部
65 第2リデュース処理部
70 第2データベースサーバ群
1 Distributed Data Processing System 5 Central Processing Unit 6 ROM
7 RAM
8 Storage Device 9 Input / Output Device 10 First Database Server Group 11 Server 20 Backup Unit 21 Backup Unit 30 Data Restore Device 40 Partial Restore Unit 41 Partial Server 50 First Processing Unit 51 First Map Processing Unit 53 First Shuffle Processing Unit 55 First reduction processing unit 60 Second processing means 61 Second map processing unit 63 Second shuffle processing unit 65 Second reduction processing unit 70 Second database server group

Claims (10)

分散型キーバリューストア環境でバックアップされた更新順序を判別するための更新情報を持つデータをリストアするデータ処理システムであって、
第1データベースサーバ群を構成する少なくとも一つのサーバに格納された前記データの値と、前記データを区別するキーとをペアで含むキーバリューペアを世代毎にバックアップするバックアップ手段と、
世代毎にバックアップされた前記キーバリューペアを少なくとも一つ読み出し、読み出された少なくとも一つの前記キーバリューペアを前記キーで集約することによって第1のキーバリューペア群を形成させ、前記第1のキーバリューペア群から最新の更新情報を持つ前記キーバリューペアを一つ選択し、選択された前記最新の更新情報を持つキーバリューペアをレプリケーション数に応じて複製し、複製された前記キーバリューペアを格納先となるサーバのノード識別子に従って出力する出力手段と、を備えることを特徴とするデータ処理システム。
A data processing system for restoring data having update information for determining an update order backed up in a distributed key-value store environment,
Backup means for backing up a key-value pair for each generation including the value of the data stored in at least one server constituting the first database server group and a key for distinguishing the data;
At least one key-value pair backed up for each generation is read, and the first key-value pair group is formed by aggregating at least one read-out key-value pair with the key, and the first key-value pair group is formed. One key-value pair having the latest update information is selected from the key-value pair group, the selected key-value pair having the latest update information is duplicated according to the number of replications, and the duplicated key-value pair Output means for outputting according to the node identifier of the server as the storage destination.
前記バックアップ手段は、
前記第1データベースサーバ群を構成する前記サーバに格納された前記データが更新された際に、更新された前記データを含む前記キーバリューペアを差分バックアップすることを特徴とする請求項1に記載のデータ処理システム。
The backup means includes
The differential backup of the key-value pair including the updated data is performed when the data stored in the server constituting the first database server group is updated. Data processing system.
前記バックアップ手段は、
前記第1データベースサーバ群を構成する前記サーバに格納された前記データが更新された際に、更新された前記データを含む前記キーバリューペアを増分バックアップすることを特徴とする請求項1又は2に記載のデータ処理システム。
The backup means includes
3. The key-value pair including the updated data is incrementally backed up when the data stored in the server constituting the first database server group is updated. The data processing system described.
前記出力手段は、
前記世代毎にバックアップされたキーバリューペアを前記バックアップ手段から受信し、受信した前記世代毎にバックアップされたキーバリューペアを世代毎にリストアする部分リストア手段を備え、
前記部分リストア手段は、
前記世代毎にバックアップされたキーバリューペアを、前記第1データベースサーバ群を構成する前記サーバ毎にリストアする部分サーバを少なくとも一つ有することを特徴とする請求項1乃至3のいずれか一項に記載のデータ処理システム。
The output means includes
Receiving a key-value pair backed up for each generation from the backup means, and comprising a partial restore means for restoring the received key-value pair backed up for each generation for each generation;
The partial restoration means includes
4. The apparatus according to claim 1, further comprising at least one partial server that restores the key-value pair backed up for each generation for each of the servers constituting the first database server group. 5. The data processing system described.
前記出力手段は、
前記複製されたキーバリューペアを前記ノード識別子毎に集約して出力することを特徴とする請求項1乃至4のいずれか一項に記載のデータ処理システム。
The output means includes
5. The data processing system according to claim 1, wherein the duplicated key-value pairs are aggregated and output for each node identifier.
前記出力手段は、
リストアされた少なくとも一つの前記キーバリューペアを並列で読み出す第1マップ処理部と、
前記第1マップ処理部によって読み出された前記キーバリューペアを前記キーによって集約した第1のキーバリューペア群を形成させる第1シャッフル処理部と、
前記第1シャッフル処理部によって形成された前記第1のキーバリューペア群を構成する前記キーバリューペアのうち最新の更新情報を持つ前記キーバリューペアを一つ選択し、前記選択されたキーバリューペアをレプリケーション数に応じて複製し、前記複製されたキーバリューペアの全てに前記ノード識別子を付与して一時的キーバリューペアを作製し、同一の前記キーを持つ少なくとも一つの前記一時的キーバリューペアを集約し、集約した少なくとも一つの前記一時的キーバリューペアを第1の一時的キーバリューペア群として出力する第1リデュース処理部と、
前記第1リデュース処理部によって出力された前記第1の一時的キーバリューペア群を構成する少なくとも一つの前記一時的キーバリューペアを並列で読み出す第2マップ処理部と、
前記第2マップ処理部によって読み出された前記一時的キーバリューペアを前記ノード識別子によって集約して第2の一時的キーバリューペア群を形成させる第2シャッフル処理部と、
前記第2シャッフル処理部によって形成された前記第2の一時的キーバリューペア群を構成する前記一時的キーバリューペアから前記ノード識別子を削除し、前記第2の一時的キーバリューペア群を構成していた少なくとも一つの前記キーバリューペアを前記ノード識別子毎に集約して第2のキーバリューペア群とし、第2データベースサーバ群を構成するサーバに対して前記第2のキーバリューペア群を前記ノード識別子に従って出力する第2リデュース処理部と、を有することを特徴とする請求項1乃至5のいずれか一項に記載のデータ処理システム。
The output means includes
A first map processing unit for reading in parallel at least one restored key-value pair;
A first shuffle processing unit that forms a first key-value pair group in which the key-value pairs read out by the first map processing unit are aggregated by the key;
The key value pair having the latest update information is selected from the key value pairs constituting the first key value pair group formed by the first shuffle processing unit, and the selected key value pair is selected. According to the number of replications, and assigning the node identifier to all of the duplicated key-value pairs to create a temporary key-value pair, and at least one temporary key-value pair having the same key A first reduction processing unit that outputs the aggregated at least one temporary key-value pair as a first temporary key-value pair group;
A second map processing unit that reads in parallel at least one of the temporary key-value pairs constituting the first temporary key-value pair group output by the first reduce processing unit;
A second shuffle processor that aggregates the temporary key-value pairs read out by the second map processor by the node identifier to form a second temporary key-value pair group;
The node identifier is deleted from the temporary key-value pair that constitutes the second temporary key-value pair group formed by the second shuffle processing unit, and the second temporary key-value pair group is configured. The at least one key-value pair that has been collected is aggregated for each node identifier to form a second key-value pair group, and the second key-value pair group is assigned to the node that constitutes the second database server group. The data processing system according to claim 1, further comprising: a second reduction processing unit that outputs according to the identifier.
前記第1データベースサーバ群がサーバ構成を変更した際に、
前記バックアップ手段は、
前記第1データベースサーバ群のサーバ構成の変更に応じて、前記キーバリューペアを前記更新情報に対応させてバックアップする請求項1乃至6のいずれか一項に記載のデータ処理システム。
When the first database server group changes the server configuration,
The backup means includes
The data processing system according to any one of claims 1 to 6, wherein the key-value pair is backed up corresponding to the update information in accordance with a change in a server configuration of the first database server group.
前記出力手段は、特定のアルゴリズムに従って、前記複製されたキーバリューペアに前記ノード識別子を付与することを特徴とする請求項1乃至7のいずれか一項に記載のデータ処理システム。   8. The data processing system according to claim 1, wherein the output unit assigns the node identifier to the duplicated key-value pair according to a specific algorithm. 分散型キーバリューストア環境でバックアップされた更新順序を判別するための更新情報を持つデータをリストアするデータ処理方法であって、
バックアップ手段が、第1データベースサーバ群を構成する少なくとも一つのサーバに格納された前記データの値と、前記データを区別するキーとをペアで含むキーバリューペアを世代毎にバックアップし、
出力手段が、世代毎にバックアップされた前記キーバリューペアを少なくとも一つ読み出し、読み出された少なくとも一つの前記キーバリューペアを前記キーで集約することによって第1のキーバリューペア群を形成させ、前記第1のキーバリューペア群から最新の更新情報を持つ前記キーバリューペアを一つ選択し、選択された前記最新の更新情報を持つキーバリューペアをレプリケーション数に応じて複製し、複製された前記キーバリューペアを格納先となるサーバのノード識別子に従って出力することを特徴とするデータ処理方法。
A data processing method for restoring data having update information for determining an update order backed up in a distributed key-value store environment,
A backup means backs up a key-value pair including a value of the data stored in at least one server constituting the first database server group and a key for distinguishing the data in pairs for each generation,
The output means reads at least one key-value pair backed up for each generation, and aggregates at least one read-out key-value pair with the key to form a first key-value pair group, One key-value pair having the latest update information is selected from the first key-value pair group, and the selected key-value pair having the latest update information is replicated according to the number of replications. A data processing method comprising: outputting the key-value pair according to a node identifier of a server as a storage destination.
分散型キーバリューストア環境でバックアップされた更新順序を判別するための更新情報を持つデータをリストアするデータ処理プログラムであって、
第1データベースサーバ群を構成する少なくとも一つのサーバに格納された前記データの値と、前記データを区別するキーとをペアで含むキーバリューペアを世代毎にバックアップする処理と、
世代毎にバックアップされた前記キーバリューペアを少なくとも一つ読み出し、読み出された少なくとも一つの前記キーバリューペアを前記キーで集約することによって第1のキーバリューペア群を形成させ、前記第1のキーバリューペア群から最新の更新情報を持つ前記キーバリューペアを一つ選択し、選択された前記最新の更新情報を持つキーバリューペアをレプリケーション数に応じて複製し、複製された前記キーバリューペアを格納先となるサーバのノード識別子に従って出力する処理とをコンピュータに実行させることを特徴とするデータ処理プログラム。
A data processing program for restoring data having update information for determining an update order backed up in a distributed key-value store environment,
A process of backing up a key-value pair for each generation including the value of the data stored in at least one server constituting the first database server group and a key for distinguishing the data;
At least one key-value pair backed up for each generation is read, and the first key-value pair group is formed by aggregating at least one read-out key-value pair with the key, and the first key-value pair group is formed. One key-value pair having the latest update information is selected from the key-value pair group, the selected key-value pair having the latest update information is duplicated according to the number of replications, and the duplicated key-value pair A data processing program for causing a computer to execute a process of outputting a message according to a node identifier of a server as a storage destination.
JP2015536443A 2013-09-11 2014-09-01 Data processing system, data processing method, and data processing program Expired - Fee Related JP6197872B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013188460 2013-09-11
JP2013188460 2013-09-11
PCT/JP2014/004469 WO2015037205A1 (en) 2013-09-11 2014-09-01 Data processing system, data processing method, and program recording medium

Publications (2)

Publication Number Publication Date
JPWO2015037205A1 JPWO2015037205A1 (en) 2017-03-02
JP6197872B2 true JP6197872B2 (en) 2017-09-20

Family

ID=52665337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015536443A Expired - Fee Related JP6197872B2 (en) 2013-09-11 2014-09-01 Data processing system, data processing method, and data processing program

Country Status (2)

Country Link
JP (1) JP6197872B2 (en)
WO (1) WO2015037205A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6967870B2 (en) * 2017-04-13 2021-11-17 ヤフー株式会社 Database linkage system, database linkage method, and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4861286B2 (en) * 2007-10-02 2012-01-25 日本電信電話株式会社 Data backup method, restoration processing device, program, and recording medium
US9323775B2 (en) * 2010-06-19 2016-04-26 Mapr Technologies, Inc. Map-reduce ready distributed file system
JP2012221419A (en) * 2011-04-13 2012-11-12 Hitachi Ltd Information storage system and data duplication method thereof

Also Published As

Publication number Publication date
JPWO2015037205A1 (en) 2017-03-02
WO2015037205A1 (en) 2015-03-19

Similar Documents

Publication Publication Date Title
CN111031096B (en) Distributed storage system construction method based on mimicry defense
CN106815218B (en) Database access method and device and database system
CN107430603B (en) System and method for massively parallel processing of databases
CN108073656A (en) A kind of method of data synchronization and relevant device
CN106843745A (en) Capacity expansion method and device
EP3745269B1 (en) Hierarchical fault tolerance in system storage
JP2010191558A (en) Storage system
WO2016180049A1 (en) Storage management method and distributed file system
JP6288596B2 (en) Data processing method and apparatus
JP6440773B2 (en) Data replication method and apparatus
WO2011100366A2 (en) System and method for managing replicas of objects in a distributed storage system
CN102833273B (en) Data recovery method and distributed cache system during temporary derangement
CN109561151A (en) Date storage method, device, server and storage medium
CN107038192B (en) Database disaster tolerance method and device
CN112015591A (en) Log management method, server and database system
JP6197872B2 (en) Data processing system, data processing method, and data processing program
CN116303789A (en) Parallel synchronization method and device for multi-fragment multi-copy database and readable medium
WO2018169040A1 (en) Difference management device, storage system, difference management method, and program
Noor et al. Survey on replication techniques for distributed system
Jiang et al. MyStore: A high available distributed storage system for unstructured data
KR101748913B1 (en) Cluster management method and data storage system for selecting gateway in distributed storage environment
JP6637258B2 (en) Storage system migration method and program
JP6853506B2 (en) Storage system, data sorting method and program
JP2015201027A (en) Node and program
CN115878046B (en) Data processing method, system, device, storage medium and electronic equipment

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170509

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170706

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170725

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170807

R150 Certificate of patent or registration of utility model

Ref document number: 6197872

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees