WO2014069007A1 - 記憶装置およびデータバックアップ方法 - Google Patents

記憶装置およびデータバックアップ方法 Download PDF

Info

Publication number
WO2014069007A1
WO2014069007A1 PCT/JP2013/056682 JP2013056682W WO2014069007A1 WO 2014069007 A1 WO2014069007 A1 WO 2014069007A1 JP 2013056682 W JP2013056682 W JP 2013056682W WO 2014069007 A1 WO2014069007 A1 WO 2014069007A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
backup
distributed database
storage device
communication
Prior art date
Application number
PCT/JP2013/056682
Other languages
English (en)
French (fr)
Inventor
明文 村田
Original Assignee
株式会社 東芝
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 株式会社 東芝 filed Critical 株式会社 東芝
Priority to EP13750838.8A priority Critical patent/EP2916230A1/en
Priority to US14/015,550 priority patent/US20140122433A1/en
Publication of WO2014069007A1 publication Critical patent/WO2014069007A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Definitions

  • the embodiment of the present invention relates to a data backup technique suitable for a distributed database, for example.
  • a distributed database is a storage system that improves data write / read performance by distributing data to multiple nodes and increasing parallelism.
  • a host machine that requests data writing / reading to / from the distributed database is not conscious of each node constituting the distributed database.
  • a machine that requests writing / reading of data to / from the distributed database is referred to as a host machine, and does not represent a machine that manages the distributed database.
  • any host machine performs data backup of a distributed database.
  • a large amount of data reading is requested from the host machine to the distributed database, and within the distributed database, each node executes data reading processing all at once.
  • the data communication path between this host machine and the distributed database that is, between the host machine and multiple nodes (connected in parallel) becomes a bottleneck, and the performance of the distributed database is limited during data backup. It was.
  • the storage device is applied to a distributed database.
  • the storage device includes communication means and backup means.
  • the backup means when the communication means receives a data backup command of the distributed database, partitioning information indicating the arrangement of each partition created by dividing the storage area of the entire distributed database, and for the distributed database The data stored in the storage device is backed up in the storage device.
  • FIG. 3 is a diagram for explaining a mechanism for preventing performance degradation due to backup provided in the storage device of the embodiment.
  • 6 is an exemplary flowchart illustrating a data backup procedure in a distributed database to which the storage device according to the embodiment is applied as a node.
  • 6 is an exemplary flowchart illustrating a procedure for writing / reading data in a distributed database to which the storage device according to the embodiment is applied as a node.
  • FIG. 1 is a diagram showing a construction example of a distributed database 1 in which the storage device of the present embodiment is applied as a node 10.
  • the distributed database 1 includes a plurality of nodes 10 connected to the data communication path A.
  • any one of the plurality of nodes 10 becomes a master to control the entire distributed database 1
  • the plurality of nodes 10 are preliminarily in an equivalent position.
  • Various methods can be adopted such as operating independently as a member of the distributed database 1 in accordance with defined rules, (c) providing an upper node for controlling the entire distributed database 1 separately from the plurality of nodes 10.
  • the data backup mechanism described later is not limited to any method.
  • each node 10 receives a request from the host machine, determines whether the data is data held in its own node, and determines whether the data is data held in its own node. One node 10 executes the reading process.
  • the request from the host machine is accepted by the upper node, and the node 10 holding the data is determined and transmitted to the node 10.
  • the node 10 includes a communication & I / O controller 11, a storage device 12, and a cache memory 13.
  • the communication & I / O controller 11 is a device that controls the node 10.
  • the communication & I / O controller 11 has a function of executing communication with other nodes 10.
  • Each node 10 has status information and partitioning information of the entire distributed database 1, and these information are synchronized in the distributed database 1 by the communication function of the communication & I / O controller 11.
  • the partitioning information is information indicating on which node 10 each partition created by dividing the storage area of the entire distributed database 1 is arranged.
  • the communication & I / O controller 11 has a function of controlling data input / output with respect to the storage device 12 and the cache memory 13.
  • the communication & I / O controller 11 executes data writing / reading with respect to the storage device 12 while using the cache memory 13 as a cache. For the data write, the communication & I / O controller 11 writes back the response of writing completion when the data is written to the cache memory 13, and writes through the response of writing completion when the data is written to the storage device 12. Either of these is possible. Further, the communication & I / O controller 11 has a special mode for executing data writing / reading with respect to the storage device 12 without changing the contents on the cache memory 13.
  • the storage area 100 is a storage area of the node 10 constituted by the storage device 12 and the cache memory 13.
  • a data area 101 for the distributed database 1 is secured in the storage area 100 of the node 10, and the above-described partitioning information 102 and status information 103 are held.
  • the communication & I / O controller 11 executes access to the data area 101 in response to a data write / read request (I / O request) issued by the host machine based on the partitioning information 102.
  • a certain host machine issues a data backup request (backup request) for the distributed database 1.
  • a data backup request for the distributed database 1.
  • the data backup request is accepted by the master node 10, and then the communication & I / O controller 11. Is transmitted to the other nodes 10 in the distributed database 1.
  • the communication & I / O controller 11 When receiving the data backup request, in each node 10, the communication & I / O controller 11 first updates the status information 103 from the operating state to the backup state.
  • the distributed database 1 When a data write / read request is received during data backup (for example, from a host machine different from the host machine that issued the data backup request), the distributed database 1 immediately executes the data read. On the other hand, data writing is executed after the backup is completed.
  • the communication & I / O controller 11 acquires a backup of the data area 101 in the storage area 100 of the own node 10 based on the partitioning information 102 (reference numeral 111 in FIG. 2). . At this time, the communication & I / O controller 11 also acquires a backup of the partitioning information 102 in the storage area 100 of the own node 10 (reference numeral 112 in FIG. 2). The communication & I / O controller 11 may perform data compression when backing up the data area 101. By this backup of the data area 101 and the backup of the partitioning information 102, a backup file (which stores reference numerals 111 and 112 in FIG. 2) is created in each node 10.
  • the communication & I / O controller 11 has a function of executing communication with other nodes 10.
  • the communication & I / O controller 11 confirms the backup completion of all the nodes 10 in the distributed database 1 by this communication function, it adds the status information of the backup completion to the backup file.
  • the communication & I / O controller 11 confirms that the backup completion status information has been added to the backup file in all the nodes 10 in the distributed database 1, the communication & I / O controller 11 updates the status information 103 from the backup state to the operating state.
  • the backup completion status information is added, it is possible to determine that the backup file is a valid file.
  • each node 10 backs up the data area 101 for the distributed database 1 and the partitioning information 102 in the storage area 100 in the own node 10.
  • the backup of the entire distributed database 1 can be acquired. Since it is not necessary to transfer backup data using the data communication path A, the data communication path A does not become a bottleneck. Therefore, the data backup of the distributed database 1 can be speeded up. Needless to say, the communication & I / O controller 11 has a restore function for restoring the node 10 to the state at the time of backup using the backed up data.
  • a certain host machine issues a recovery request for distributed database 1 using a backup file.
  • the recovery request is accepted by the master node 10, and then the communication & I / O controller 11.
  • the data is transmitted to other nodes 10 in the distributed database 1 by the communication function.
  • each node 10 When the recovery request is received, in each node 10, the communication & I / O controller 11 updates the status information 103 from the operating state to the maintenance state. During this maintenance state, the integrity of the backup file (managed by each node 10) is confirmed as the entire distributed database 1. More specifically, it is confirmed that the backup completion status information is added to the backup file of each node 10 and that all the nodes 10 described in the partitioning information 102 exist.
  • the communication & I / O controller 11 of each node 10 updates the status information 103 to the recovering state, and starts reading data from the backup file.
  • the communication & I / O controller 11 of each node 10 updates the status information 103 to the operating state, and The node 10 that has become resumes accepting the data access request from the host machine.
  • the restore function of the communication & I / O controller 11 can also restore the node 10 using backup data input externally, such as backup data stored on a magnetic tape.
  • the data write request may be processed when backup of all the nodes 10 in the distributed database 1 is completed. Even before the backup of all the nodes 10 is completed, the specification of processing the data write request may be made for the node 10 for which the backup to the own node 10 has been completed.
  • the cache memory 13 used as the cache of the storage device 12 normally stores new data of the request among the data written in the storage device 12 and the data read from the storage device 12.
  • the communication & I / O controller 11 manages the cache memory 13 to store newly requested data instead of the oldest requested data (cache out).
  • the cache memory 13 is filled with a large amount of data read / written for backup. That is, since most of the data before backup is cached out, the performance of the distributed database 1 immediately after backup temporarily decreases.
  • the storage device has a mechanism for preventing performance degradation due to backup.
  • FIG. 3 is a diagram for explaining a mechanism for preventing performance degradation due to backup provided in the storage device of the embodiment.
  • a cache area 150 is an area corresponding to the cache memory 13 in the storage area 100 of the node 10.
  • the communication & I / O controller 11 has a special mode in which data is written to and read from the storage device 12 without changing the contents on the cache memory 13. Then, the communication & I / O controller 11 executes data reading and data writing from the storage device 12 for backup in this special mode (a2 in FIG. 3).
  • the cache memory 13 is maintained in the state before the backup, it is possible to prevent the performance of the distributed database 1 immediately after the backup from being temporarily lowered.
  • the method relating to the handling of the cache memory 13 is not limited to the case where it is applied to the distributed database 1 as the node 10, but is also useful when acquiring a backup when used alone.
  • the cache memory 13 is handled by positioning the backup acquired in each node 10 as a temporary backup, sequentially reading the backup acquired in each node 10, For example, in the case of operation such as storage on a magnetic tape, it can be applied when reading backup data. That is, when the communication & I / O controller 11 receives a backup data read request, the communication & I / O controller 11 executes the backup data read in the special mode.
  • FIG. 4 is a flowchart showing a data backup procedure in the distributed database 1 in which the storage device of the present embodiment is applied as the node 10.
  • the communication & I / O controller 11 of each node 10 in the distributed database 1 first sets the status information 103 to “in backup” (block A1).
  • the communication & I / O controller 11 acquires a backup of the data area 101 (in a special mode that does not change the cache) (block A2).
  • the communication & I / O controller 11 also acquires a backup of the partitioning information 102 (in a special mode that does not change the cache) (block A3).
  • the communication & I / O controller 11 checks whether or not the backup has been completed for all the nodes 10 in the distributed database 1 (block A4), and confirms the backup completion for all the nodes 10 (YES in block A4). Is set to “operation” (block A5).
  • FIG. 5 is a flowchart showing a data write / read procedure in the distributed database 1 to which the storage device of the embodiment is applied as the node 10.
  • the communication & I / O controller 11 of each node 10 in the distributed database 1 first checks whether or not the status information 103 indicates “operation” (block B1). When “operation” is indicated (YES in block B1), the communication & I / O controller 11 executes writing / reading of the requested data (using the cache as usual) (block B2).
  • the communication & I / O controller 11 checks whether or not the request is data reading (block B3). In the case of data reading (YES in block B3), the communication & I / O controller 11 reads the requested data (using the cache as usual) (block B4). In the case of data writing (NO in block B3), the communication & I / O controller 11 checks whether backup in the own node 10 is completed (block B5).
  • the communication & I / O controller 11 If the backup has been completed (YES in block B5), the communication & I / O controller 11 writes the requested data (using the cache as usual) (block B6). If not completed (NO in block B5), the communication & I / O controller 11 waits for completion of backup, and executes writing of the requested data after completion of backup.
  • the storage device of the present embodiment it is possible to perform data backup of a distributed database at high speed.

