JP5733684B2 - データ配置装置、データ配置方法およびデータ配置プログラム - Google Patents

データ配置装置、データ配置方法およびデータ配置プログラム Download PDF

Info

Publication number
JP5733684B2
JP5733684B2 JP2011102964A JP2011102964A JP5733684B2 JP 5733684 B2 JP5733684 B2 JP 5733684B2 JP 2011102964 A JP2011102964 A JP 2011102964A JP 2011102964 A JP2011102964 A JP 2011102964A JP 5733684 B2 JP5733684 B2 JP 5733684B2
Authority
JP
Japan
Prior art keywords
pattern
data
profit
unit
instance
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
JP2011102964A
Other languages
English (en)
Other versions
JP2012234396A (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.)
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
Priority to JP2011102964A priority Critical patent/JP5733684B2/ja
Publication of JP2012234396A publication Critical patent/JP2012234396A/ja
Application granted granted Critical
Publication of JP5733684B2 publication Critical patent/JP5733684B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データ配置装置、データ配置方法およびデータ配置プログラムに関する。
処理対象のデータを複数のサーバ装置に分散配置する分散データ処理システムでは、処理対象のデータをどのように配置するかが重要な課題の一つになっている。下記特許文献1には、記憶装置に格納されているデータ量に基づいてデータ配置を行う技術が開示されている。また、下記特許文献2には、計算機のリソース状況とアクセス分布とに基づいてデータ配置を行う技術が開示されている。
特開2005−50303号公報 特開平06−259478号公報
上記特許文献1ではデータ量のみを考慮してデータ配置を行っており、上記特許文献2ではリソース状況とアクセス分布のみを考慮してデータ配置を行っている。しかしながら、データの処理効率を向上させるためには、様々な要素を複合的に考慮する必要があるため、改善の余地がある。
本発明は、上述した課題を解決するためになされたものであり、様々な要素を複合的に考慮してデータ配置を行うことで、データ処理の効率を向上させることができるデータ配置装置、データ配置方法およびデータ配置プログラムを提供することを目的とする。
本発明のデータ配置装置は、複数のサーバ装置に分散配置するデータの配置先を、前記データを管理する単位であるインスタンスごとに決定するデータ配置装置であって、前記インスタンスの組合せのパターンを導出するパターン導出部と、前記パターン導出部によって導出された前記パターンと前記サーバ装置との組合せごとに、前記パターンを選択した場合に得られる利益を算出する利益算出部と、前記利益算出部によって算出された前記利益のうちの最大の利益に対応する前記パターンを選択するパターン選択部と、を備える。
本発明のデータ配置方法は、複数のサーバ装置に分散配置するデータの配置先を、前記データを管理する単位であるインスタンスごとに決定するデータ配置方法であって、前記インスタンスの組合せのパターンを導出するパターン導出ステップと、前記パターン導出ステップにおいて導出された前記パターンと前記サーバ装置との組合せごとに、前記パターンを選択した場合に得られる利益を算出する利益算出ステップと、前記利益算出ステップにおいて算出された前記利益のうちの最大の利益に対応する前記パターンを選択するパターン選択ステップと、を含む。
本発明のデータ配置プログラムは、上記データ配置方法に含まれる各ステップをコンピュータに実行させる。
本発明によれば、様々な要素を複合的に考慮してデータ配置を行うことで、データ処理の効率を向上させることができる。
第1実施形態におけるデータ配置装置の構成を例示する図である。 パターン導出部によって導出されるパターンの概念を説明するための図である。 インスタンスが選択済みパターンに選択された回数を例示する図である。 利益表の一例を示す図である。 利益表の一例を示す図である。 利益表の一例を示す図である。 第1実施形態におけるデータ配置装置の動作を説明するためのフローチャートである。 第2実施形態におけるデータ配置装置の構成を例示する図である。 パターン統合部が2つのパターンを統合する際の概念を説明するための図である。 第2実施形態におけるデータ配置装置の動作を説明するためのフローチャートである。 パターン統合処理の手順を説明するためのフローチャートである。 第3実施形態におけるデータ配置装置の構成を例示する図である。 第3実施形態におけるデータ配置装置の動作を説明するためのフローチャートである。 第4実施形態におけるデータ配置装置の構成を例示する図である。 アクセス情報テーブルのデータ構成を例示する図である。 増減情報テーブルのデータ構成を例示する図である。 第4実施形態におけるデータ配置装置に特有の動作を説明するためのフローチャートである。
以下、添付図面を参照して、本発明に係るデータ配置装置、データ配置方法およびデータ配置プログラムの好適な実施形態について説明する。ここで、データ配置装置は、複数のサーバ装置に分散して配置されるデータの配置先をインスタンスごとに決定する。インスタンスは、データを管理する単位であり、一または複数のデータがインスタンスごとにまとめられる。
[第1実施形態]
まず、図1を参照して、第1実施形態におけるデータ配置装置の構成について説明する。図1に示すデータ配置装置1は、機能的には、例えば、パターン導出部11と、利益算出部12と、パターン選択部13と、インスタンス配置部14とを有する。データ配置装置1は、上記各部が参照・更新する情報を格納するインスタンス情報記憶部21、サーバ情報記憶部22、および選択済パターン情報記憶部23を備える。
インスタンス情報記憶部21は、インスタンスに関するインスタンス情報を格納する。インスタンス情報には、例えば、データ量や、データ属性、データスキーマ等のインスタンスに属するデータに関する情報が含まれる。
サーバ情報記憶部22は、サーバ装置に関するサーバ情報を格納する。サーバ情報には、例えば、サーバ装置のリソース情報(ディスク量、メモリ量、CPUの処理能力等)や、現時点でサーバ装置に配置されているインスタンスを特定する情報等が含まれる。
ここで、データ配置装置1は、物理的には、例えば、CPU(Central Processing Unit)と、記憶装置と、入出力インターフェースとを含んで構成される。記憶装置には、例えば、CPUで処理されるプログラムおよびデータを記憶するROM(Read Only Memory)やHDD(Hard Disk Drive)、主として制御処理のための各種作業領域として使用されるRAM(Random Access Memory)等の要素が含まれる。これらの要素は、互いにバスを介して接続されている。CPUが、ROMに記憶されたプログラムを実行し、入出力インターフェースを介して受信されるメッセージや、RAMに展開されるデータを処理することで、データ配置装置1が有する各部の機能を実現することができる。
図1に示すパターン導出部11は、データを配置するように指示するデータ配置指示を受信した場合に、インスタンス情報記憶部21を参照し、インスタンスの組合せの全てのパターンを導出する。データ配置指示が送信されるタイミングとしては、例えば、データが追加されるときや、サーバ装置が追加されるとき、システム管理者により実行指示が入力されたとき等が該当する。
図2を参照して、パターン導出部11によって導出されるパターンの概念について説明する。例えば、5つのインスタンスI1〜I5が存在する場合には、例えば、3つのインスタンスI1、I2、I3を含むパターン1、3つのインスタンスI1、I4、I5を含むパターン2、5つのインスタンスI1、I2、I3、I4、I5を含むパターン3、1つのインスタンスI3を含むパターン4等が導出される。
なお、導出するパターンは、インスタンスの組合せの全てのパターンであることには限定されない。全てのインスタンスがいずれかのパターンに含まれていれば、一部のパターンのみを導出することとしてもよい。例えば、3つのインスタンスを含むパターンのみを導出することとしてもよいし、1つのインスタンスだけを含むパターンを除外して導出することとしてもよい。
図1に示す利益算出部12は、インスタンス情報記憶部21、サーバ情報記憶部22および選択済パターン情報記憶部23を参照し、パターン導出部11によって導出されたパターンと配置先候補のサーバ装置との組合せごとに、そのパターンを選択した場合に得られる利益を算出する。利益には、ユーザ側が利益を受けるユーザ観点の利益と、システム側が利益を受けるシステム観点の利益とが含まれる。ユーザ観点の利益としては、例えば、そのパターンをあるサーバ装置に配置することで、データへのアクセス速度が向上する等の利益が該当する。システム観点の利益としては、例えば、そのパターンをあるサーバ装置に配置するときのデータ移動に要するサーバ間の通信量を削減できる等の利益が該当する。このような利益の基準は、システム管理者が適宜設定することができる。
利益算出部12は、各パターンに属するインスタンスのデータ量、データの属性、現時点の配置からのデータ移動量、インスタンスがパターンに選択された回数等の様々な要素を複合的に用いて、利益を算出する。利益は、上記各要素を用いて、例えば以下のように算出することができる。
データ量から利益を算出する場合には、例えば、各パターンのデータ量の平均が全体のデータ量の平均に近いほど利益が高くなるように、利益を算出する。これにより、各サーバ装置に配置されるインスタンスのデータ量が均等に近づくように導くことが可能となる。
データ属性から利益を算出する場合には、例えば、各パターンのデータの属性が、同じ属性に集中しているほど利益が高くなるように、利益を算出する。これにより、同じ属性のデータが同じサーバに配置されるように導くことが可能となる。
データ移動量から利益を算出する場合には、例えば、各パターンの配置が再配置前に存在するパターンの配置に近いほど利益が高くなるように、利益を算出する。これにより、データを再配置する際のデータの移動量が少なくなるように導くことが可能となる。
インスタンスの選択回数から利益を算出する場合には、例えば、既に選択されたパターンに含まれるインスタンスを多く含むほど利益が低くなるように、利益を算出する。これにより、インスタンス間での配置数の格差が縮まるように導くことが可能となる。
利益を算出する方法について、より具体的に説明する。例えば、各パターンのデータ量、データ移動量、インスタンスの選択回数に基づいて利益を算出する場合には、下記式(1)に示す評価関数を用いることができる。
w1*f1(パターン、サーバ情報、インスタンス情報) + w2*f2(パターン、サーバ情報、インスタンス情報) + w3*f3(パターン、選択済パターン) … (1)
ここで、f1はデータ量から利益を算出する関数であり、f2はデータ移動量から利益を算出する関数であり、f3はインスタンスの選択回数から利益を算出する関数である。また、w1、w2、w3は、それぞれ重み係数である。重み係数w1、w2、w3を調整することで、どの要素を重視するのかを調整することができる。また、関数f1は、例えば下記式(2)のように表すことができる。
f1 = f1_w1*{1/(1+|全体のデータ量の平均 − パターンのデータ量の平均|)} + f1_w2*(パターンのデータ量/サーバのリソース量) … (2)
上記式(2)の第一項は、パターンに含まれるデータ量の平均値が全体のデータ量の平均値にどの程度近いかを評価する項であり、第二項は、各サーバ装置のリソース(ディスク量やメモリ量)をどの程度有効活用できているかを評価する項である。上記式(2)は、パターンのデータ量の平均が全体のデータ量の平均に近く、かつ、サーバ装置のリソースがなるべく多く利用されているほど、利益が高くなるように設定されている。ただし、パターンのデータ量がサーバ装置のリソース量(ディスク量やメモリ量)を超過する場合には、そのパターンは物理的にサーバ装置に配置できないため、この場合には、そのパターンの利益を0にする。なお、上記式(2)のf1_w1、f1_w2は、それぞれ重み係数である。
上記式(1)の関数f2は、例えば下記式(3)のように表すことができる。
f2 = (現時点でサーバに配置されているインスタンスとパターンに含まれるインスタンスとの間で一致しているインスタンス数/現時点でサーバに配置されている総インスタンス数) … (3)
上記式(3)は、現時点でサーバ装置に配置されているインスタンスのパターンと、評価対象のパターンとがどの程度一致しているかを評価しており、現時点の配置に近いほど利益が高くなるように設定されている。具体的に、例えば、サーバ装置に現在配置されているインスタンスが3つのインスタンスI1、I2、I3であり、評価対象のパターンに含まれるインスタンスが2つのインスタンスI2、I4である場合には、「現時点でサーバに配置されているインスタンスとパターンに含まれるインスタンスとの間で一致しているインスタンス数」は、インスタンスI2のみの“1”となり、関数f2は、“1/3”となる。
上記式(1)の関数f3は、例えば下記式(4)のように表すことができる。
f3 = {(1+パターンに含まれるインスタンスのうち選択済パターンにまだ含まれていないインスタンスの数)/(1+パターンに含まれるインスタンスのうち選択済みパターンに含まれるインスタンスの累計)} … (4)
上記式(4)は、これまでに選択されたパターンに含まれるインスタンスが評価対象のパターンにどの程度含まれているかを評価しており、評価対象のパターンに含まれるインスタンスがこれまでに選択されていないほど利益が高くなるように設定されている。
上記式(4)について図3を参照して説明する。図3に示す表T1は、選択済みパターンに選択された回数を、インスタンスごとに表すものである。表T1のインスタンスI1は、選択済みパターンに1回選択され、インスタンスI2は、まだ選択済みパターンに選択されておらず、インスタンスI3は、選択済みパターンに3回選択されていることを示す。
例えば、3つのインスタンスI1、I2、I3を含むパターンを、関数f3で評価する場合には、「パターンに含まれるインスタンスのうち選択済パターンにまだ含まれていないインスタンスの数」は、インスタンスI2のみであるため“1”となる。また、「パターンに含まれるインスタンスのうち選択済みパターンに含まれるインスタンスの累計」は、インスタンスI1の“1”回と、インスタンスI3の“3”回とを合わせて“4”回となる。したがって、関数f3は、“(1+1)/(1+4)=2/5”となる。
このように、利益として設定したい要素を評価関数に組み込むことで、様々な要素を考慮した利益を計算することが可能となる。また、それぞれの要素の重み係数を調整することで、重視したい要素の比率を簡単に変更することができる。
なお、インスタンスを配置するサーバ装置の性能が個々に異なる場合や、データ移動量を考慮する場合には、それぞれのサーバ装置が現在どのようなインスタンスを配置しているのかを考慮する必要があるため、各パターンの利益を算出する場合には、サーバ装置ごとに利益を算出する必要がある。図4は、サーバ装置とパターンとの組み合わせごとに算出された利益を表示する利益表の一例である。
図1に示すパターン選択部13は、利益算出部12によって算出された利益のうちの最大の利益に対応するパターンを選択する。パターン選択部13は、選択したパターンに関する選択パターン情報を、選択済パターン情報記憶部23に記憶させる。なお、選択パターン情報には、選択されたパターンの利益に関する情報も含まれる。
図5および図6を参照して、パターン選択部13がパターンを選択する際の手順について説明する。
最初に、パターン選択部13は、図5に示す利益表T2の中から、最大の利益に対応するパターンとサーバとの組み合わせを選択する。利益表T2では、パターン2とサーバ1との組み合わせによる利益が“20”で最大の利益となるため、パターン2とサーバ1との組み合わせが選択される。
続いて、パターン選択部13は、パターン2とサーバ1との組み合わせに関する選択パターン情報を、選択済パターン情報記憶部23に記憶させる。続いて、利益算出部12は、各パターンの利益を再度算出し直す。これは、選択済パターン情報記憶部23に新たなパターンが追加されたことにより、各パターンの利益が変動するためである。ただし、サーバ1には、既にパターン2が配置されるため、サーバ1に関しては利益を計算する必要はない。
続いて、利益算出部12による利益の再算出によって、図6に示す利益表T3が生成されたとする。パターン選択部13は、利益表T3の中から、最大の利益に対応するパターンとサーバとの組み合わせを選択する。利益表T3では、パターン1とサーバ2との組み合わせによる利益が“10”で最大の利益となるため、パターン1とサーバ2との組み合わせが選択される。
続いて、パターン選択部13は、パターン1とサーバ2との組み合わせに関する選択パターン情報を、選択済パターン情報記憶部23に記憶させる。これ以降は、配置対象のサーバ装置がなくなるまで上記と同様の処理を繰り返し行う。
図1に示すインスタンス配置部14は、選択済パターン情報記憶部23に記憶されているパターン情報に従って、インスタンスを各サーバ装置に配置する。インスタンス配置部14は、各サーバ装置に配置したインスタンスの配置に関する情報を、サーバ情報記憶部22に記憶させる。
次に、図7を参照して、第1実施形態におけるデータ配置装置1の動作について説明する。
最初に、データ配置指示を受信する(ステップS101)と、パターン導出部11は、インスタンス情報記憶部21を参照し、インスタンスの組合せの全パターンを導出する(ステップS102)。
続いて、利益算出部12は、インスタンス情報記憶部21、サーバ情報記憶部22および選択済パターン情報記憶部23を参照し、パターン導出部11によって導出されたパターンと配置先候補のサーバ装置との組合せごとに、そのパターンを選択した場合に得られる利益を算出する(ステップS103)。
続いて、パターン選択部13は、利益算出部12によって算出された利益のうちの最大の利益に対応するパターンを選択し(ステップS104)、選択したパターンに関する選択パターン情報を、選択済パターン情報記憶部23に記憶させる。
続いて、パターン選択部13は、全てのサーバ装置に対して配置するパターンが選択されたか否かを判定する(ステップS105)。この判定がNOである場合(ステップS105;NO)に、処理を上記ステップS103に移行する。
一方、上記ステップS105の判定で全てのサーバ装置に対して配置するパターンが選択されたと判定された場合(ステップS105;YES)に、パターン導出部11は、選択済パターン情報記憶部23を参照し、選択済パターン情報に全てのインスタンスが含まれているか否かを判定する(ステップS106)。この判定がNOである場合(ステップS106;NO)には、上記式(1)の評価関数の重み係数“w3”の値を大きくし、評価関数における関数f3の比率を大きくする(ステップS107)。そして、処理を上記ステップS102に移行する。これにより、まだ選択されていないインスタンスを含むパターンの利益を相対的に大きくすることが可能となる。
一方、上記ステップS106の判定で選択済パターン情報に全てのインスタンスが含まれていると判定された場合(ステップS106;YES)に、インスタンス配置部14は、選択済パターン情報記憶部23に記憶されているパターン情報に従って、インスタンスを各サーバ装置に配置する(ステップS108)。そして、サーバ情報記憶部22に記憶されている現時点でサーバ装置に配置されているインスタンスを特定する情報を更新し、本動作を終了する。
上述したように、第1実施形態におけるデータ配置装置1によれば、配置可能なインスタンスのパターンを導出し、それぞれのパターンに対してデータ量やデータ移動量、インスタンスの選択回数等の様々な要素を複合的に考慮した利益を算出し、その利益が最大となるパターンを順次選択することで、データ量やデータ移動量等の様々な要素を複合的に考慮したデータ配置を、比較的簡単な評価関数を用いて行うことが可能となる。したがって、例えばシステムの運用中にデータ配置のポリシーを変更する場合には、配置ポリシーを変更するために要するコストを削減することが可能となる。
なお、上述したデータ配置装置1の動作において、ステップS106の判定で選択済パターン情報に全てのインスタンスが含まれていないと判定された場合に、ステップS107で上記式(1)の評価関数の重み係数“w3”の値を大きくしてからステップS102に処理を移行しているが、これに限定されない。
例えば、ステップS106の判定で選択済パターン情報に全てのインスタンスが含まれていないと判定された場合に、上記式(1)の評価関数に、選択済パターン情報に含まれていないインスタンスを含むパターンの利益を高くするような補正項を付加してから、ステップS102に処理を移行することとしてもよい。これにより、まだ選択されていないインスタンスを含むパターンの利益を相対的に大きくすることが可能となる。
[第2実施形態]
本発明の第2実施形態について説明する。第2実施形態におけるデータ配置装置の構成を図8に示す。第2実施形態におけるデータ配置装置2が、上述した第1実施形態におけるデータ配置装置1と相違する点は、パターン統合部15を新たに追加した点である。それ以外の構成については、第1実施形態におけるデータ配置装置1の各構成と同様であるため、各構成要素には同一の符合を付し、その説明は省略するとともに、以下においては、主に第1実施形態との相違点について説明する。
パターン統合部15は、パターン導出部11によって導出された2つのパターン間の類似度を算出する。類似度は、例えば下記式(5)を用いて算出することができる。
類似度 = 2*(2つのパターン間で共通するインスタンス数)/(2つのパターンに含まれるインスタンス数の合計) … (5)
パターン統合部15は、算出した類似度が予め設定した閾値よりも高い場合に、類似度を算出したパターンの組に含まれる2つのパターンを、いずれか一つのパターンに統合する。上記閾値は、例えば、統合により削除したパターンがデータを配置する工程に与える影響度を考慮して適宜設定することができる。
利益算出部12は、パターン統合部15によって統合された後に残ったパターンと配置先候補のサーバ装置との組合せごとに、利益を算出することになる。
図9を参照して、パターン統合部15が、3つのインスタンスI1、I2、I3を含むパターン1と、3つのインスタンスI1、I2、I4を含むパターン2とを統合する際の手順について説明する。
パターン統合部15は、上記式(5)を用いて、パターン1とパターン2との間の類似度を算出する。この場合に、類似度は、“2*2/(3+3)=2/3”となる。この類似度“2/3”が閾値以上であれば、いずれか一方のパターンに統合し、閾値未満であれば統合しない。
パターン統合部15は、パターン1とパターン2とを統合する場合に、いずれか一方のパターンを削除する。削除するパターンは、パターン導出部11により導出されたパターンに含まれる各インスタンスの数に基づいて、例えば以下のように決定することができる。
ここでの前提条件として、現時点において、インスタンスI1が導出されたパターンに全部で10含まれ、インスタンスI2が導出されたパターンに全部で10含まれ、インスタンスI3が導出されたパターンに全部で5含まれ、インスタンスI4が導出されたパターンに全部で10含まれているとする。
パターン1を削除した場合には、インスタンスI1、I2、I3が1つずつ削除され、パターン2を削除した場合には、インスタンスI1、I2、I4が1つずつ削除されることになる。したがって、パターン1を削除した場合の影響度は、“(1/10)+(1/10)+(1/5)=4/10”となり、パターン2を削除した場合の影響度は、“(1/10)+(1/10)+(1/10)=3/10”となる。
この結果、パターン1を削除した場合の影響度が、パターン2を削除した場合の影響度よりも大きいことが判明する。したがって、パターン統合部15は、パターン2を削除することで、パターン1とパターン2との組をパターン1に統合する。
なお、パターンを削除することで、そのパターンに含まれるいずれかのインスタンスが、導出されたパターンの中に一つも含まれないことになる場合には、もう一方のパターンを削除することとする。これにより、パターンを統合していく過程で特定のインスタンスが導出されたパターンから無くなってしまうことを防止することができる。
また、影響度が等しい場合には、いずれか一方をランダムに選択して削除することができる。
次に、図10を参照して、第2実施形態におけるデータ配置装置2の動作について説明する。上述した第1実施形態におけるデータ配置装置1の動作と異なるのは、図7に示すステップS102の処理とステップS103の処理との間に、パターン統合処理(ステップS200)が追加される点である。なお、上述した第1実施形態におけるデータ配置装置1の動作と同様の処理には同一のステップ符号を付し、その説明は省略する。
図10のステップS200で行われるパターン統合処理について、図11を参照して説明する。
最初に、パターン統合部15は、上記ステップS102でパターン導出部11によって導出されたパターンの中から2つのパターンを選択する(ステップS201)。
続いて、パターン統合部15は、選択したパターン間の類似度を、例えば上記式(5)を用いて算出する(ステップS202)。
続いて、パターン統合部15は、算出した類似度が閾値以上であるか否かを判定する(ステップS203)。この判定がNOである場合(ステップS203;NO)には、処理を上記ステップS201に移行する。
一方、上記ステップS203の判定で類似度が閾値以上であると判定された場合(ステップS203;YES)に、パターン統合部15は、例えば各パターンを削除した場合の影響度を考慮して、いずれか一方のパターンを削除することで、2つのパターンを1つのパターンに統合する(ステップS204)。
続いて、パターン統合部15は、上記ステップS204の統合が所定回数以上実行されたか否かを判定する(ステップS205)。この判定がNOである場合(ステップS205;NO)には、処理を上記ステップS201に移行する。
一方、上記ステップS205の判定で統合が所定回数以上実行されたと判定された場合(ステップS205;YES)には、パターン統合処理を終了し、図10のステップS103に処理を移行する。
続いて、利益算出部12は、インスタンス情報記憶部21、サーバ情報記憶部22および選択済パターン情報記憶部23を参照し、パターン統合部15によって統合された後に残ったパターンと配置先候補のサーバ装置との組合せごとに、そのパターンを選択した場合に得られる利益を算出する(ステップS103)。そして、ステップS104以降の処理を、第1実施形態と同様に実行する。
上述したように、第2実施形態におけるデータ配置装置2によれば、パターン統合部15により統合された後のパターンを、利益算出の対象にすることができるため、利益算出対象を削減することができる。これにより、利益を算出するための計算工数等を削減することができ、第1実施形態に比べ、より高速にデータ配置を決定することができる。
[第3実施形態]
本発明の第3実施形態について説明する。第3実施形態におけるデータ配置装置の構成を図12に示す。第3実施形態におけるデータ配置装置3が、上述した第1実施形態におけるデータ配置装置1と相違する点は、パターン導出部11をパターン一部導出部11aに変更した点と、利益評価部16を新たに追加した点である。それ以外の構成については、第1実施形態におけるデータ配置装置1の各構成と同様であるため、各構成要素には同一の符合を付し、その説明は省略するとともに、以下においては、主に第1実施形態との相違点について説明する。
パターン一部導出部11aは、インスタンスの組合せの全パターンを導出するのではなく、インスタンスの組合せのパターンのうちの一部のパターンのみを導出する点で、上述した第1実施形態におけるパターン導出部11と相違する。これにより、利益算出部12は、パターン一部導出部11aによって導出されたパターンと配置先候補のサーバ装置との組合せごとに、利益を算出することになる。
利益評価部16は、全てのサーバ装置に対して配置するパターンが選択された後に、選択済パターン情報記憶部23を参照し、選択済みパターンの利益の合計が、予め定めた所定の閾値に到達しているか否かを判定する。上記閾値は、利益の合計とデータ配置後の実際の利益とを比較する実験等を繰り返すことで、最適となる値を適宜設定することができる。
インスタンス配置部14は、利益評価部16により選択済みパターンの利益の合計が閾値に到達していると判定された場合に、選択済パターン情報に従ってインスタンスを各サーバ装置に配置する。
パターン一部導出部11aは、利益評価部16により選択済みパターンの利益の合計が閾値に到達していないと判定された場合に、上記一部のパターンを導出し直す。パターン一部導出部11aは、パターンを導出し直すときには、前回までに導出したパターンを導出対象から除外する。
選択済パターン情報記憶部23は、利益評価部16により選択済みパターンの利益の合計が閾値に到達していないと判定された場合に、現時点で格納している選択済みパターン情報を他の記憶部に移動させ、選択済みパターン情報を他の記憶部に蓄積していく。これにより、選択済パターン情報記憶部23から選択済みパターン情報を削除し、他の記憶部に選択済みパターン情報を蓄積することができる。なお、他の記憶部に蓄積する情報には、少なくとも選択済みパターン情報のうちの利益に関する情報が含まれていればよい。
次に、図13を参照して、第3実施形態におけるデータ配置装置3の動作について説明する。上述した第1実施形態におけるデータ配置装置1の動作と異なるのは、図7に示すステップS102の処理に替えてステップS301の処理を行うことと、図7に示すステップS106の処理とステップS108の処理との間に、ステップS302の処理が追加されることである。なお、上述した第1実施形態におけるデータ配置装置1の動作と同様の処理には同一のステップ符号を付し、その説明は省略する。
最初に、データ配置指示を受信する(ステップS101)と、パターン一部導出部11aは、インスタンス情報記憶部21を参照し、インスタンスの組合せのパターンのうちの一部のパターンのみを導出する(ステップS301)。
続いて、上述した第1実施形態の動作と同様にして、利益算出部12は、パターン一部導出部11aによって導出されたパターンと配置先候補のサーバ装置との組合せごとに利益を算出し(ステップS103)、パターン選択部13は、利益算出部12により算出された利益、およびこれまでに算出されて他の記憶部に蓄積されている利益のうちの最大の利益に対応するパターンを選択し(ステップS104)、選択パターン情報を、選択済パターン情報記憶部23に記憶させる。
続いて、上述した第1実施形態の動作と同様にして、パターン選択部13により全てのサーバ装置に対して配置するパターンが選択されたと判定され(ステップS105;YES)、パターン導出部11により選択済パターン情報に全てのインスタンスが含まれていると判定された場合(ステップS106;YES)に、利益評価部16は、選択済パターン情報記憶部23を参照し、選択済みパターンの利益の合計が閾値に到達しているか、または、全てのパターンを導出し終えたか否かを判定する(ステップS302)。この判定がNOである場合(ステップS302;NO)には、処理を上記ステップS301に移行する。
一方、上記ステップS302の判定がYESである場合(ステップS302;YES)に、インスタンス配置部14は、上述した第1実施形態の動作と同様にして、インスタンスを各サーバ装置に配置する(ステップS108)。
なお、上記ステップS302の判定で利益の合計が閾値に到達している場合(ステップS302;YES)であっても、選択済みパターンの中に、サーバ装置に配置できないパターン(利益が0のパターン)が含まれている場合には、処理を上記ステップS301に移行することにする。これは、第3実施形態では、一部のパターンしか導出しないため、あるサーバ装置には、どのパターンも配置できない事態が発生することも想定されるためである。
また、閾値の設定によっては全てのパターンを導出し終えた後でも利益の合計が閾値に到達しない場合もあり得るが、その場合には最後に選択されたパターンを用いてインスタンスを配置すればよい。
上述したように、第3実施形態におけるデータ配置装置によれば、パターン一部導出部11aにより導出されたパターンを、利益算出の対象にすることができるため、利益算出対象を削減することができる。これにより、利益を算出するための計算工数等を削減することができ、第1実施形態に比べ、より高速にデータ配置を決定することができる。
[第4実施形態]
本発明の第4実施形態について説明する。第4実施形態におけるデータ配置装置の構成を図14に示す。第4実施形態におけるデータ配置装置4が、上述した第1実施形態におけるデータ配置装置1と相違する点は、クエリ監視部17およびクエリ解析部18を新たに追加した点である。それ以外の構成については、第1実施形態におけるデータ配置装置1の各構成と同様であるため、各構成要素には同一の符合を付し、その説明は省略するとともに、以下においては、主に第1実施形態との相違点について説明する。
クエリ監視部17は、各インスタンスに対して実行されるクエリを監視し、例えば、どのような種類のクエリが、どのインスタンスに対してどのような頻度で実行されたのかを示す情報を記録する。図15および図16を参照して、クエリ監視部17により記録される情報の一例について説明する。
図15に示すアクセス情報テーブルT4は、直近1時間の各インスタンスへのアクセス数に関する情報を格納する。図16に示す増減情報テーブルT5は、直近1時間の各インスタンスへの挿入/削除クエリの数に関する情報を格納する。
図14に示すクエリ解析部18は、解析条件が成立した場合に、クエリ監視部17により記録された情報に基づいて、各インスタンスへのアクセス量やデータの増減量を算出し、インスタンス情報記憶部21に格納されるインスタンス情報に付加する。以下に、具体的に説明する。
クエリ解析部18は、例えば、図15に示すアクセス情報テーブルT4に基づいて、インスタンスI1のアクセス頻度値として、“15/(15+25+5)=1/3”を算出し、インスタンスI2のアクセス頻度値として、“25/(15+25+5)=5/9”を算出し、インスタンスI3のアクセス頻度値として、“5/(15+25+5)=1/9”を算出する。クエリ解析部18は、算出したアクセス頻度値を、インスタンス情報記憶部21のインスタンス情報に付加する。
クエリ解析部18は、例えば、図16に示す増減情報テーブルT5の挿入/削除クエリ数情報と、インスタンス情報記憶部21のインスタンス情報に含まれるデータスキーマ情報とに基づいて、各インスタンスのデータの増減数を算出する。クエリ解析部18は、算出したデータの増減数を、インスタンス情報記憶部21のインスタンス情報に付加する。
解析条件が成立したか否かの判断基準としては、例えば、所定時間ごとや、実行されたクエリの数が所定以上になったとき、システム管理者により任意のタイミングで指示が入力されたとき等を用いることができる。
図14に示す利益算出部12は、クエリ解析部18によりインスタンス情報に付加された情報を考慮した評価関数を用いて利益を算出する。評価関数の内容は、例えば、以下のように設定することができる。
アクセス頻度値が高いインスタンスは、負荷が高くなるため、性能の高いサーバ装置に配置するほど利益が高くなるように評価関数の内容を設定する。また、データが増加傾向にあるインスタンスは、リソース量が多いサーバに配置するほど利益が高くなるように評価関数の内容を設定する。
次に、図17を参照して、第4実施形態におけるデータ配置装置4の動作について説明する。上述した第1実施形態におけるデータ配置装置1の動作と異なるのは、データを配置する処理の前段階処理として、クエリを監視/解析する処理が追加されることである。したがって、以下においては、第4実施形態に特有の処理である、クエリを監視/解析する処理について説明する。
最初に、クエリ監視部17は、アプリケーションにより発行されるクエリを監視し(ステップS401)、監視により得られた情報を記録する。
続いて、解析条件が成立した場合(ステップS402;YES)に、クエリ解析部18は、クエリ監視部17により記録された情報に基づいて、クエリを解析し(ステップS403)、解析した結果得られた情報を、インスタンス情報記憶部21のインスタンス情報に付加する。そして、処理を上記ステップS401に移行する。
上述したように、第4実施形態におけるデータ配置装置4によれば、システムの稼動後に変動するアクセス量やデータの増減量を考慮してデータを配置することができるため、上述した第1実施形態に比べ、データ配置の精度をより向上させることができる。
[変形例]
なお、上述した各実施形態は、単なる例示に過ぎず、各実施形態に明示していない種々の変形や技術の適用を排除するものではない。すなわち、本発明は、その趣旨を逸脱しない範囲で様々な形態に変形して実施することができる。
例えば、上述した各実施形態の一部または全部は、以下の付記のようにも記載され得るが、本発明を以下に限定するものではない。
(付記1) 複数のサーバ装置に分散配置するデータの配置先を、前記データを管理する単位であるインスタンスごとに決定するデータ配置装置であって、前記インスタンスの組合せのパターンを導出するパターン導出部と、前記パターン導出部によって導出された前記パターンと前記サーバ装置との組合せごとに、前記パターンを選択した場合に得られる利益を算出する利益算出部と、前記利益算出部によって算出された前記利益のうちの最大の利益に対応する前記パターンを選択するパターン選択部と、を備えることを特徴とするデータ配置装置。
(付記2) 前記パターン導出部によって導出された前記パターン間の類似度を算出し、前記類似度が所定の閾値よりも高い関係にある前記パターンの組が存在する場合に、当該パターンの組に属する複数の前記パターンを、当該パターンの組に含まれるいずれか一つの前記パターンに統合するパターン統合部を、さらに備え、前記利益算出部は、前記パターン統合部によって統合された後に残った前記パターンと前記サーバ装置との組合せごとに、前記利益を算出する、ことを特徴とする付記1記載のデータ配置装置。
(付記3) 前記パターン導出部は、前記インスタンスの組合せのパターンのうちの一部のパターンを導出し、前記利益算出部によって算出された前記利益の合計が所定の閾値に到達しない場合には、前記一部のパターンを導出し直す、ことを特徴とする付記1記載のデータ配置装置。
(付記4) 前記利益算出部は、少なくとも、前記インスタンスのデータ量、データ属性、現時点の配置からのデータ移動量、または前記パターン選択部によって前記パターンに選択された前記インスタンスの選択回数のうちのいずれか一つを用いて、前記利益を算出する、ことを特徴とする付記1〜3のいずれかに記載のデータ配置装置。
(付記5) 前記利益算出部は、さらに、少なくとも、前記インスタンスへのアクセス量、または前記インスタンスのデータ増減量のうちのいずれか一つを用いて、前記利益を算出する、ことを特徴とする付記4記載のデータ配置装置。
(付記6) 前記パターン選択部により選択された前記パターンに従って、前記インスタンスを前記サーバ装置に配置するインスタンス配置部を、さらに備える、ことを特徴とする付記1〜5のいずれかに記載のデータ配置装置。
(付記7) 複数のサーバ装置に分散配置するデータの配置先を、前記データを管理する単位であるインスタンスごとに決定するデータ配置方法であって、前記インスタンスの組合せのパターンを導出するパターン導出ステップと、前記パターン導出ステップにおいて導出された前記パターンと前記サーバ装置との組合せごとに、前記パターンを選択した場合に得られる利益を算出する利益算出ステップと、前記利益算出ステップにおいて算出された前記利益のうちの最大の利益に対応する前記パターンを選択するパターン選択ステップと、を含むことを特徴とするデータ配置方法。
(付記8) 付記7に記載の各ステップをコンピュータに実行させるためのデータ配置プログラム。
1、2、3、4…データ配置装置、11…パターン導出部、11a…パターン一部導出部、12…利益算出部、13…パターン選択部、14…インスタンス配置部、15…パターン統合部、16…利益評価部、17…クエリ監視部、18…クエリ解析部、21…インスタンス情報記憶部、22…サーバ情報記憶部、23…選択済パターン情報記憶部。

