JP5853109B2 - 計算機、計算機システムの制御装置及び記録媒体 - Google Patents

計算機、計算機システムの制御装置及び記録媒体 Download PDF

Info

Publication number
JP5853109B2
JP5853109B2 JP2014553988A JP2014553988A JP5853109B2 JP 5853109 B2 JP5853109 B2 JP 5853109B2 JP 2014553988 A JP2014553988 A JP 2014553988A JP 2014553988 A JP2014553988 A JP 2014553988A JP 5853109 B2 JP5853109 B2 JP 5853109B2
Authority
JP
Japan
Prior art keywords
data
computer
range
computers
storage area
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.)
Active
Application number
JP2014553988A
Other languages
English (en)
Other versions
JPWO2014102997A1 (ja
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Application granted granted Critical
Publication of JP5853109B2 publication Critical patent/JP5853109B2/ja
Publication of JPWO2014102997A1 publication Critical patent/JPWO2014102997A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、複数の計算機にデータが分散して配置されるシステムに関し、特にマスタデータとレプリカデータを分散配置するシステムに関する。
近年、Webを用いたアプリケーションを実行する計算機システムでは、データ量が爆発的に増大しており、複数の計算機にデータを分散させることによって、データへのアクセス性能を向上させるシステムが様々知られている。例えば、RDBMS(Relational DataBase Management System)では、データを所定のレンジ毎に分割し、分割されたデータを複数の計算機に配置することによって、システム全体のアクセス性能を向上させる方法が知られている。
また、キャッシュサーバ等に用いられるシステムとして、データの識別子(キー)と、データ値(バリュー)とから構成されるキャッシュデータを所定の分散方法にしたがって、複数の計算機システムに配置するKVS(Key Value Store)等のNoSQL(Not only SQL)データベースが知られている。
KVSでは、データに高速にアクセス可能な揮発性の記憶媒体、例えばメインメモリに、データを格納する構成、データ格納の永続性に優れる不揮発性の記録媒体、例えばSSD(Solid State Drive)やHDD等に、データを格納する構成又は前述したものを併用する構成等の種々の構成がとられている。
併用する構成では、高速アクセス性重視や格納性重視等の種々の運用方針によって、複数台の計算機のメモリを統合して構成されるメモリストア及び1台以上の計算機の不揮発性記憶媒体から構成されるディスクストアのバランスを種々変更可能となっている。
メモリストア及びディスクストアには、データの識別子(キー)と、データ値(バリュー)とをペアにしたデータが格納される。
また、KVSでは、複数のサーバからクラスタが構成され、各サーバにデータを分散して配置することによって並列処理を実現している。具体的には、サーバが管理するデータ管理範囲(以下、「データレンジ」という。)毎に、各サーバにデータが格納される。各サーバは、担当するデータレンジに含まれるデータ(以下、「マスタデータ」という。また、マスタデータのデータレンジを、以下、「マスタデータレンジ」という。)の処理を実行する。即ち所定のキーを含む読み出し要求に対して、そのキーが含まれるデータレンジのデータを担当するサーバが、キーに対応するデータを読み出すこととなる。これにより、KVSでは、スケールアウトによって並列処理の性能を向上させることができる。
KVSでは、データの信頼性を確保するために、クラスタを構成するサーバが他のサーバが管理するデータの複製データ(以下、「レプリカデータ」という。また、レプリカデータのデータレンジを、以下、「レプリカデータレンジ」という。)を格納する構成をとるものが知られている。即ち各サーバは、所定のデータレンジに含まれるデータを管理するマスタであると同時に、他のサーバが管理するデータのレプリカデータを保持するスレーブでもある。これによって、サーバに障害が発生した場合であっても、その障害サーバがマスタとして管理するデータをレプリカデータとして保持する他のサーバが、処理を継続することができ、耐障害性を確保している。
特許文献1には、上記で説明したKVSにおいてサーバにマスタデータを保持させる方法として、特定のサーバのマスタデータレンジを分割し、分割したマスタデータを隣接するサーバに保持させることで単一のサーバに対する負荷増大を防ぐ技術が開示されている。
特開2012−48424号公報
しかし、特許文献1に記載の技術では、サーバのメモリ容量を効率的に利用するマスタデータ及びレプリカデータのデータレンジを決定することについては記載がない。例えば、マスタデータのデータ量が大きいサーバのレプリカデータを、空きのメモリ容量が小さいサーバに保持させる場合、ページアウトが発生し、ディスクに格納されたデータにアクセスしなければならないため、データアクセスの速度性能が低下する。反対に、マスタデータのデータ量が小さいサーバのレプリカデータを、空きのメモリ容量が大きいサーバに保持させる場合、使用されないメモリ領域が増え、メモリの使用効率が低下する。さらに、サーバの利用状況に応じて各サーバに格納するデータ量が変動するような場合、データ量の変動に応じて効率的にメモリを使用することはできない。
本発明の代表的な一形態は、データを格納する記憶領域を有する複数の計算機と通信可能に接続され、自計算機の記憶領域に配置される第1のデータの複製である第2のデータが、他の計算機の記憶領域に配置される計算機であって、計算機は、
計算機の各々の記憶領域の容量を保持し、容量に応じて、第1のデータを自計算機及び複数の他の計算機の記憶領域に配置する第1のデータレンジを決定し、第1のデータレンジのうち、最大のデータレンジあるいは最大の容量となるデータレンジとは異なるデータレンジを起点に、最大のデータレンジあるいは最大の容量となる第2のデータレンジを決定することで、第2のデータを自計算機及び他の計算機の記憶領域に配置し、第1及び第2のデータレンジに従って、データを計算機の各々の記憶領域に配置することを特徴とする。
本発明によれば、耐障害性を維持しながら、システムの速度性能及びメモリ使用効率を高めることができる。
本願発明を適用する計算機システムの前提技術として各計算機と各計算機が管理するデータレンジの関係とを示す図である。 本願発明を適用した一実施形態の計算機システムの処理の概要を示す図である。 本実施形態の計算機システムにおける計算機システムの全体構成を示す図である。 本実施形態の計算機システムにおける構成情報の一例を示す図である。 本実施形態の計算機システムにおけるブロック単位でデータ管理する場合の構成情報の一例を示す図である。 本実施形態の計算機システムにおけるサーバ負荷情報の一例を示す図である。 本実施形態の計算機システムにおけるデータレンジ管理部が実行するデータレンジ決定処理の流れを示すフローチャートである。 本実施形態の計算機システムにおけるマシン情報管理部が実行するデータ位置基準のデータレンジ決定処理の流れを示すフローチャートである。 本実施形態の計算機システムにおけるデータ位置基準のデータレンジ決定処理を実行し、レプリカデータのデータレンジを決定した一例を示す図である。 本実施形態の計算機システムにおけるマシン情報管理部が実行するブロック基準のデータレンジ決定処理の流れを示すフローチャートである。 本実施形態の計算機システムにおけるブロック基準のデータレンジ決定処理を実行し、レプリカデータのデータレンジを決定した一例を示す図である。 本実施形態の計算機システムにおける図8Aに対応するマスタデータ及びレプリカデータの構成情報の一例を示す図である。 本実施形態の計算機システムにおけるマシン情報管理部が実行する分布情報を入力としたデータブロック決定処理を示すフローチャートである。 本実施形態の計算機システムにおける分布情報を入力としたブロック決定の一例を示す図である。 本実施形態の計算機システムにおける図10Aに対応するブロックIDの構成情報の一例を示す図である。 本実施形態の計算機システムにおけるマシン情報管理部が行う密度情報を入力としたブロック決定処理のフローチャートである。 本実施形態の計算機システムにおける密度情報を入力としたデータブロック決定処理のイメージ図である。 本実施形態の計算機システムにおけるユーザ操作画面の表示例を示す図である。 本実施形態の計算機システムにおけるユーザ設定画面の表示例を示す図である。
図1は、本発明を適用する一実施形態である計算機システムの各計算機と各計算機が管理するデータレンジの関係とを示す図である。
例えば、計算機A〜Eから構成されるシステムにおいて、計算機Bは、マスタデータレンジとして「400〜700」のデータを、レプリカデータレンジとして「1401〜1500」、「1〜200」のデータを管理していることを示している。各計算機にデータを分散させる方法は、Consistent Hashing法、Range法及びList法等の種々の方法が用いられる。
図2は、本発明を適用した一実施形態の処理の概要を簡単に説明した図である。 まず、S101で、全データレンジから各サーバのマスタデータレンジを決定する。マスタデータレンジは、各サーバのメモリ容量比に基づいて決定される。
次に、S102で、各サーバが保持するマスタデータレンジから、データレンジが最大であるデータレンジ(以下、「最大データレンジ」という。)を特定する。
さらに、S103で、最大データレンジに基づいて、各サーバが保持するレプリカデータレンジを決定する。本発明を適用した一実施形態では、データ位置あるいはデータ量を基準としてレプリカデータレンジを決定する。
図3は、本発明を適用した実施形態である計算機システムの全体構成を示す。
計算機システムは、複数のサーバ301、クライアント装置302及びネットワーク303から構成される。各サーバ301間及びサーバ301とクライアント装置302との間は、ネットワーク303を介して互いに接続される。
ネットワーク303は、LAN、WAN及びSAN等の有線及び無線の種々の構成が考えられる。本実施形態では、サーバ301及びクライアント装置302が通信できるものであればどのようなネットワークであってもよい。なお、ネットワーク303には、複数のネットワーク装置が含まれる。ネットワーク装置は、例えばスイッチあるいはゲートウェイ等が含まれる。
サーバ301は、プロセッサ304、主記憶装置305及び補助記憶装置306を備え、KVSを構成する計算機である。本実施形態では図示していないが、ネットワーク303と接続するためのネットワークインタフェースを備える。サーバ301は、クライアント装置302からの要求にしたがってデータの読出処理や書込処理を実行し、クライアントに処理結果を返す。なお、各サーバ301の構成は同一であるものとする。
プロセッサ304は、主記憶装置305に格納されるプログラムを実行する。プロセッサ304が、プログラムを実行することによって、サーバ301が備える機能を実現することができる。
主記憶装置305は、プロセッサ304が実行するプログラム及び当該プログラムの実行に必要な情報を格納する。
本実施形態の主記憶装置305には、データ管理部307、分散制御部308、データレンジ管理部310、構成情報保持部311、マシン情報管理部312及び統計情報管理部313を実現するためのプログラムが格納される。また、主記憶装置305には、構成情報314及びサーバ負荷情報315が保持される。
さらに、主記憶装置305上には、KVSを構成するデータベースであるデータストア316が格納される。データストア316には、キーと、バリューとを一組としたデータが格納される。
データ管理部307は、サーバ301が管理するデータに対する各種処理を制御する。データ管理部307は、クライアント装置302からの要求を受け付け、その要求に基づいて、データの読み出しや書き込み等の処理を制御する。
分散制御部308は、データ多重度、データのブロック数、メモリ閾値及びデータブロックの決定方法等、各種設定項目の変更を制御する。制御は、例えば図14に示すユーザ設定画面により行う。
データレンジ管理部310は、各サーバが格納するマスタデータ及びレプリカデータの格納先を管理する。構成情報保持部311は、構成情報314を管理する。マシン情報管理部312は、レプリカデータのデータレンジ決定処理を実行する。統計情報管理部313は、各サーバ301の負荷に関する情報を取得し、取得された情報に基づいてサーバ負荷情報315を更新する。
クライアント装置302は、ネットワークを介してサーバに対し処理要求を送信する。なお、クライアント装置302には、管理端末309が接続され、管理端末309から処理要求が送信されることもある。
プロセッサ317は、主記憶装置318に格納されるプログラムを実行する。主記憶装置318には、CPUとプログラムとの協働により、データ管理部307、分散制御部308、データレンジ管理部310、構成情報管理部311、マシン情報管理部312、統計情報管理部313が構成される。以下、プログラムを主語に処理を説明する場合には、プロセッサ317によって、プログラムが実行されていることを示す。
図4は、計算機システムにおいてテーブルとして管理する構成情報314及びサーバ負荷情報315の一例を示す模式図である。構成情報314は、各サーバが管理するデータレンジに関する情報を格納する。各サーバは、図4A及び図4Bに示す構成情報314を格納してもよいし、いずれか一方の構成情報314のみを格納するのでもよい。
図4Aの構成情報314は、サーバID401、マスタデータレンジ402及びレプリカデータレンジ403を含む。
サーバID401は、サーバを一意に識別するための識別子を格納する。マスタデータレンジ402には、各サーバのマスタデータのデータレンジを示す値が格納される。レプリカデータレンジ403には、各サーバのレプリカデータのデータレンジを示す値が格納される。
図4Bの構成情報314は、複数のデータを組み合わせて一つのデータセット(以下、「ブロック」という。)としてデータを管理する場合に用いられる構成情報である。図4Bの構成情報314は、サーバID410、マスタデータのブロックID411、ブロックID411に対応するデータレンジ412及びレプリカデータのブロックID413を含む。
サーバID410、マスタデータ及びレプリカデータのデータレンジ412は、図4Bと同様である。ブロックID411及び413は、複数のデータを組み合わせて管理するための識別子である。例えば、ブロックID411が「1」のデータは、マスタデータレンジ412から「1〜150」のデータで構成されていることを示す。
図4Cのサーバ負荷情報315は、システムを構成するサーバの負荷情報の一例を示す図である。サーバ負荷情報315は、サーバID420、メモリサイズ423及びデータサイズ425を含む。その他、サーバのCPU使用率やネットワーク使用率等の情報を有してもよい。
サーバID420は、サーバを一意に識別するための識別子を格納する。メモリサイズ423は、各サーバが有するメモリ容量を示す。
データサイズ425は、各サーバが格納するデータ量を示す。
図5は、レプリカデータレンジ決定の全体処理を示すフローである。なお、マスタデータレンジは、各サーバのメモリ容量比に基づいて予め決定されているものとする。本実施形態には、データレンジ決定処理の方法として、データ基準のデータレンジ決定処理及びブロック基準のデータレンジ決定処理がある。
S501で、データレンジ管理部が、サーバの負荷情報を格納しているかを判定する。サーバの負荷情報を格納している場合(S501:Yes)、S503に進む。格納していない場合(S501:No)、S507に進む。サーバの負荷情報を格納しているか否かを判定することで、システム稼動前あるいは稼動中かを把握する。
S503で、データレンジ管理部が、各サーバで処理されるデータ量の見積もりが設定されているかを判定する。データ量の見積もりが設定されている場合(S503:Yes)、S507に進む。設定されていない場合(S503:No)、S505に進む。データ量の見積もりとは、システム内に格納されるデータ量の推定値をいう。
S505で、データレンジ管理部が、データ位置基準のデータレンジ決定処理を実行する。データレンジ基準のデータレンジ決定処理については、図6を用いて詳細に説明する。
S507で、データレンジ管理部が、ブロック決定処理を実行する。本実施形態では、ブロック決定処理として、分布情報を入力としたブロック決定処理あるいは密度情報を入力としたブロック決定処理を行う。ブロック決定処理については、図9及び図11を用いて詳細に説明する。
S509で、データレンジ管理部が、ブロック基準のデータレンジ決定処理を実行する。ブロック基準のデータレンジ決定処理については、図7を用いて詳細に説明する。
S511で、データレンジ管理部が、システム内の全マシンの構成情報を共有する。
データ基準のデータレンジ決定処理は、所定のデータ位置に存在するデータ量が不確定な場合にもシステム最適化を図ることができるため、主にシステム稼動前等のサーバに格納されるデータ量が予測不能な場合に適している。ブロック基準のデータレンジ決定処理は、サーバ負荷情報315に応じてリアルタイムにシステムの最適化を図ることができるため、主にシステム稼動中でデータ量を見積もることができる場合に適している。
図6は、データ位置基準のデータレンジ決定処理を示す図である。図6Aは、データ位置基準のデータレンジ決定処理(図5のS505)のフローを示す。
S601で、マシン情報管理部312が、各サーバのメモリ量の比率を算出する。メモリ量の比率とは、全サーバのメモリ容量のうち自サーバの占めるメモリ容量で示される。
S603で、マシン情報管理部312が、メモリ量の比率が1/多重度Nを超えているサーバが存在するか否かを判定する。多重度Nは、データの信頼性及び耐障害性を向上させるため、レプリカデータをシステム内にいくつ保持させるかを示す指標である。メモリ量の比率を1/多重度Nに制限することで、サーバ間のメモリ性能差が大きい場合でも、同一サーバで、マスタデータと、そのマスタのレプリカデータのデータレンジが重複しない多重化を実現することができる。
メモリ量の比率が1/多重度Nを超えているサーバが存在する場合(S603:Yes)、S605でメモリ量の比率が1/N以下になるようにメモリ量を補正する。メモリ量の補正は、マシン情報管理部312が、メモリ量の比率が1/多重度Nを超過したサーバの比率を1/多重度Nに変更し、不足するメモリ量分のデータを他のサーバに割り振る。存在しない場合(S603:No)、S606に進む。
S606で、データレンジ管理部312が、メモリ量の比率に応じて、各サーバのマスタデータレンジを決定する。
S607で、データレンジ管理部312が、構成情報314のマスタデータレンジ612を参照し、全サーバの中から最大データレンジ及び最大データレンジを保持するサーバIDを特定する。
S609で、データレンジ管理部が、最大データレンジをもつサーバIDの次のサーバIDのサーバに、レプリカデータレンジの先頭のデータとして最大データレンジの先頭のデータを割り当てる。
例えば、図6Bに示すように、サーバA〜Eが格納するマスタデータのデータレンジのうち、マスタデータレンジ612からマスタデータレンジ「701〜1200」のデータ幅「500」を最大データレンジとして特定する。また、最大データレンジをもつサーバID610を「C」として特定する。次いで、最大データレンジをもつサーバID「C」の次のサーバIDとなるサーバID「D」に、最大データレンジの先頭のデータであるマスタデータ「701」をレプリカデータレンジの先頭のデータに割り当てる。なお、本実施形態では、サーバIDを降順に管理しているが、昇順に管理するのでも良い。
図7は、ブロック基準のデータレンジ決定処理のフローを示す。
S701で、マシン情報管理部312が、各サーバのメモリ量の比率を算出する。メモリ量の比率とは、全サーバのメモリ容量のうち自サーバの占めるメモリ容量で示される。
S703で、マシン情報管理部312が、メモリ量の比率が1/多重度Nを超えているサーバが存在するか否かを判定する。メモリ量の比率が1/多重度Nを超えているサーバが存在する場合(S703:Yes)、S705で、マシン情報管理部312が、メモリ量の比率が1/多重度N以下になるようにメモリ量を補正する。メモリ量の補正は、データ位置基準のデータレンジ決定処理と同様に、メモリ量の比率が1/多重度Nを超過したサーバの比率を変更するようにデータを割り振ることで実現する。存在しない場合(S703:No)、S707に進む。
S707で、データレンジ管理部が、メモリ量の比率に応じ、各サーバにブロックを割り当て、マスタデータレンジを決定する。なお、ブロック決定処理については、図9(分布情報を入力としたブロック決定方法)及び図11(密度情報を入力としたブロック決定方法)を用いて詳細に説明する。
S709で、データレンジ管理部312が、システム内の全サーバの中からデータ容量が最大であるサーバを特定し、当該サーバが保持するブロック数(以下、「最大ブロック数」という。)を特定する。
S711で、データレンジ管理部312が、各サーバのマスタデータレンジを最大ブロック数分ずらす。
S713で、データレンジ管理部312が、割り当てたブロックのデータレンジを算出する。データレンジは、割り当てられた先頭のブロックの始点をデータレンジの開始点とし、後尾のブロックの終点をデータレンジの終了点とする。
図8は、ブロック基準のデータレンジ決定処理を行ったデータ格納先と格納するデータの関係を示す。図8Aは、ブロック基準のデータレンジ決定処理により、レプリカデータレンジを決定した図を示す。本実施形態では、全データレンジから同一のデータ量となるブロックを決定し、メモリ量の比率に応じて各サーバに複数のブロックを割り当て、マスタデータレンジを決定する(図7のS707)。
例えば、図8AのサーバCには、ブロックID8〜12のデータがマスタデータとして格納されていることを例示している。そして、全サーバの中から、データ容量が最大であるサーバCを特定し、サーバCが保持する最大ブロック数を「5」と特定する(図7のS709)。次いで、各サーバのマスタデータレンジから、最大ブロック数である「5」ブロック分、レプリカデータレンジのブロック数をずらす。サーバCには、ブロックID3〜7のデータがレプリカデータとして格納される。同様の手順で、レプリカデータ2のデータレンジを決定し多重化を実現する。図8Bは、図8Aに対応する各サーバが保有するマスタデータ及びレプリカデータの構成情報314を示す。 以降では、ブロック決定方法について説明する。
図9は、分布情報を入力としたデータブロック決定処理を示すフローである。
S901で、マシン情報管理部312が、サーバ負荷情報315からシステムのデータ量の累積値を算出する。
S903で、マシン情報管理部312が、算出したデータ量の累積値から、ユーザ指定のブロック数Xでデータ量を等分するデータ位置を算出する。なお、データのブロック数は、ユーザが任意に設定できる。
S905で、マシン情報管理部312が、ブロック毎のデータレンジを決定する。
図10は、分布情報を入力とするブロック決定処理のイメージ図である。
図10Aに示すように、データ位置とデータ量の関係を棒グラフで表現し、システム内のデータ量の累積値を線グラフで表現する。図10Aはデータ量が同一のデータブロックを「15」生成するため、データの累積値を15等分しブロックを決定した様子を描いている。
図10Bは、図10Aに示すブロックとデータレンジとの対応を示す表である。
このように、分布情報を入力とするブロック決定処理では、システム内のデータ量の累積値からブロックを決定するため、システム内の実データ量が把握できる場合や、データ量の見積もりが可能な場合に特に有効なブロック決定方法である。
図11は、密度情報を入力としたブロック決定処理のフローを示す。図12は、密度情報を入力としたデータブロック決定処理のイメージを図示したものである。
S1101で、マシン情報管理部が、全サーバのデータ密度pを算出する。データ密度pは、「各サーバのマスタデータ量/各サーバのマスタデータレンジ」から算出する。図12のサーバAの密度pは、1GB/400となる。
S1103で、マシン情報管理部312が、システム内に存在するサーバの全データ量の合計値を算出する。図12に示すシステムでは、サーバA〜Eが格納する全データ量は、いま1GB+1GB+1.5GB+0.5GB+0.5GB=4.5GBと求められる。
S1103で、マシン情報管理部312が、1ブロックあたりのデータ量を算出する。データのブロック数は、ユーザが任意に設定できる。図12のシステムにおいてデータを「15」のブロックに分割するとき、全体のデータ量4.5GB/15ブロックより1区画あたりのデータ量は0.3GBと求められる。
S1105で、マシン情報管理部312が、ブロック毎のデータレンジを決定する。データレンジは、各サーバのデータ密度p及び1ブロックあたりのデータ量とから算出する。例えば、サーバAのデータ密度pが1GB/400であり、1ブロックあたりのデータ量を0.3GBとするとき、データレンジは「0.3GB/(1GB/400)=120」と算出される。
S1107で、マシン情報管理部312が、各サーバのデータレンジ幅を決定する。
データ密度情報を用いたデータブロック決定処理は、データがサーバ内に均一に配置されかつ1データあたりのデータ量がほぼ一定であるような場合、特に適する。
図13は、本実施形態のユーザ操作画面の表示例を示す説明図である。ユーザ操作画面は、システム内のサーバ負荷情報を示すテーブル及び各サーバがマスタデータあるいはレプリカデータとして管理するデータを示す模式図を含む。
サーバ負荷状況を示すテーブルには、システム内の各サーバのメモリ容量及びデータ量が含まれる。
データ模式図は、データ位置基準でレプリカデータレンジを決定した場合には、(A)のようにデータレンジが図示される。また、データブロック基準でレプリカデータレンジを決定した場合には、(B)のようにデータブロック単位で各サーバのマスタデータ及びレプリカデータの所在が示される。
図14は、本実施形態のユーザ設定画面の表示例を示す説明図である。ユーザ設定画面は、データ多重度、データのブロック数、メモリ閾値、データブロックの決定方法及び分割データ数を含む。
データ多重度には、システム内でデータを保持させる多重度を設定する。データのブロック数は、ブロックを基準としてレプリカデータのデータレンジ決定処理をするときのブロック数を指定するものである。
メモリ閾値は、システム稼動中にサーバのメモリ負荷に応じてデータのリバランスを行う指標になる。
本実施形態では、少なくともデータの分布情報を入力としたブロック決定方法あるいはデータの密度情報を入力としたブロック決定方法をブロック決定方法として選択することができる。
以上説明したように、本発明の一実施形態によれば、マスタデータレンジを基準として、サーバの負荷状況に応じてレプリカデータレンジを決定することができる。そのため、クラスタが性能差のあるサーバから構成されていても、性能の低いサーバがシステムのボトルネックになることを防ぐことができる。
また、マスタデータレンジとレプリカデータレンジとが重複しない多重化を実現できるため、システムの信頼性を確保することができる。
さらに、システムの分布情報や密度情報を入力としてデータのブロックを決定することで、サーバの負荷状況に応じてレプリカデータレンジを決定することができるため、効率的にメモリを使用することができる。
なお、本実施形態で例示した種々のソフトウェアは、電磁的、電子的及び光学式等の種々の(非一時的な)記録媒体に格納可能であり、インターネット等の通信網を通じて、コンピュータにダウンロード可能である。
さらに、本実施形態では、ソフトウェアによる制御を用いた例について説明したが、その一部をハードウェアによって実現することも可能である。
以上、図面を用いて計算機システムを詳細に説明したが、本発明は上述の種々の例に限定されるものではなく、その趣旨を逸脱しない範囲で、種々の変更が可能であることはいうまでもない。
301 サーバ
302 クライアント装置
303 ネットワーク
304、317 プロセッサ
305、318 主記憶
306、319 補助記憶装置
307 データ管理部
308 分散制御部
309 管理端末
310 データレンジ管理部
311 構成情報保持部
312 マシン情報管理部
313 統計情報管理部
314 構成情報
315 サーバ負荷情報
316 データストア

Claims (15)

  1. データを格納する記憶領域を有する複数の計算機と通信可能に接続され、自計算機の記憶領域に配置される第1のデータの複製である第2のデータが、他の計算機の記憶領域に配置される計算機であって、
    前記計算機は、
    前記計算機の各々の前記記憶領域の容量を保持し、前記容量に応じて、前記第1のデータを自計算機及び前記複数の他の計算機の記憶領域に配置する前記第1のデータレンジを決定し、
    前記第1のデータレンジのうち、最大のデータレンジあるいは最大の容量となるデータレンジとは異なるデータレンジを起点に、最大のデータレンジあるいは最大の容量となる前記第2のデータのデータレンジを決定することで、前記第2のデータを自計算機及び前記他の計算機の記憶領域に配置するための第2のデータレンジを決定し、
    前記第1及び前記第2のデータレンジに従って、前記データを前記計算機の各々の記憶領域に配置する
    ことを特徴とする計算機。
  2. 請求項1に記載の計算機であって、
    前記自計算機は、
    前記自計算機及び他の計算機の計算機IDを管理し、
    前記容量に応じて、前記計算機IDの順序に従って前記データを前記計算機の各々に配置するための第1のデータレンジを決定し、
    前記第1のデータレンジのうち、最大のデータレンジあるいは最大の容量となるデータレンジから、前記計算機IDの順序に従って前記第2のデータを前記計算機の各々に配置する前記第2のデータレンジを決定する
    ことを特徴とする計算機。
  3. 請求項2に記載の計算機であって、
    前記計算機は、
    前記最大のデータレンジあるいは前記最大のリソース量を有する第1の計算機に配置されるデータレンジの先頭が、前記計算機IDの順序に従って前記第1の計算機の次の計算機に割り当てられるデータのデータレンジの先頭となる前記第2のデータレンジを決定する
    ことを特徴とする計算機。
  4. 請求項3に記載の計算機であって、
    前記計算機は、
    前記データを複数組み合わせてデータブロックを生成し、
    前記計算機の各々の記憶領域の容量に応じて、前記計算機の各々に前記データブロックを割り当て、
    前記割り当てたデータブロックの数により最大データサイズを決定する
    ことを特徴とする計算機。
  5. 請求項4に記載の計算機であって、
    前記計算機は、
    前記データ一つあたりのデータサイズと、前記データの数とから、全ての計算機が保持するデータの全データサイズを算出し、
    前記全データサイズと、データブロックの数とから、等しいデータサイズのデータブロックを生成する
    ことを特徴とする計算機。
  6. 請求項4に記載の計算機であって、
    前記計算機は、
    前記計算機の各々の前記容量と、前記第1のデータレンジとから前記各計算機のデータ密度を算出し、
    前記データ一つあたりのデータサイズと前記データの数から、全ての計算機が保持するデータの全データサイズを算出して、
    前記全データサイズと前記データ密度とから、データブロック一つあたりのデータサイズを決定してデータブロックを生成する
    ことを特徴とする計算機。
  7. 請求項3に記載の計算機であって、
    前記計算機は、
    キー・バリュー型のデータを前記記憶領域に配置することを特徴とする計算機。
  8. データを格納する記憶領域を有する複数の計算機が通信可能に接続され、第1のデータが配置される前記記憶領域と、前記第1のデータの複製データである第2のデータが配置される前記記憶領域とが互いに異なる計算機に含まれる計算機システムの制御装置であって、
    前記制御装置が、
    前記複数の計算機の前記記憶領域の容量を保持し、前記容量に応じて前記各第1のデータを自計算機及び複数の他の計算機の記憶領域に配置する前記第1のデータレンジを決定し、
    前記第1のデータレンジのうち、最大のデータレンジあるいは最大の容量となる前記第2のデータのデータレンジを決定することで、前記第2のデータを自計算機及び他の計算機の記憶領域に配置するための第2のデータレンジを決定し、
    前記第1及び前記第2のデータレンジに従って、前記データを前記計算機の各々の記憶領域に配置する
    ことを特徴とする制御装置。
  9. 請求項8に記載の制御装置であって、
    前記制御装置は、
    前記計算機の計算機IDを管理し、
    前記容量に応じて、前記計算機IDの順序に従って前記データを前記計算機の各々に配置するための第1のデータレンジを決定し、
    前記第1のデータレンジのうち、最大のデータレンジあるいは最大の容量となるデータレンジから、前記計算機IDの順序に従って前記第2のデータを前記計算機の各々に配置する前記第2のデータレンジを決定する
    ことを特徴とする制御装置。
  10. 請求項9に記載の制御装置であって、
    前記制御装置が、
    前記最大のデータレンジあるいは前記最大のリソース量を有する第1の計算機に配置されるデータレンジの先頭が、前記計算機IDの順序に従って前記第1の計算機の次の計算機に割り当てられるデータのデータレンジの先頭となる前記第2のデータレンジを決定する
    ことを特徴とする制御装置。
  11. 請求項10に記載の制御装置であって、
    前記制御装置が、
    前記データを複数組み合わせてデータブロックを生成し、
    前記計算機の各々の記憶領域の容量に応じて、前記計算機の各々に前記データブロックを割り当て、
    前記割り当てたデータブロックの数により最大データサイズを決定する
    ことを特徴とする制御装置。
  12. 請求項11に記載の制御装置であって、
    前記制御装置が、
    前記データ一つあたりのデータサイズと前記データの数とから、全ての計算機が保持するデータの全データサイズを算出し、
    前記全データサイズと、データブロックの数とから、等しいデータサイズのデータブロックを生成する
    ことを特徴とする制御装置。
  13. 請求項11に記載の制御装置であって、
    前記制御装置が、
    前記計算機の各々の前記容量と前記第1のデータレンジとから前記計算機の各々のデータ密度を算出し、
    前記データ一つあたりのデータサイズと前記データの数から、全ての計算機が保持するデータの全データサイズを算出して、
    前記全データサイズと前記データ密度とから、データブロック一つあたりのデータサイズを決定してデータブロックを生成する
    ことを特徴とする制御装置。
  14. 請求項10に記載の制御装置であって、
    前記制御装置が、
    キー・バリュー型のデータを前記記憶領域に配置することを特徴とする制御装置。
  15. データを格納する記憶領域を有する複数の計算機と通信可能に接続され、自計算機の記憶領域に配置される第1のデータの複製である第2のデータが、前記他の計算機の記憶領域に配置される計算機に、
    前記計算機の各々の前記記憶領域の容量を保持させ、前記容量に応じて、前記第1のデータを自計算機及び複数の他の計算機の記憶領域に配置する前記第1のデータレンジを決定させるステップと、
    前記第1のデータレンジのうち、最大のデータレンジあるいは最大の容量となるデータレンジとは異なるデータレンジを起点に、最大のデータレンジあるいは最大の容量となる前記第2のデータのデータレンジを決定することで、前記第2のデータを自計算機及び他の計算機の記憶領域に配置するための第2のデータレンジを決定させるステップと、
    前記第1及び前記第2のデータレンジに従って、前記データを前記計算機の各々の記憶領域に配置させるステップと
    を実行させるプログラムを格納するコンピュータ読取可能な非一時的な記録媒体。
JP2014553988A 2012-12-28 2012-12-28 計算機、計算機システムの制御装置及び記録媒体 Active JP5853109B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/084020 WO2014102997A1 (ja) 2012-12-28 2012-12-28 計算機、計算機システムの制御装置及び記録媒体

Publications (2)

Publication Number Publication Date
JP5853109B2 true JP5853109B2 (ja) 2016-02-09
JPWO2014102997A1 JPWO2014102997A1 (ja) 2017-01-12

Family

ID=51020148

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014553988A Active JP5853109B2 (ja) 2012-12-28 2012-12-28 計算機、計算機システムの制御装置及び記録媒体

Country Status (4)

Country Link
US (1) US9805109B2 (ja)
EP (1) EP2940587A4 (ja)
JP (1) JP5853109B2 (ja)
WO (1) WO2014102997A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11030218B2 (en) 2017-08-10 2021-06-08 Hitachi, Ltd. Computer system and data processing method

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9870385B2 (en) * 2013-04-01 2018-01-16 Hitachi, Ltd. Computer system, data management method, and computer
US20160306810A1 (en) * 2015-04-15 2016-10-20 Futurewei Technologies, Inc. Big data statistics at data-block level
US11741248B2 (en) 2019-08-20 2023-08-29 Bank Of America Corporation Data access control using data block level encryption
US11176264B2 (en) 2019-08-20 2021-11-16 Bank Of America Corporation Data access control using data block level decryption

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012140957A1 (ja) * 2011-04-13 2012-10-18 株式会社日立製作所 情報記憶システム及びそのデータ複製方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000268507A (ja) * 1999-03-19 2000-09-29 Hitachi Ltd データ記録装置
EP1162537B1 (en) * 2000-06-09 2007-09-26 Hewlett-Packard Company, A Delaware Corporation Utilization of unused disk space on networked computers
JP4124348B2 (ja) * 2003-06-27 2008-07-23 株式会社日立製作所 記憶システム
JP4715286B2 (ja) * 2004-05-11 2011-07-06 株式会社日立製作所 計算機システムおよび計算機システムの制御方法
US20050257014A1 (en) * 2004-05-11 2005-11-17 Nobuhiro Maki Computer system and a management method of a computer system
JP4849960B2 (ja) * 2006-05-31 2012-01-11 株式会社日立製作所 レプリケーションボリュームの容量拡張方法
TW200828923A (en) * 2006-12-25 2008-07-01 Inst Information Industry Wireless network scheduling control system and method thereof and computer readable recording media
CN101316321B (zh) * 2007-05-30 2010-04-07 展讯通信(上海)有限公司 一种基于中值滤波器的图像噪声去除方法和装置
JP4990066B2 (ja) * 2007-08-21 2012-08-01 株式会社日立製作所 論理ボリュームのペアを利用したデータ保存の方式を変更する機能を備えたストレージシステム
JP5156310B2 (ja) * 2007-09-19 2013-03-06 株式会社日立製作所 バックアップ構成の構築を支援する方法及び計算機
US8094813B2 (en) * 2008-09-02 2012-01-10 Apple Inc. System and method for modulus obfuscation
CN100581169C (zh) * 2008-08-21 2010-01-13 西安西电捷通无线网络通信有限公司 一种基于单播会话密钥的组播密钥分发方法及其更新方法
KR101323457B1 (ko) * 2008-12-10 2013-10-29 엘지디스플레이 주식회사 평판표시장치의 표시결함 보상방법 및 장치
US8437870B2 (en) * 2009-06-05 2013-05-07 Taiwan Semiconductor Manufacturing Company, Ltd. System and method for implementing a virtual metrology advanced process control platform
JP5514041B2 (ja) 2010-08-25 2014-06-04 日本電信電話株式会社 識別子割当て方法及びプログラム
EP2740073B1 (en) * 2011-06-17 2017-01-18 Quantitative Imaging, Inc. Methods and apparatus for assessing activity of an organ and uses thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012140957A1 (ja) * 2011-04-13 2012-10-18 株式会社日立製作所 情報記憶システム及びそのデータ複製方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6013012715; Houssem-Eddine Chihoub: 'Harmony: Towards Automated Self-Adaptive Consistency in Cloud Storage' 2012 IEEE International Conference on Cluster Computing , 20120928, p.293-301, IEEE *
JPN6013012716; 椎名 俊輔: 'クラウド時代のデータストア Cassandraから覗くNoSQLの世界' ビッグデータを征す クラウドの技術 Hadoop&NoSQL , 20110425, p.90-97 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11030218B2 (en) 2017-08-10 2021-06-08 Hitachi, Ltd. Computer system and data processing method

Also Published As

Publication number Publication date
WO2014102997A1 (ja) 2014-07-03
EP2940587A1 (en) 2015-11-04
EP2940587A4 (en) 2016-08-24
JPWO2014102997A1 (ja) 2017-01-12
US9805109B2 (en) 2017-10-31
US20150220612A1 (en) 2015-08-06

Similar Documents

Publication Publication Date Title
US10977124B2 (en) Distributed storage system, data storage method, and software program
US10437486B2 (en) Method and apparatus for tenant-aware storage sharing platform
US9525731B2 (en) Robust tenant placement and migration in database-as-a-service environments
JP5124551B2 (ja) ボリューム割り当てを管理する計算機システム及びボリューム割り当て管理方法
US10346075B2 (en) Distributed storage system and control method for distributed storage system
JP6434131B2 (ja) 分散処理システム、タスク処理方法、記憶媒体
JP5853109B2 (ja) 計算機、計算機システムの制御装置及び記録媒体
JP5073259B2 (ja) 仮想化システム及び領域割当て制御方法
US10061781B2 (en) Shared data storage leveraging dispersed storage devices
CN105027068A (zh) 在存储系统中执行复制
JP6017032B2 (ja) ストレージシステム及びストレージ制御方法
US20180067975A1 (en) Computer system and data processing method
JP2020154587A (ja) 計算機システム及びデータ管理方法
WO2018120939A1 (zh) 一种存储系统扩容后数据迁移的方法、存储系统
JP5964950B2 (ja) 計算機システム、データ配置管理方法及びプログラム
JPWO2013118270A1 (ja) 計算機システム、データ管理方法及びプログラム
WO2021187194A1 (ja) 分散処理システム、分散処理システムの制御方法、及び、分散処理システムの制御装置
Fazul et al. PRBP: A prioritized replica balancing policy for HDFS balancer
JP6172294B2 (ja) トランザクション分散処理装置、方法、システム、および、記憶媒体
JP5900063B2 (ja) ストレージ装置およびストレージ装置における初期化方法
JP6773755B2 (ja) ストレージ装置及びストレージ装置における構成管理リクエストの処理方法
US11861423B1 (en) Accelerating artificial intelligence (‘AI’) workflows
JP6020210B2 (ja) クォータ管理機能付ファイルシステム、クォータ管理方法およびクォータ管理プログラム
WO2018061158A1 (ja) 計算機システムおよび計算機システム制御方法
JP6287427B2 (ja) ストレージシステム

Legal Events

Date Code Title Description
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: 20151110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151207

R151 Written notification of patent or utility model registration

Ref document number: 5853109

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151