Abstract

 実施形態によれば、記憶装置は、分散データベースに適用される。記憶装置は、通信手段と、バックアップ手段と、を具備する。前記バックアップ手段は、前記分散データベースのデータバックアップ命令を前記通信手段が受信した場合、前記分散データベース全体の記憶領域を区分けして作成される各パーティションの配置を示すパーティショニング情報と、前記分散データベース用に記憶するデータとを、前記記憶装置内においてバックアップする。

Description

記憶装置およびデータバックアップ方法
 本発明の実施形態は、例えば分散データベースに好適なデータバックアップ技術に関する。
 データを大量に格納し、かつ、データの書き込み/読み出しを高速に処理するためのストレージシステムが種々開発されている。この種のストレージシステムにおいては、データを保全するためのデータバックアップが非常に重要である。
特開2004-13367号公報
 分散データベースは、複数のノードにデータを分散し、並列度を上げることで、データの書き込み/読み出しの性能を向上させるストレージシステムである。通常、分散データベースに対してデータの書き込み/読み出しを要求するホストマシンは、分散データベースを構成する各ノードを意識することはない。なお、ここでは、分散データベースに対してデータの書き込み/読み出しを要求するマシンをホストマシンと称しており、分散データベースの管理を司るマシンを表すものではない。
 ここで、いずれかのホストマシンが、分散データベースのデータバックアップを実行する場合を考える。この場合、このホストマシンから分散データベースに対してデータの読み出しが大量に要求されることになり、分散データベース内部では、各ノードが一斉にデータの読み出し処理を実行することになる。その結果、このホストマシンと分散データベースとの間、つまり、ホストマシンと(並列接続された)複数のノードとの間のデータ通信路がボトルネックとなり、データバックアップ時には、分散データベースの性能が限定されてしまっていた。
 実施形態によれば、記憶装置は、分散データベースに適用される。記憶装置は、通信手段と、バックアップ手段と、を具備する。前記バックアップ手段は、前記分散データベースのデータバックアップ命令を前記通信手段が受信した場合、前記分散データベース全体の記憶領域を区分けして作成される各パーティションの配置を示すパーティショニング情報と、前記分散データベース用に記憶するデータとを、前記記憶装置内においてバックアップする。