Claims (8)

  1. 複数のサーバ装置に分散配置するデータの配置先を、前記データを管理する単位であるインスタンスごとに決定するデータ配置装置であって、
    前記インスタンスの組合せのパターンを導出するパターン導出部と、
    前記パターン導出部によって導出された前記パターンと前記サーバ装置との組合せごとに、前記パターンを選択した場合にユーザ側が受けるユーザ観点の利益および/またはシステム側が受けるシステム観点の利益の度合いを示す利益値を、当該利益値の増減に影響を及ぼす要素を変数に組み込んだ評価関数を演算することで算出する利益算出部と、
    前記利益算出部によって算出された前記利益のうちの最大の利益に対応する前記パターンと前記サーバ装置との組合せを選択し、当該選択した前記パターンと前記サーバ装置との組合せに関する選択パターン情報を記憶装置に記憶させる選択記憶処理を、全ての前記サーバ装置に対して前記パターンが選定されるまで繰り返し行うパターン選択部と、
    を備えることを特徴とするデータ配置装置。
  2. 前記パターン導出部によって導出された前記パターンの中から二つのパターンを選択し、予め定められたパターン間の類似度を算出するための式を用いて二つのパターン間の類似度を算出し、前記類似度が所定の閾値よりも高い場合に、当該2つの前記パターンを、いずれか一つの前記パターンに統合する統合処理を所定回数実行するパターン統合部を、さらに備え、
    前記利益算出部は、前記パターン統合部によって統合された後に残った前記パターンと前記サーバ装置との組合せごとに、前記利益を算出する、
    ことを特徴とする請求項1記載のデータ配置装置。
  3. 前記パターン導出部は、
    前記インスタンスの組合せのパターンのうちの一部のパターンを導出し、
    前記利益算出部によって算出された前記利益の合計が所定の閾値に到達しない場合には、前記一部のパターンを導出し直す、
    ことを特徴とする請求項1記載のデータ配置装置。
  4. 前記評価関数には、少なくとも、前記インスタンスのデータ量、データ属性に対応する情報、現時点の配置からのデータ移動量、または前記パターン選択部によって前記パターンに選択された前記インスタンスの選択回数のうちのいずれか一つが前記変数として組み込まれる
    ことを特徴とする請求項1〜3のいずれか1項に記載のデータ配置装置。
  5. 前記評価関数には、さらに、少なくとも、前記インスタンスへのアクセス量、または前記インスタンスのデータ増減量のうちのいずれか一つが前記変数として組み込まれる
    ことを特徴とする請求項4記載のデータ配置装置。
  6. 記憶装置に記憶された選択パターン情報に基づいて前記サーバ装置に対応する前記パターンにより特定される前記インスタンスを、対応する前記サーバ装置に配置するインスタンス配置部を、さらに備える、
    ことを特徴とする請求項1〜5のいずれか1項に記載のデータ配置装置。
  7. 複数のサーバ装置に分散配置するデータの配置先を、前記データを管理する単位であるインスタンスごとに決定するデータ配置方法であって、
    前記インスタンスの組合せのパターンを導出するパターン導出ステップと、
    前記パターン導出ステップにおいて導出された前記パターンと前記サーバ装置との組合せごとに、前記パターンを選択した場合にユーザ側が受けるユーザ観点の利益および/またはシステム側が受けるシステム観点の利益の度合いを示す利益値を、当該利益値の増減に影響を及ぼす要素を変数に組み込んだ評価関数を演算することで算出する利益算出ステップと、
    前記利益算出ステップにおいて算出された前記利益のうちの最大の利益に対応する前記パターンと前記サーバ装置との組合せを選択し、当該選択した前記パターンと前記サーバ装置との組合せに関する選択パターン情報を記憶装置に記憶させる選択記憶処理を、全ての前記サーバ装置に対して前記パターンが選定されるまで繰り返し行うパターン選択ステップと、
    を含むことを特徴とするデータ配置方法。
  8. 請求項7に記載の各ステップをコンピュータに実行させるためのデータ配置プログラム。