実施形態の記憶装置をノードとして適用した分散データベースの一構築例を示す図。 実施形態の記憶装置をノードとして適用した分散データベースにおけるデータバックアップの基本原理について説明するための図。 実施形態の記憶装置が備えるバックアップに起因したパフォーマンスの低下を防止する仕組みを説明するための図。 実施形態の記憶装置をノードとして適用した分散データベースにおけるデータバックアップの手順を示すフローチャート。 実施形態の記憶装置をノードとして適用した分散データベースにおけるデータの書き込み/読み出しの手順を示すフローチャート。
 以下、実施の形態について図面を参照して説明する。
 図1は、本実施形態の記憶装置をノード10として適用した分散データベース1の一構築例を示す図である。図1に示すように、分散データベース1は、データ通信路Aに接続された複数のノード10によって構成される。なお、分散データベース1の構成方法として、(a)複数のノード10の中のいずれか1つがマスタとなって分散データベース1全体の制御を司る、(b)複数のノード10が同等の立場で予め定められた規則に沿って分散データベース1の一員として自立的に動作する、(c)複数のノード10とは別に分散データベース1全体の制御を司る上位ノードを設ける等、種々の方法を採用し得るが、後述するデータバックアップの仕組みは、いずれの方法にも限定されない。
 いま、分散データベース1に対してホストマシンからデータの読み出しが要求されたと想定する。上記(a)の場合、ホストマシンからの要求は、マスタとなっているノード10によって受け付けられ、そのデータを保持するノード10が判断されて、(自ノードでなければ)該ノード10に伝達される。上記(b)の場合、各ノード10が、ホストマシンからの要求を受け付け、そのデータが自ノードに保持されるデータか否かを判断し、自ノードに保持されるデータであると判断したいずれか1つのノード10が、その読み出し処理を実行する。また、上記(c)の場合、ホストマシンからの要求は、上位ノードによって受け付けられ、そのデータを保持するノード10が判断されて、該ノード10に伝達される。
 また、図1に示すように、ノード10は、通信&I/Oコントローラ11、ストレージデバイス12およびキャッシュメモリ13を具備している。通信&I/Oコントローラ11は、ノード10の制御を司るデバイスであり、第1に、他のノード10との間の通信を実行する機能を有する。
 各ノード10は、分散データベース1全体のステータス情報やパーティショニング情報を保有しており、通信&I/Oコントローラ11の通信機能により、これらの情報を分散データベース1内において同期させている。パーティショニング情報は、分散データベース1全体の記憶領域を区分けして作成される各パーティションがどのノード10に配置されているかを示す情報である。
 また、通信&I/Oコントローラ11は、第2に、ストレージデバイス12およびキャッシュメモリ13に対するデータ入出力を制御する機能を有する。
 より具体的には、通信&I/Oコントローラ11は、キャッシュメモリ13をキャッシュとして利用しながらストレージデバイス12に対するデータの書き込み/読み出しを実行する。通信&I/Oコントローラ11は、データの書き込みについて、データがキャッシュメモリ13に書き込まれた時点で書き込み完了を回答するライトバック、データがストレージデバイス12に書き込まれた時点で書き込み完了を回答するライトスルーのいずれも可能である。また、通信&I/Oコントローラ11は、キャッシュメモリ13上の内容を変化させずにストレージデバイス12に対するデータの書き込み/読み出しを実行する特殊モードを有する。キャッシュメモリ13上の内容を変化させずにストレージデバイス12に対するデータの書き込み/読み出しを実行する方法としては、(a)キャッシュメモリ13を一切利用しない、(b)読み出し対象のデータがキャッシュメモリ13に存在した場合における当該データの読み出し時のみ利用する、等を採用し得る。
 次に、図2を参照して、本実施形態の記憶装置をノード10として適用した分散データベース1におけるデータバックアップの基本原理について説明する。
 図2中、記憶領域100は、ストレージデバイス12とキャッシュメモリ13とによって構成されるノード10の記憶領域である。ノード10の記憶領域100には、分散データベース1用のデータ領域101が確保され、また、前述のパーティショニング情報102およびステータス情報103が保持される。通信&I/Oコントローラ11は、パーティショニング情報102に基づき、ホストマシンが発行するデータの書き込み/読み出し要求(I/Oリクエスト)に応答してデータ領域101に対するアクセスを実行する。
 いま、あるホストマシンが分散データベース1のデータバックアップ要求(バックアップリクエスト)を発行したと想定する。例えば、いずれかのノード10がマスタとなって分散データベース1全体の制御を司っている場合、このデータバックアップ要求は、マスタとなっているノード10によって受け付けられた後、通信&I/Oコントローラ11の通信機能により、分散データベース1内の他のノード10に伝達される。
 データバックアップ要求を受信すると、各ノード10では、通信&I/Oコントローラ11が、まず、ステータス情報103を稼働状態からバックアップ中状態に更新する。なお、データバックアップ中に(例えばデータバックアップ要求を発行したホストマシンとは別のホストマシンから)データの書き込み/読み出し要求を受けた場合、分散データベース1は、データの読み出しについては即時的に実行し、一方、データの書き込みについてはバックアップ完了後に実行する。
 ステータス情報103をバックアップ中状態に更新すると、通信&I/Oコントローラ11は、パーティショニング情報102に基づき、データ領域101のバックアップを自ノード10の記憶領域100内に取得する(図2の符号111)。また、通信&I/Oコントローラ11は、この時、パーティショニング情報102のバックアップも自ノード10の記憶領域100内に取得する(図2の符号112)。通信&I/Oコントローラ11は、データ領域101をバックアップする際、データの圧縮を実行しても良い。このデータ領域101のバックアップおよびパーティショニング情報102のバックアップによって、(図2の符号111,符号112を格納する)バックアップファイルが各ノード10に作成される。
 前述したように、通信&I/Oコントローラ11は、他のノード10との間の通信を実行する機能を有している。通信&I/Oコントローラ11は、この通信機能により、分散データベース1内の全ノード10のバックアップ完了を確認したら、バックアップ完了のステータス情報をバックアップファイルに追記する。そして、通信&I/Oコントローラ11は、分散データベース1内の全ノード10でバックアップ完了のステータス情報がバックアップファイルに追記されたことを確認すると、ステータス情報103をバックアップ中状態から稼働状態に更新する。このバックアップ完了のステータス情報が追記されていることをもって、そのバックアップファイルが有効なファイルであると判断することが可能となる。
 つまり、本実施形態の記憶装置をノード10として適用した分散データベース1においては、各ノード10が、分散データベース1用のデータ領域101とパーティショニング情報102とのバックアップを自ノード10内の記憶領域100内に取得することで、分散データベース1全体のバックアップを取得できる。データ通信路Aを用いたバックアップデータの転送が不要となるので、データ通信路Aがボトルネックとなることがない。よって、分散データベース1のデータバックアップを高速化することが可能となる。言うまでも無く、通信&I/Oコントローラ11は、バックアップしたデータを用いて、ノード10をバックアップ時の状態に復元するリストア機能を有している。
 いま、あるホストマシンがバックアップファイルを用いた分散データベース1の復旧要求を発行したと想定する。例えば、いずれかのノード10がマスタとなって分散データベース1全体の制御を司っている場合、この復旧要求は、マスタとなっているノード10によって受け付けられた後、通信&I/Oコントローラ11の通信機能により、分散データベース1内の他のノード10に伝達される。
 復旧要求を受信すると、各ノード10では、通信&I/Oコントローラ11が、ステータス情報103を稼働状態からメンテナンス状態に更新する。このメンテナンス状態中において、分散データベース1全体として、(各ノード10で管理される)バックアップファイルの完全性が確認される。より具体的には、各ノード10のバックアップファイルにバックアップ完了のステータス情報が追記されていること、パーティショニング情報102に記載されている全ノード10が存在すること、等が確認される。
 バックアップファイルの完全性に問題が無いことが確認できたら、各ノード10の通信&I/Oコントローラ11は、ステータス情報103を復旧中状態に更新し、バックアップファイルからのデータの読み出しを開始する。そして、分散データベース1内の全ノード10でバックアップファイルからのデータの読み出し、つまりデータの復旧が完了したら、各ノード10の通信&I/Oコントローラ11は、ステータス情報103を稼働状態に更新し、マスタとなっているノード10は、ホストマシンからのデータアクセス要求の受け付けを再開する。
 なお、各ノード10内において取得されたバックアップを一時的なバックアップとして位置づけて、当該各ノード10内において取得されたバックアップを順次読み出し、正式なバックアップとして例えば磁気テープで保管するといった運用も可能である。通信&I/Oコントローラ11のリストア機能は、例えば磁気テープで保管されたバックアップデータのような、外部入力されたバックアップデータを用いてノード10を復元することも可能である。
 また、データバックアップ中にデータの書き込み要求を受けた場合、分散データベース1内の全ノード10のバックアップが完了した時点で当該データの書き込み要求を処理する仕様としてもよいし、また、分散データベース1内の全ノード10のバックアップが完了する前であっても、自ノード10内へのバックアップが完了したノード10については当該データの書き込み要求を処理する仕様としてもよい。
 ところで、ストレージデバイス12のキャッシュとして利用されるキャッシュメモリ13には、通常、ストレージデバイス12に書き込まれたデータやストレージデバイス12から読み出されたデータのうち、よりリクエストの新しいデータが格納される。換言すれば、通信&I/Oコントローラ11は、最も古くリクエストされたデータに代えて(キャッシュアウト)新たにリクエストされたデータを格納すべくキャッシュメモリ13を管理する。
 しかしながら、そうすると、分散データベース1のバックアップ後、キャッシュメモリ13には、バックアップのために読み出し/書き込みが行われた大量のデータで埋め尽くされることとなる。即ち、バックアップ前のデータが殆どキャッシュアウトされてしまっているために、バックアップ直後の分散データベース1のパフォーマンスが一時的に低下する。
 そこで、本実施形態の記憶装置は、バックアップに起因したパフォーマンスの低下を防止する仕組みを備える。図3は、実施形態の記憶装置が備えるバックアップに起因したパフォーマンスの低下を防止する仕組みを説明するための図である。
 図3中、キャッシュ領域150は、ノード10の記憶領域100のうち、キャッシュメモリ13に対応する領域である。前述したように、通信&I/Oコントローラ11は、キャッシュメモリ13上の内容を変化させずにストレージデバイス12に対するデータの書き込み/読み出しを実行する特殊モードを有している。そして、通信&I/Oコントローラ11は、バックアップのためのストレージデバイス12からのデータの読み出しおよびデータの書き込みを、この特殊モードで実行する(図3のa2)。
 これにより、キャッシュメモリ13がバックアップ前の状態に維持されるので、バックアップ直後の分散データベース1のパフォーマンスが一時的に低下することを防止することができる。なお、このキャッシュメモリ13の取扱いに関する手法は、分散データベース1にノード10として適用される場合に限定されず、単独で使用されている場合におけるバックアップ取得時にも有用である。
 また、このキャッシュメモリ13の取扱いに関する手法は、前述した、各ノード10内において取得されたバックアップを一時的なバックアップとして位置づけて、当該各ノード10内において取得されたバックアップを順次読み出し、正式なバックアップとして例えば磁気テープで保管するといった運用を行う場合において、バックアップデータの読み出し時に応用することができる。即ち、通信&I/Oコントローラ11は、バックアップデータの読み出し要求を受けた場合、当該バックアップデータの読み出しを、上記特殊モードで実行する。
 図4は、本実施形態の記憶装置をノード10として適用した分散データベース1におけるデータバックアップの手順を示すフローチャートである。
 分散データベース1内の各ノード10の通信&I/Oコントローラ11は、まず、ステータス情報103を“バックアップ中”に設定する(ブロックA1)。ステータス情報103を“バックアップ中”に設定したら、通信&I/Oコントローラ11は、(キャッシュを変化させない特殊モードで)データ領域101のバックアップを取得する(ブロックA2)。また、この時、通信&I/Oコントローラ11は、(キャッシュを変化させない特殊モードで)パーティショニング情報102のバックアップも併せて取得する(ブロックA3)。
 通信&I/Oコントローラ11は、分散データベース1内の全ノード10でバックアップが完了したか否かを調べ(ブロックA4)、全ノード10のバックアップ完了を確認したら(ブロックA4のYES)、ステータス情報103を“稼働”に設定する(ブロックA5)。
 また、図5は、実施形態の記憶装置をノード10として適用した分散データベース1におけるデータの書き込み/読み出しの手順を示すフローチャートである。
 分散データベース1内の各ノード10の通信&I/Oコントローラ11は、まず、ステータス情報103は“稼働”を示しているか否かを調べる(ブロックB1)。“稼働”を示している場合(ブロックB1のYES)、通信&I/Oコントローラ11は、(通常通りにキャッシュを利用しながら)要求されたデータの書き込み/読み出しを実行する(ブロックB2)。
 一方、“バックアップ中”を示している場合(ブロックB1のNO)、通信&I/Oコントローラ11は、その要求がデータの読み出しか否かを調べる(ブロックB3)。データの読み出しの場合(ブロックB3のYES)、通信&I/Oコントローラ11は、(通常通りにキャッシュを利用しながら)要求されたデータの読み出しを実行する(ブロックB4)。また、データの書き込みの場合には(ブロックB3のNO)、通信&I/Oコントローラ11は、自ノード10におけるバックアップが完了しているか否かを調べる(ブロックB5)。
 バックアップが完了していたならば(ブロックB5のYES)、通信&I/Oコントローラ11は、(通常通りにキャッシュを利用しながら)要求されたデータの書き込みを実行する(ブロックB6)。完了していなければ(ブロックB5のNO)、通信&I/Oコントローラ11は、バックアップ完了を待機し、バックアップ完了後、当該要求されたデータの書き込みを実行する。
 以上のように、本実施形態の記憶装置によれば、分散データベースのデータバックアップを高速に実施すること等が可能となる。
 なお、本実施形態のデータバックアップの手順は全てソフトウェアによって実現することができるので、このソフトウェアをコンピュータ読み取り可能な記憶媒体を通じて通常のコンピュータに導入することにより、本実施形態と同様の効果を容易に実現することができる。
 本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。

Claims (13)

  1.  分散データベースに適用される記憶装置であって、
     通信手段と、
     前記分散データベースのデータバックアップ命令を前記通信手段が受信した場合、前記分散データベース全体の記憶領域を区分けして作成される各パーティションの配置を示すパーティショニング情報と、前記分散データベース用に記憶するデータとを、前記記憶装置内においてバックアップするバックアップ手段と、
     を具備する記憶装置。
  2.  キャッシュメモリと、
     前記キャッシュメモリ上のデータの入れ替えを行いながらデータの書き込み/読み出しを実行する第1のデータ入出力手段と、
     前記キャッシュメモリ上のデータの入れ替えを行わずにデータの書き込み/読み出しを実行する第2のデータ入出力手段と、
     を具備し、
     前記バックアップ手段は、前記記憶装置内におけるバックアップを前記第2のデータ入出力手段により実行する、
     請求項1に記載の記憶装置。
  3.  前記バックアップ手段により前記記憶装置内にバックアップされた前記パーティショニング情報および前記分散データベース用のデータの転送命令を前記通信手段が受信した場合、前記パーティショニング情報および前記分散データベース用のデータの読み出しを前記第2のデータ入出力手段により実行するバックアップデータ処理手段を具備する請求項2に記載の記憶装置。
  4.  前記バックアップ手段は、前記分散データベースのデータバックアップ完了が前記通信手段による通信によって確認された後、前記パーティショニング情報および前記分散データベース用のデータを格納するバックアップファイルにデータバックアップ完了を示すステータス情報を追記する請求項1に記載の記憶装置。
  5.  前記バックアップ手段によるバックアップ中、データの読み出し要求を受けた場合は当該データの読み出しを即時的に実行し、データの書き込み要求を受けた場合は当該データの書き込みを前記バックアップ手段によるバックアップ完了後に実行する制御手段を具備する請求項1に記載の記憶装置。
  6.  前記バックアップ手段は、前記分散データベース用のデータを圧縮してバックアップする請求項1に記載の記憶装置。
  7.  前記バックアップ手段によりバックアップされた前記パーティショニング情報および前記分散データベース用のデータを復元するリストア手段を具備する請求項1に記載の記憶装置。
  8.  キャッシュ領域と、
     データ記憶領域と、
     前記キャッシュ領域上のデータの入れ替えを行いながら前記データ記憶領域に対するデータの書き込み/読み出しを実行する第1のデータ入出力手段と、
     前記キャッシュ領域上のデータの入れ替えを行わずに前記データ記憶領域に対するデータの書き込み/読み出しを実行する第2のデータ入出力手段と、
     前記データ記憶領域に記憶されたデータの複製を前記第2のデータ入出力手段により前記データ記憶領域内に作成するバックアップ手段と、
     を具備する記憶装置。
  9.  前記バックアップ手段は、前記データの複製を圧縮データとして作成する請求項7に記載の記憶装置。
  10.  前記バックアップ手段により作成された複製データを用いて前記データ記憶領域のデータを復元するリストア手段を具備する請求項7に記載の記憶装置。
  11.  分散データベースに適用される記憶装置のデータバックアップ方法であって、
     前記分散データベースのデータバックアップ命令を受けた場合、前記分散データベース全体の記憶領域を区分けして作成される各パーティションの配置を示すパーティショニング情報と、前記分散データベース用に記憶するデータとを、前記記憶装置内においてバックアップするデータバックアップ方法。
  12.  キャッシュ上の内容を変化させずに前記記憶装置内におけるバックアップを実行する請求項11に記載のデータバックアップ方法。
  13.  前記分散データベースのデータバックアップ完了が確認された後、前記パーティショニング情報および前記分散データベース用のデータを格納するバックアップファイルにデータバックアップ完了を示すステータス情報を追記する請求項11に記載のデータバックアップ方法。