JP2011102964A 2011-05-02 2011-05-02 データ配置装置、データ配置方法およびデータ配置プログラム Expired - Fee Related JP5733684B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011102964A JP5733684B2 (ja) 2011-05-02 2011-05-02 データ配置装置、データ配置方法およびデータ配置プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011102964A JP5733684B2 (ja) 2011-05-02 2011-05-02 データ配置装置、データ配置方法およびデータ配置プログラム

Publications (2)

Publication Number Publication Date
JP2012234396A JP2012234396A (ja) 2012-11-29
JP5733684B2 true JP5733684B2 (ja) 2015-06-10

Family

ID=47434651

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011102964A Expired - Fee Related JP5733684B2 (ja) 2011-05-02 2011-05-02 データ配置装置、データ配置方法およびデータ配置プログラム

Country Status (1)

Country Link
JP (1) JP5733684B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06168176A (ja) * 1992-12-01 1994-06-14 Nec Software Kansai Ltd ファイル配置方式
JP2003216521A (ja) * 2002-01-28 2003-07-31 Nippon Telegr & Teleph Corp <Ntt> コンテンツの配置方法、この方法のプログラム、このプログラムを記録した記録媒体
EP1798934A1 (en) * 2005-12-13 2007-06-20 Deutsche Thomson-Brandt Gmbh Method and apparatus for organizing nodes in a network
JP5284685B2 (ja) * 2008-05-16 2013-09-11 インターナショナル・ビジネス・マシーンズ・コーポレーション ファイルの再配置装置、再配置方法、及び再配置プログラム
JP2010277517A (ja) * 2009-06-01 2010-12-09 Ricoh Co Ltd ファイル管理サーバ、ファイル管理システム、ファイル管理プログラム、及びファイル管理方法

Also Published As

Publication number Publication date
JP2012234396A (ja) 2012-11-29

Similar Documents

Publication Publication Date Title
US11921606B2 (en) Methods and systems for determining system capacity
US8782635B2 (en) Reconfiguration of computer system to allow application installation
US9189273B2 (en) Performance-aware job scheduling under power constraints
JP5218390B2 (ja) 自律制御サーバ、仮想サーバの制御方法及びプログラム
US20130311642A1 (en) Automated discovery of template patterns based on received server requests
CN105989015B (zh) 一种数据库扩容方法和装置以及访问数据库的方法和装置
WO2016178316A1 (ja) 計算機調達予測装置、計算機調達予測方法、及び、プログラム
KR102141083B1 (ko) 데이터베이스 시스템의 최적화 방법, 시스템, 전자장치 및 저장매체
Lee et al. Hybrid job-driven scheduling for virtual MapReduce clusters
US20080127193A1 (en) Scheduling method for executing jobs, scheduling apparatus for executing jobs, rewritable recording medium on which scheduling program for executing jobs is recorded
JP2012118669A (ja) 負荷分散処理システム及び負荷分散処理方法
CN109388614A (zh) 一种目录文件个数配额的方法、系统及设备
US20230325375A1 (en) Measuring and improving index quality in a distrubuted data system
JP5515889B2 (ja) 仮想マシンシステム、自動マイグレーション方法および自動マイグレーションプログラム
CN103365923A (zh) 用于评估数据库的分区方案的方法和装置
US9898518B2 (en) Computer system, data allocation management method, and program
JP5733684B2 (ja) データ配置装置、データ配置方法およびデータ配置プログラム
JP6747664B2 (ja) 匿名化処理装置、匿名化処理方法、及びプログラム
KR102212108B1 (ko) 스토리지 오케스트레이션의 학습형 최적화 대상 볼륨 선정 방법
CN112748850B (zh) 用于存储管理的方法、设备和计算机程序产品
KR102054068B1 (ko) 그래프 스트림에 대한 실시간 분산 저장을 위한 분할 방법 및 분할 장치
US9459999B2 (en) Memory control method for a computer system
US9858551B2 (en) Ranking analysis results based on user perceived problems in a database system
JP2018032079A (ja) データ分配プログラム、データ分配方法、およびデータ分配装置
JP6321559B2 (ja) アクセス制御装置、アクセス制御方法及びアクセス制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140409

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141125

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150122

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: 20150323

R150 Certificate of patent or registration of utility model

Ref document number: 5733684

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150405

LAPS Cancellation because of no payment of annual fees