PCT/JP2013/056682 2012-10-30 2013-03-11 記憶装置およびデータバックアップ方法 WO2014069007A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP13750838.8A EP2916230A1 (en) 2012-10-30 2013-03-11 Storage device and data backup method
US14/015,550 US20140122433A1 (en) 2012-10-30 2013-08-30 Storage device and data backup method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-239488 2012-10-30
JP2012239488A JP5342055B1 (ja) 2012-10-30 2012-10-30 記憶装置およびデータバックアップ方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/015,550 Continuation US20140122433A1 (en) 2012-10-30 2013-08-30 Storage device and data backup method

Publications (1)

Publication Number Publication Date
WO2014069007A1 true WO2014069007A1 (ja) 2014-05-08

Family

ID=49679188

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/056682 WO2014069007A1 (ja) 2012-10-30 2013-03-11 記憶装置およびデータバックアップ方法

Country Status (3)

Country Link
EP (1) EP2916230A1 (ja)
JP (1) JP5342055B1 (ja)
WO (1) WO2014069007A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108241553A (zh) * 2016-12-23 2018-07-03 航天星图科技(北京)有限公司 一种数据备份控制方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6807354B2 (ja) * 2018-07-13 2021-01-06 株式会社日立製作所 ストレージシステムおよび情報管理方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240597A (ja) * 1997-02-21 1998-09-11 Hokkaido Nippon Denki Software Kk ハードディスク装置管理方式
JP2004118413A (ja) * 2002-09-25 2004-04-15 Hitachi Ltd ストレージシステム、記憶装置、ホスト計算機、および、スナップショット作成方法。
US20070214196A1 (en) * 2006-03-08 2007-09-13 International Business Machines Coordinated federated backup of a distributed application environment
WO2009122528A1 (ja) * 2008-03-31 2009-10-08 富士通株式会社 統合構成管理装置、異種構成管理装置、バックアップデータ管理システム
JP2011209892A (ja) * 2010-03-29 2011-10-20 Fujitsu Ltd ストレージシステム、ストレージシステムの制御方法、スイッチ装置およびストレージ装置
WO2012121316A1 (ja) * 2011-03-08 2012-09-13 日本電気株式会社 分散ストレージシステムおよび方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240597A (ja) * 1997-02-21 1998-09-11 Hokkaido Nippon Denki Software Kk ハードディスク装置管理方式
JP2004118413A (ja) * 2002-09-25 2004-04-15 Hitachi Ltd ストレージシステム、記憶装置、ホスト計算機、および、スナップショット作成方法。
US20070214196A1 (en) * 2006-03-08 2007-09-13 International Business Machines Coordinated federated backup of a distributed application environment
WO2009122528A1 (ja) * 2008-03-31 2009-10-08 富士通株式会社 統合構成管理装置、異種構成管理装置、バックアップデータ管理システム
JP2011209892A (ja) * 2010-03-29 2011-10-20 Fujitsu Ltd ストレージシステム、ストレージシステムの制御方法、スイッチ装置およびストレージ装置
WO2012121316A1 (ja) * 2011-03-08 2012-09-13 日本電気株式会社 分散ストレージシステムおよび方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108241553A (zh) * 2016-12-23 2018-07-03 航天星图科技(北京)有限公司 一种数据备份控制方法
CN108241553B (zh) * 2016-12-23 2022-04-08 中科星图股份有限公司 一种数据备份控制方法

Also Published As

Publication number Publication date
EP2916230A1 (en) 2015-09-09
JP2014089608A (ja) 2014-05-15
JP5342055B1 (ja) 2013-11-13

Similar Documents

Publication Publication Date Title
CN102792276B (zh) 闪速复制级联中的缓冲磁盘
CN106407040A (zh) 一种远程数据复制方法及系统
JP5565157B2 (ja) データ処理装置、データ処理方法、データ処理プログラムおよびストレージ装置
JP4170056B2 (ja) 複製ボリューム間でのバックアップ・リストア管理方法およびこの方法に用いる記憶制御装置
TWI571749B (zh) 備份系統及其備份方法
JP2004005358A5 (ja)
US8271968B2 (en) System and method for transparent hard disk drive update
US9015526B2 (en) Restoring method and computer system
JP2006318017A (ja) Raid構成変換方法、装置及びプログラム並びにこれを用いたディスクアレイ装置
US20140122433A1 (en) Storage device and data backup method
US9015385B2 (en) Data storage device and method of controlling data storage device
WO2014069007A1 (ja) 記憶装置およびデータバックアップ方法
US20160036653A1 (en) Method and apparatus for avoiding performance decrease in high availability configuration
JP5170169B2 (ja) ディスクアレイ装置間のリモートコピー処理システム、処理方法、及び処理用プログラム
US8555007B2 (en) Storage system with journal disks dynamically assigned
US8560789B2 (en) Disk apparatus, data replicating method onto disk apparatus and program recording medium
WO2016088372A1 (ja) アクセス装置、マイグレーション装置、分散ストレージシステム、アクセス方法及びコンピュータ読み取り可能記録媒体
US8667218B2 (en) Storage apparatus comprising RAID groups of RAID 1 series and control method of writing to RAID group of RAID 1 series
JP3766079B2 (ja) ディスクアレイ装置およびプログラム
JP6142514B2 (ja) 仮想テープ装置およびその冗長データ作成方法
JP4858779B2 (ja) 分散並列プログラムの障害解析ファイル軽量化装置、その方法及びそのプログラム
JP2010244130A (ja) ディスクアレイ装置及びディスクアレイ制御方法
JP2009075675A (ja) 整合性チェック方法及び整合性チェックシステム
JP2018063491A (ja) 制御装置、制御方法及びプログラム
JP2005316697A (ja) ディスクアレイシステムおよびデータバックアップ方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2013750838

Country of ref document: EP

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13750838

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE