JP5625634B2 - データ分散プログラム、データ格納プログラム、データ分散装置、データ格納装置、データ分散方法、およびデータ格納方法 - Google Patents

データ分散プログラム、データ格納プログラム、データ分散装置、データ格納装置、データ分散方法、およびデータ格納方法 Download PDF

Info

Publication number
JP5625634B2
JP5625634B2 JP2010196191A JP2010196191A JP5625634B2 JP 5625634 B2 JP5625634 B2 JP 5625634B2 JP 2010196191 A JP2010196191 A JP 2010196191A JP 2010196191 A JP2010196191 A JP 2010196191A JP 5625634 B2 JP5625634 B2 JP 5625634B2
Authority
JP
Japan
Prior art keywords
data
database
arrangement
data items
items
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
JP2010196191A
Other languages
English (en)
Other versions
JP2012053702A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010196191A priority Critical patent/JP5625634B2/ja
Priority to US13/176,969 priority patent/US8924386B2/en
Publication of JP2012053702A publication Critical patent/JP2012053702A/ja
Application granted granted Critical
Publication of JP5625634B2 publication Critical patent/JP5625634B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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

Landscapes

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

Description

本発明は、分散データベースにおいてデータを分散するデータ分散プログラムおよびデータ分散装置、並びにデータベース装置においてデータを格納するデータ格納プログラムおよびデータ格納装置に関する。
現在、データベース技術において、スケーラビリティやアベイラビリティの向上のために、分散データベースが用いられている。
分散データベースは、ネットワークに接続した複数のコンピュータにデータを分散して配置し、複数のコンピュータが持っている複数のデータベースをあたかも単一のデータベースであるかのように見せる技術である。
特開2006−85208号公報 特開2007−219634号公報 特開2005−141436号公報
しかしながら、分散データベースを構築する場合、高信頼データセンター(例えば、オンプレミス、プライベートクラウド)のみを利用して、データ分散を行うと、コストが高くなるという問題があった。
また、秘密分散技術を用いて、データを暗号化して分散配置する場合、暗号化・復号化に時間がかかるという問題、データを復号するためには複数個の分散情報が必要となるという問題があった。
本発明の課題は、セキュアな分散データベース構築するためのデータ分散プログラムおよびデータ格納プログラムを提供することである。
実施の形態のプログラムは、複数のデータ項目を有するデータを複数のデータサーバ装置に分散する処理をコンピュータに実行させるためのデータ分散プログラムであって、前記複数のデータ項目のうち2つ以上のデータ項目を前記複数データサーバ装置のうち同じデータベース装置に配置しないことを示す排他情報を記憶部から読み出す手順と、前記排他情報に基づき、前記2つ以上のデータ項目を前記複数のデータベース装置のうち異なるデータサーバ装置に配置するように、前記データ項目の配置を決定する手順と、決定した配置に従って、前記複数のデータ項目を前記複数のデータサーバ装置に送信する手順と、を前記コンピュータに実行させる。
実施の形態のプログラムは、複数の行からなるデータを格納するコンピュータに実行させるためのデータ格納プログラムであって、前記データを受信する手順と、前記データの各行に対応するユニークなキーを生成する手順と、前記キーと前記データの各行を対応付けたデータを記憶部に格納する手順と、前記格納したデータの行をシャッフルして、シャッフルしたデータを記憶部に格納する手順と、を前記コンピュータに実行させる。
実施の形態のプログラムによれば、一つのデータベース装置からデータが漏洩しても、該データだけでは意味を成さないため、セキュリティが向上するという効果を奏する。
また、実施の形態のプログラムによれば、複数のデータベースからデータが漏洩しても、データベース間のデータの対応関係が分からないため、セキュリティが向上するという効果を奏する。
また、コストの高い高信頼の装置を使う必要がないため、コストを低くすることが出来る。
実施の形態に係るデータベースシステムの構成図である。 実施の形態に係るデータベースシステムの詳細な構成図である。 データベース装置特性情報の例である。 データ配置ポリシーの例である。 スキーマの例である。 登録データの例である。 列名対応表の例である。 行対応表の例である。 データベース装置Aに登録されたデータの例である。 データベース装置Bに登録されたデータの例である。 データベース装置Cに登録されたデータの例である。 シャッフル後のデータベース装置Aに登録されたデータの例である。 シャッフル後のデータベース装置Bに登録されたデータの例である。 シャッフル後のデータベース装置Cに登録されたデータの例である。 データベース装置Aの統計情報の例である。 データベース装置Bの統計情報の例である。 データベース装置Cの統計情報の例である。 実施の形態に係るデータベース設定処理のフローチャートである。 実施の形態に係るスキーマ作成処理の詳細なフローチャートである。 実施の形態に係るデータ配置の決定処理の詳細なフローチャートである 実施の形態に係る列データの分散決定処理の詳細なフローチャートである。 実施の形態に係るデータ登録処理のフローチャートである。 実施の形態に係るデータの配置変更処理のフローチャートである。 実施の形態に係るポリシー適合判定処理の詳細なフローチャートである。 実施の形態に係るデータアクセス処理のフローチャートである。 情報処理装置(コンピュータ)の構成図である。
以下、図面を参照しながら本発明の実施の形態を説明する。
図1は、実施の形態に係るデータベースシステムの構成図である。
データベース(DB)システム101は、DB Proxy102、データベース装置103−n(n=1〜3)を備える。尚、データベース装置103−1、103−2、103−3は、それぞれデータベース装置A、データベース装置B、データベース装置Cとも呼ぶ。
DB Proxy102、データベース装置103−n、およびクライアント104は、ネットワーク105を介して接続している。
DB Proxy102は、データベース装置103へのデータ配置の決定や検索結果の応答などを行う。
データベース装置103は、データを格納する。また、データベース装置103は、データの容量やデータに対するアクセス頻度などの情報を収集する。
クライアント104は、DB Proxy102に対して、データの登録や検索などを依頼する。また、DB Proxy102から検索結果などの処理結果を受け取る。
図2は、データベースシステムの詳細な構成図である。
DB Proxy102は、リクエスト受付部201、データ配置決定部202、統計情報収集部203、データ再配置計画部204、リクエスト処理部205、および記憶部206を備える。
リクエスト受付部201は、クライアント104からのテーブル作成リクエストやデータ登録リクエスト等を受信する。
データ配置決定部202は、データベース装置103に配置するデータを決定する。
統計情報収集部203は、データベース装置103のアクセス頻度などの統計情報を収集する。
データ再配置計画部204は、データ配置がデータ配置ポリシーに適合しているか判断し、適合していない場合は、データの再配置を行う。
リクエスト処理部205は、スキーマ作成やデータ登録などのリクエストをデータベース装置103へ発行する。
記憶部206は、データベース装置103の特性情報やデータ配置ポリシー等の情報を格納する。
データベース装置103−nは、情報収集部301−n、リクエスト処理部302−n、記憶部303−nを備える。
情報収集部301は、データベース装置103が格納しているデータへのアクセス頻度や格納しているデータ量をカウントし、アクセス頻度およびデータ量を統計情報として記憶部303に記憶する。
リクエスト処理部302は、クライアントから104のリクエストに応じて、データの送受信やデータの格納などを行う。
記憶部303は、分散されたデータが記述されたテーブル(データベース)や該テーブルの構造を示すスキーマを格納する。
以下、実施の形態のデータ配置決定処理やデータ更新処理などについて説明する。
先ず、実施の形態の処理を説明する前に、実施の形態の処理で用いられる各種情報について説明する。
図3は、データベース装置特性情報の例である。
データベース装置特性情報401は、データベース装置名とデータベース装置の特性とが対応付けられて記述されている。特性として記述される内容としては、稼働率、性能、コスト、容量がある。
稼働率は、全時間に対するデータベース装置103が稼動している時間の割合である。
性能は、データベース装置103の処理速度やレイテンシ等に基づいた値である。
コストは、データ量に対する必要金額である。
容量は、データベース装置103の最大記憶容量である。
例えば、図3のデータベース装置特性情報401において、データベース装置Aの稼働率は99.95%、性能は5、コストは1ドル当たり0.20GB、最大記憶容量は100GBである。
データベース装置特性情報401は、記憶部206に格納される。
図4は、データ配置ポリシーの例である。
データ配置ポリシー402には、データをどのように配置するかを示す情報(ポリシー)が記載されている。
例えば、図4のデータ配置ポリシー402には「稼働率99%未満のデータベース装置を利用する場合は、複数データベース装置にレプリカを作成」と記述されている。すなわち、稼働率99%未満のデータベース装置では、同様に稼働率99%未満の他データベース装置複数台と組み合わせて同じデータを管理する旨が記載されている。
また、図4のデータ配置ポリシー402には、ポリシーとして「コスト重視」と記述されている。すなわち、コストが低くなるようにデータの配置を決定する旨が記載されている。
データ配置ポリシー402は、記憶部206に格納される。
図5は、スキーマの例である。
スキーマは、例えばStructured Query Language(SQL)スキーマであり、データベースの構造を表す。
図5のスキーマ403には、データ項目(例えば、顧客ID、顧客名)、該データ項目のデータ型(例えば、CHARACTER、DATE)、制約条件(例えば、UNIQUE、NOT NULL)が対応付けられて記述されている。
スキーマ403は、例えば、従来と同様にSQLによって作成される。
実施の形態において、同じデータベース装置に配置できないデータ項目に対して、排他関係を示すMUTEX(n)が制約条件として付加される。同じキーnを持つデータ項目は、同じデータベース装置103に配置しないことを示す。
例えば、図5のスキーマ403において、顧客名IDと顧客名の制約条件にMUTEX(1)が記述されている。これは、同じデータベース装置103に顧客IDと顧客名のデータを配置できないことを示す。
同様に、生年月日と家族構成の制約条件にMUTEX(2)が記述されており、同じデータベース装置103に生年月日と家族構成のデータを配置できないことを示す。
ユーザは、同じデータベース装置103に配置したくないデータ項目がある場合、スキーマ403の該データ項目の制約条件にMUTEX(n)を記述することで、後述のデータ分散決定処理において、該データ項目は同じデータベース装置103に配置されなくなる。
例えば、組み合わせると意味を成すようなデータ項目に対して、MUTEX(n)を記述すると、該データ項目は同じデータベース装置103に配置されなくなる。したがって、ある一つのデータベース装置103からデータが漏洩しても、該データベース装置103にあるデータだけでは、意味を成さないのでセキュリティが向上する。
図6は、登録データの例である。
図6の登録データ404は、データベース装置103に分散する前のデータである。
登録データ404は、データ項目として、顧客ID、顧客名、生年月日、資産、家族構成、掛金、および分類を有する。
登録データ404には、各データ項目に対し、3つのデータが記述されている。
したがって、実施の形態の登録データ404は、3行×7列のデータである。
図7は、列名対応表の例である。
図7の列名対応表405は、変更前のデータ項目名(列名)と変更後のデータ項目名(列名)の対応関係を示す表である。列名対応表405には、変更前のデータ項目名と変更後のデータ項目名とが対応付けられて記述されている。また、データベース名やテーブル名も記述しても良い。
列名対応表405は、項目として、オリジナルおよび変更後を有する。
オリジナルには、変更前のデータ項目名(列名)が記述されている。
変更後名は、変更後のデータ項目名(列名)が記述されている。実施の形態において、変更後名に記述されるデータの形式は、「データベース名.テーブル名.変更後のデータ項目名」である。
例えば、列名対応表405において、顧客IDとA.Foo.Bが対応している。これは、顧客IDがデータベース装置AのテーブルFooのデータ項目(列名)Bに記述されていることを示す。
図8は、行対応表の例である。
図8の行対応表406は、データベース装置間のテーブルの行の対応関係を示す表である。行対応表406には、各データベース装置のテーブルの行に割り当てられたキーが対応付けられて記述されている。
行対応表406において、キーXYZ、324、およびw4tが対応付けられて記述されている。これは、データベース装置AのテーブルのXYZが記述された行と、データベース装置Bのテーブルの324が記述された行と、データベース装置Cのテーブルのw4tが記述された行とが対応していることを示す。すなわち、これらキーが記述された行のデータが関連したデータであることを示す。
図9A、B、およびCは、それぞれデータベース装置A、B、およびCに登録されたデータの例である。
図9A〜Cのデータは、実施の形態のデータ配置決定処理を行い、図6の登録データ404を各データベース装置103に分散して登録したデータである。
尚、データベース装置A、B、およびCにおいて、それぞれデータを格納するテーブル(またはデータベースと呼ぶ)をFoo407、Bar408、およびBaz409としている。
図9D、E、およびFは、それぞれシャッフル後のデータベース装置A、B、およびCに登録されたデータの例である。
図9D、E、およびFは、それぞれ図9A、B、およびCに示すデータの行をシャッフル(適当に入れ替え)したデータである。
尚、データベース装置A、B、およびCにおいて、シャッフル後のそれぞれデータを格納するテーブルをFoo410、Bar411、およびBaz412としている。
図10A〜Cは、統計情報の例である。
図10A、B、およびCは、それぞれデータベース装置A、B、およびCの統計情報である。
統計情報413−nは、それぞれ記憶部303−nに格納されている。
統計情報413には、データベース装置に登録されたデータに関する情報が格納されている。
具体的には、統計情報413は、テーブルの列名、アクセス頻度、およびデータ量が対応付けられて記述されている。
アクセス頻度は、列名のデータに対するアクセスの頻度を示す。
データ量は、列名のデータの大きさである。
例えば、図10Aにおいて、列名Bのデータは、1日あたり50万回アクセスされ、データのサイズは10GBであることを示す。
以下、実施の形態のDB proxy102およびデータベース装置103が行う処理について説明する。
図11は、実施の形態に係るデータベース設定処理のフローチャートである。
ステップS1001において、ユーザはデータベース装置特性情報401を記憶部206に登録する。
ステップS1002において、ユーザはデータ配置ポリシー402を記憶部206に登録する。
ステップS1003において、ユーザはクライアント104からスキーマ作成リクエストをDB Proxy102に発行する。実施の形態において、スキーマ作成リクエストには、図5に示すスキーマ403が含まれる。
ステップS1004において、各データベース装置103はスキーマを作成する。
尚、ステップS1004の詳細な処理については後述する。
図12は、実施の形態に係るスキーマ作成処理(ステップS1004)の詳細なフローチャートである。
ステップS1101において、リクエスト受付部201は、クライアント104からスキーマ作成リクエストを受信する。また、スキーマ作成リクエストに含まれるスキーマ403は、記憶部206に格納しておく。
ステップS1102において、データ配置決定部202は、各データベース装置103へのデータ配置を決定する。
尚、ステップS1102のデータ配置の決定処理の詳細については後述する。
ステップS1103において、リクエスト処理部205は、利用する全てのデータベース装置103にリクエストを送信したかチェックする。利用する全てのデータベース装置103にリクエストを送信した場合、処理を終了し、利用する全てのデータベース装置103にリクエストを送信していない場合、ステップS1104に制御は進む。
ステップS1104において、リクエスト処理部205は、ステップS1102で決定したデータ配置および列対応表に基づいて、スキーマ作成リクエストを生成し、データベース装置103へ送信する。
ステップS1105において、データベース装置103は、スキーマ作成リクエストに基づいてスキーマを作成する。
図13は、実施の形態に係るデータ配置の決定処理(ステップS1102)の詳細なフローチャートである。
ステップS1201において、データ配置決定部202は、データベース装置間でのデータ項目(列データ)の分散を決定する。
尚、列データの分散決定の処理の詳細については後述する。
実施の形態においては、登録データ404のうち、顧客ID、生年月日、資産、掛金、および分類をデータベース装置Aに配置し、顧客名および家族構成をデータベース装置B、Cに配置すると決定されたとする。
ステップS1202において、データ配置決定部202は、各データベース装置103に作成するテーブル名を任意に決定し、各データ項目名(列データ名)に任意の名前を割り当てる。
各データ項目名に任意の名前を割り当てることで、データが漏洩しても、データが何のデータであるか不明であるため、セキュリティが向上する。
実施の形態において、データベース装置A〜Cに作成するテーブル名は、それぞれFoo、Bar、Bazとする。
また、テーブルFooにおいて、顧客ID、生年月日、資産、掛金、および分類をそれぞれ、B、C、D、E、Fとする。テーブルBarにおいて、顧客名および家族構成をそれぞれ、βおよびγとする。テーブルBazにおいて、顧客名および家族構成をそれぞれ、IIおよびIIIとする。
ステップS1203において、データ配置決定部202は、ステップS1202で割り当てたテーブル名、データ項目名を記憶部206の列対応表に登録する。
実施の形態において、上述のテーブル名やデータ項目名を登録すると、図7のような列対応表405が生成される。
ステップS1204において、データ配置決定部202は、列対応表を参照し、各データベース装置103に対して発行するスキーマ作成リクエストを生成する。
図14は、実施の形態に係る列データの分散決定処理(ステップS1201)の詳細なフローチャートである。
ステップS1301において、データ配置決定部202は、データベース装置特性情報401およびデータ配置ポリシー402を参照し、データベース装置特性情報401およびデータ配置ポリシー402に基づいて、データ配置ポリシー402に指定された稼働率を満たさないデータベース装置103を組み合わせる。
実施の形態において、データ配置ポリシー402には「稼働率99%未満のデータベース装置を利用する場合は、複数データベース装置にレプリカを作成」と記述されている。すなわち、稼働率99%未満のデータベース装置では、同様に稼働率99%未満の他データベース装置複数台と組み合わせて同じデータを管理する旨が記載されている。
また、データベース装置特性情報401を参照すると、データベース装置Aの稼働率は99.95%、データベース装置Bの稼働率は98.9%、データベース装置Cの稼働率は98.0%である。
したがって、稼働率が99%未満のデータベース装置Bとデータベース装置Cが組み合わせられる。よって、以下の処理において、データベース装置Aと(データベース装置B、C)の2つに分散するようにデータの配置が決定される。
ステップS1302において、データ配置決定部202は、スキーマ403を参照し、スキーマ403に記載された項目のうち、組み合わせ不可な項目をそれぞれ抽出する。
実施の形態において、図5のスキーマ403では、顧客IDと顧客名には引数としてMUTEX(1)、生年月日と家族構成には引数としてMUTEX(2)が割り当てられている。したがって、顧客IDと顧客名、生年月日と家族構成をそれぞれ組み合わせ不可な項目リストとして抽出する。
ステップS1303において、データ配置決定部202は、データ配置ポリシー402を参照し、データ配置ポリシーがコスト重視か性能重視か判定する。データ配置ポリシーがコスト重視の場合、制御はステップS1304に進み、性能重視の場合、制御はステップS1308に進む。
例えば、実施の形態において、図4のデータ配置ポリシー402には、「コスト重視」と記述されているので、ステップS1304に制御は進む。
ステップS1304において、データ配置決定部202は、割り当て未決定の不可項目リストのうちの一つを選択する。
例えば、実施の形態において、不可項目リストとして、顧客IDと顧客名を選択する。
ステップS1305において、データ配置決定部202は、選択した不可項目リストのうち、サイズが大きい順にデータ項目をコストの安いデータベース装置103に順次割り当てる。サイズの大きさは、スキーマ403に記述されたデータ型(例えば、CHARACTER, DATE, INTEGERなど)に基づき判断する。尚、項目のデータ型が同じ場合は、不可項目リストの並び順に割り当てる。
実施の形態において、顧客IDと顧客名を割り当てる場合、顧客IDと顧客名のデータ型はCHARACTERであるので、データ型は等しい。よって、顧客ID、顧客名の順でデータベース装置103に割り当てる。
実施の形態において、上記ステップS1301で述べたように、データベース装置Bとデータベース装置Cが組み合わせられたので、データベース装置Aと(データベース装置B、C)の2つにデータを割り当てる。データベース装置特性情報401を参照して、データベース装置Aと(データベース装置B、C)のそれぞれのコストを算出すると、データベース装置Aのコストは$0.20/GBであり、データベース装置B、Cのコストは、$0.15/GB+$0.10/GB=$0.25/GBである。したがって、データベース装置Aのほうがコストが安いので、データベース装置A、データベース装置B、Cの順にデータを割り当てる。
以上より、顧客IDはデータベース装置Aに割り当てられ、顧客名はデータベース装置B、Cに割り当てられる。
また、生年月日と家族構成を割り当てる場合、生年月日と家族構成のデータ型は、それどれ、DATEとINTEGERである。DATEのほうがINTEGERよりサイズが大きいので、生年月日と家族構成の順で割り当てる。
したがって、生年月日はデータベース装置Aに割り当てられ、家族構成はデータベース装置B、Cに割り当てられる。
ステップS1306において、データ配置決定部202は、全ての割り当て未決定の不可項目リストの割り当てを完了したか判断する。割り当てが完了した場合、制御はステップS1307に進み、割り当てが完了していない場合、制御はステップS1205に戻る。
ステップS1307において、データ配置決定部202は、最もコストの安いデータベース装置に残りの項目を割り当てる。
実施の形態において、上述のようにデータベース装置Aのコストが最も安いので、スキーマ403を参照して、ステップS1302で抽出しなかった項目(すなわち、資産、掛け金、および分類)をデータベース装置Aに割り当てる。
ステップS1308において、データ配置決定部202は、スキーマ403を参照し、スキーマ403に記載された項目のうち、組み合わせ不可な項目をそれぞれ抽出する。
実施の形態において、図5のスキーマ403では、顧客IDと顧客名には引数としてMUTEX(1)、生年月日と家族構成には引数としてMUTEX(2)が割り当てられている。したがって、顧客IDと顧客名、生年月日と家族構成をそれぞれ組み合わせ不可な項目リストとして抽出する。
ステップS1309において、データ配置決定部202は、選択した不可項目リストのうち、サイズが大きい順にデータ項目を性能の高いデータベース装置103に順次割り当てる。サイズの大きさは、スキーマ403に記述されたデータ型(例えば、CHARACTER, DATE, INTEGERなど)に基づき判断する。尚、データ項目のデータ型が同じ場合は、不可項目リストの並び順に割り当てる。
実施の形態において、顧客IDと顧客名を割り当てる場合、顧客IDと顧客名のデータ型はCHARACTERであるので、データ型は等しい。よって、顧客ID、顧客名の順で割り当てる。
実施の形態において、上記ステップS1301で述べたように、データベース装置Bとデータベース装置Cが組み合わせられたので、データベース装置Aと(データベース装置B、C)の2つにデータを割り当てる。データベース装置特性情報を参照して、データベース装置Aと(データベース装置B、C)のそれぞれの性能を算出すると、データベース装置Aの性能は5であり、データベース装置B、Cの性能は、MIN(8,10)=8である。したがって、性能は(データベース装置B、C)の方が高いので、(データベース装置B、C)、データベース装置Aの順にデータを割り当てる。
以上より、顧客IDは(データベース装置B、C)に割り当てられ、顧客名はデータベース装置Aに割り当てられる。
また、生年月日と家族構成を割り当てる場合、生年月日と家族構成のデータ型は、それどれ、DATEとINTEGERである。DATEのほうがINTEGERよりサイズが大きいので、生年月日と家族構成の順で割り当てる。
したがって、生年月日はデータベース装置B、Cに割り当てられ、家族構成はデータベース装置Aに割り当てられる。
ステップS1310において、データ配置決定部202は、全ての割り当て未決定の不可項目リストの割り当てを完了したか判断する。割り当てが完了した場合、制御はステップS1311に進み、割り当てが完了していない場合、制御はステップS1309に戻る。
ステップS1311において、データ配置決定部202は、最も性能の高いデータベース装置に残りの項目を割り当てる。
実施の形態において、上述のようにデータベース装置B、Cの性能が最も高いので、スキーマ403を参照して、ステップS1302で抽出しなかった項目(すなわち、資産、掛け金、および分類)をデータベース装置B、Cに割り当てる。
次に、データベース装置103にデータを登録する処理について述べる。尚、上述のデータベース設定処理は、すでに行われているものとする。
図15は、実施の形態に係るデータ登録処理のフローチャートである。
尚、以下の処理において、ステップS1401〜S1405、S1409〜1411は、DB Proxy102で行われ、ステップS1406〜S1407はデータベース装置103で行われる。
ステップS1401において、リクエスト処理部201は、クライアント104からデータ登録リクエストを受信する。データ登録リクエストには、登録データ404と登録データ404の登録を要求する旨とが含まれている。
ステップS1402において、リクエスト処理部205は、行対応表406に各データベース装置103のユニークキーを記述するためのエントリを作成する。
ステップS1403において、リクエスト処理部205は、データの登録が済んでいないデータベース装置103を一つ選択する。
ステップS1404において、リクエスト処理部205は、列名対応表405を参照して、選択したデータベース装置103が保持するデータ項目に合わせて、データ登録リクエストを修正する。データ登録リクエストには、選択したデータベース装置103に登録する登録データおよび該登録データを登録する旨が含まれている。
例えば、実施の形態において、列名対応表405を参照すると、データベース装置Aは、登録データとして、DB Aキー、顧客ID、生年月日、資産、掛け金、および分類を保持する。また、データベース装置Aにおいて、DB Aキー、顧客ID、生年月日、資産、掛け金、および分類は、それぞれA、B、C、D、E、およびFに名前が変更される。したがって、リクエスト処理部205は、登録データ404のうち、顧客ID、生年月日、資産、掛け金、および分類をデータベース装置Aに登録する登録データとして送信する。また、DB Aキー、顧客ID、生年月日、資産、掛け金、および分類を、それぞれA、B、C、D、E、およびFとして、登録する旨を送信する。
ステップS1405において、リクエスト処理部205は、選択したデータベース装置103に、データ登録リクエストを送信する。
ステップS1406において、リクエスト処理部302は、受信した登録データの各行に対応するユニークキーを生成する。尚、データベース装置XのユニークキーはDB Xキーと呼ぶ。
例えば、実施の形態において、データベース装置Aでは、登録データの1、2、および3行目に対応するユニークキー(DB Aキー)としてXYZ、AFG、およびFRGが生成される。
ステップS1407において、リクエスト処理部302は、上記ユニークキーと受信した登録データをテーブルに登録する。そして、テーブルに登録したデータの行をシャッフル(適当に入れ替え)する。これにより、データベース装置103には、データの行がシャッフルされたテーブルが配置される。
例えば、実施の形態において、データベース装置Aでは、ユニークキーと受信したデータをテーブルFooに登録すると、図9Aに示すようなテーブルFoo407が登録される。そして、テーブルFoo407の行のシャッフルを行う。例えば、テーブルFoo407の2行目と3行目を入れ替える。
これにより、データベース装置Aには、図9Dに示すようなテーブルFoo410が登録される。
同様に、データベース装置Bおいて、図9Bに示すようなテーブルBar408が登録され、データベース装置Cおいて、図9Cに示すようなテーブルBaz409が登録される。そして、データベース装置BおよびCにおいて、それぞれ行のシャッフルを行うことにより、データベース装置Bには、図9Eに示すようなテーブルBar411が登録され、データベース装置Cには、図9Fに示すようなテーブルBaz412が登録される。
ステップS1408において、リクエスト処理部302は、DB Proxyにデータの登録完了を通知する。このとき、ステップS1406で生成したユニークキーも送信する。
ステップS1409において、リクエスト処理部205は、行対応表406に受信したユニークキーを登録する。
例えば、実施の形態において、リクエスト処理部205は、データベース装置Aから受信したユニークキーXYZ、AFG、およびFRGを行対応表406のDB Aキーのエントリに記述する。
ステップS1410において、リクエスト処理部205は、すべてのデータベース装置103にデータの登録が完了したかチェックする。データの登録が完了した場合、制御はステップS1411に進み、完了していない場合、制御はステップS1403に戻る。
ステップS1411において、リクエスト受付部201は、クライアント104に登録完了を通知する。
上述の処理により、各データベース装置103にデータが分散して登録される。
次に、データベース装置の統計情報に基づいて、設定されたポリシー(例えば、コスト重視、性能重視)を満たすようにデータの配置を動的に変更する処理について説明する。
図16は、実施の形態に係るデータの配置変更処理のフローチャートである。
ステップS1501において、統計情報収集部203は、定期的に各データベース装置103から統計情報413を収集する。
実施の形態において、統計情報収集部203は、データベース装置A、B、およびCから、それぞれ統計情報413−1、413−2、および413−3を収集する。また、収集した統計情報413は、記憶部206に格納しておく。
ステップS1502において、データ再配置計画部204は、収集した統計情報413に基づいて、データの配置がデータ配置ポリシー402に記述されたポリシーに合致しているか否か判定する。データの配置がポリシーに合致していた場合、処理は終了し、合致していない場合、制御はステップS1503に進む。
尚、データ配置がポリシーに合致しているか否かの判定処理の詳細については後述する。
ステップS1503において、データ再配置計画部204は、データ配置ポリシー402に記述されたポリシーに合致するように、データ配置を決定する。尚、このとき、スキーマに記述された制約条件(排他情報MUTEX)も考慮して決定する。データ配置の決定の方法としては、例えば、データ配置のすべての組み合わせをチェックして、ポリシー(例えばコスト重視)および制約条件を満たすものを選択する。
ここで、データの再配置のため、データ移動を行うデータ項目を移動対象項目と呼ぶ。
ステップS1504において、データ再配置計画部204は、移動対象項目のうち、また移動していない移動対象項目を一つ選択する。
ステップS1505において、データ再配置計画部204は、移動先データベース装置に対し、スキーマに移動対象項目を追加するように指示する。移動先データベース装置は、スキーマに移動対象項目を追加する。
ステップS1506において、データ再配置計画部204は、移動元データベース装置に移動先データベース装置へ移動対象項目のデータを送信するように指示する。移動元データベース装置は、指示を受信すると、移動先データベース装置へ移動対象項目のデータを送信する。移動先データベース装置は、データを受信すると、テーブルに該データを登録する。
ステップS1507において、データ再配置計画部204は、移動元データベース装置にスキーマから移動対象項目を削除するように指示する。移動元データベース装置は、スキーマから移動対象項目を削除する。
ステップS1508において、データ再配置計画部204は、列名対応表405の移動対象項目に対応する変更後名の欄を「移動先データベース装置名.移動先データベース装置のテーブル名. 変更後のデータ項目名」に変更する。
ステップS1509において、データ再配置計画部204は、移動対象項目をすべて移動完了したか判断する。移動完了した場合、制御はステップS1510に進み、移動完了していない場合、ステップS1504に制御は戻る。
ステップS1510において、データ再配置計画部204は、データベース装置103に統計情報413を初期化するように指示する。各データベース装置103は、統計情報413を初期化する。
図17は、ポリシー適合判定処理(ステップS1502)の詳細なフローチャートである。
ステップS1601において、データ再配置計画部204は、データ配置ポリシー402を参照し、ポリシーがコスト重視か性能重視か判定する。ポリシーがコスト重視の場合、制御はステップS1602へ進み、性能重視の場合、制御はS1608へ進む。
ステップS1602において、データ再配置計画部204は、スキーマ403を参照し、未チェックの組み合わせ不可項目リストを一つ選択する。
例えば、実施の形態において、組み合わせ不可項目リストとして顧客IDと顧客名を選択する。
ステップS1603において、データ再配置計画部204は、統計情報413を参照して、ステップS1602で選択した組み合わせ不可項目リストの中の各項目について、データ量を抽出する。尚、統計情報413の列名が何を示すかは、列名対応表405を参照することにより分かる。
実施の形態において、統計情報413を参照すると、顧客ID(A.Foo.B)のデータ量は10GB、顧客名(B.Bar.γ/C.BAZ.II)のデータ量は80GBである。
ステップS1604において、データ再配置計画部204は、ステップS1603で抽出した各項目のデータ量に関して、コストの安いデータベース装置103に記録されているデータ量のほうがコストの高いデータベース装置103に記録されているデータ量より多いか判定する。コストの安いデータベース装置103に記録されているデータ量のほうがコストの高いデータベース装置103に記録されているデータ量より多い場合、制御はステップS1605へ進み、少ない場合、制御はステップS1607へ進む。尚、データベース装置のコストについては、上述のデータベース装置特性情報401を参照することに判断可能である。
例えば、実施の形態において、顧客IDと顧客名について判定すると、データ量の多い顧客名の方がコストの高いデータベース装置B、Cに格納されている。よって、ポリシー違反と判定される。
ステップS1605において、データ再配置計画部204は、すべての組み合わせ不可項目リストのチェックを完了したか判定する。すべての組み合わせ不可項目リストのチェックを完了した場合、制御はステップS1606へ進み、完了していない場合、制御はステップS1602へ戻る。
ステップS1606において、データ再配置計画部204は、データ配置がデータ配置ポリシーに適合していると判定する。
ステップS1607において、データ再配置計画部204は、データ配置がデータ配置ポリシーに適合していないと判定する。
ステップS1608において、データ再配置計画部204は、データ再配置計画部204は、未チェックの組み合わせ不可項目リストを一つ選択する。
実施の形態において、組み合わせ不可項目リストとして顧客IDと顧客名を選択する。または、組み合わせ不可項目リストとして生年月日と家族構成を選択する。
ステップS1609において、データ再配置計画部204は、統計情報413を参照して、ステップS1602で選択した組み合わせ不可項目リストの中の各項目について、アクセス頻度を抽出する。
実施の形態において、統計情報413を参照すると、顧客ID(A.Foo.B)のアクセス頻度は50万アクセス/日、顧客名(B.Bar.γ/C.BAZ.II)のアクセス頻度は80万アクセス/日である。
また、生年月日(A.Foo.C)のアクセス頻度は30万アクセス/日、家族構成(B.Bar.β/C.Baz.III)のアクセス頻度は3万アクセス/日である。
ステップS1610において、データ再配置計画部204は、ステップS1609で抽出した各項目のアクセス頻度に関して、性能の高いデータベース装置103に記録されている項目のアクセス頻度のほうが性能の低いデータベース装置103に記録されている項目のアクセス頻度より高いか判定する。性能の高いデータベース装置103に記録されている項目のアクセス頻度が性能の低いデータベース装置103に記録されている項目のアクセス頻度より高い場合、制御はステップS1611へ進み、低い場合、制御はステップS1613へ進む。尚、データベース装置103の性能については、上述のデータベース装置特性情報401を参照することに判断可能である。
実施の形態において、顧客IDと顧客名について判定すると、アクセス頻度の高い顧客名は、性能の高いデータベース装置B、Cに格納されている。よって、ポリシー適合と判定される。
また、生年月日と家族構成について判定すると、アクセス頻度の高い生年月日は、性能の低いデータベース装置Aに格納されている。よって、ポリシー違反と判定される。
ステップS1611において、データ再配置計画部204は、すべての組み合わせ不可項目リストのチェックを完了したか判定する。すべての組み合わせ不可項目リストのチェックを完了した場合、制御はステップS1612へ進み、完了していない場合、制御はステップS1608へ戻る。
ステップS1612において、データ再配置計画部204は、データ配置がデータ配置ポリシーに適合していると判定する。
ステップS1613において、データ再配置計画部204は、データ配置がデータ配置ポリシーに適合していないと判定する。
次に、クライアントからデータに対してアクセスしたときの処理について説明する。
図18は、実施の形態に係るデータアクセス処理のフローチャートである。
ステップS1701において、リクエスト受付部201は、クライアント104からデータアクセスリクエストを受信する。データアクセスリクエストには、クライアント104が求めるデータ項目などの情報が含まれている。
ステップS1702において、リクエスト処理部205は、列対応表405を参照して、アクセス先データベース装置を決定する。例えば、顧客IDの情報がリクエストされた場合、顧客IDを格納しているデータベース装置Aがアクセス先データベース装置となる。
ステップS1703において、リクエスト処理部205は、列対応表405を参照して、アクセス先データベース装置が保持するデータ内容に合わせてリクエストを修正する。例えば、データベース装置Aに顧客IDをリクエストする場合、列対応表405を参照すると、データベース装置Aにおいて、顧客IDは列名Bに変更されている。したがって、リクエスト処理部205は、列名Bのデータを要求するようにリクエストを修正する。
ステップS1704において、リクエスト処理部205は、アクセス先データベース装置に修正したリクエストを送信する。アクセス先データベース装置は、受信したリクエストに応じたデータをリクエスト結果として、DB proxy装置102に送信する。リクエスト処理部205は、リクエスト結果を受信する。
例えば、列名Bのデータをリクエストされた場合は、アクセス先データベース装置は、列名Bのデータと対応するユニークキーをDB proxy装置102に送信する。
ステップS1705において、利用するすべてのデータベース装置103にリクエストを送信したか判定する。利用するすべてのデータベース装置103にリクエストを送信した場合、制御はステップS1706へ進み、送信していない場合、制御はステップS1703へ戻る。
ステップS1706において、リクエスト処理部は205、取得したデータを集約し、リクエスト受付部201に渡す。リクエスト受付部201は、受け取ったデータをクライアント104に送信する。
例えば、上述のように各データベース装置103において、格納されているデータの行は元の登録データに対してシャッフルされて格納されている。したがって、データ間の対応が適切になるように複数のデータを組み合わせる必要がある。
例えば、リクエスト処理部205は、データベース装置A、B、およびCからそれぞれデータを受け取った場合、行対応表406を参照して、データベース装置Aから受け取ったデータのうちXYZに対応する行のデータ、データベース装置Bから受け取ったデータのうち324に対応する行のデータ、およびデータベース装置Cから受け取ったデータのうちw4tに対応する行のデータを対応付けてクライアント104に送信するデータとする。以下、同様にAFGに対応する行のデータ、67に対応する行のデータ、およびr5rtyに対応する行のデータが対応付けられ、また、FRGに対応する行のデータ、234に対応する行のデータ、およびasdfに対応する行のデータが対応付けられ、クライアント104に送信するデータとなる。
実施の形態のデータベースシステムによれば、組み合わせると意味を成すデータが同一のデータベース装置に配置されないように指定された制約条件(MUTEX)を用いて、データの配置を決定している。それにより、同じデータベース装置には、組み合わせると意味を成すデータが配置されなくなる。したがって、1つのデータベース装置からデータが漏洩しても、該データだけでは意味を成さないので、セキュリティが向上する。
また、実施の形態のデータベースシステムによれば、テーブルの列名を変更しているため、データを見ても何のデータであるか判別不明なので、セキュリティが向上する。
また、実施の形態のデータベースシステムによれば、各テーブルの行をシャッフルしているため、複数のデータベース装置からデータが漏洩しても、データ間の組み合わせが分からないので、セキュリティが向上する。
また、実施の形態のデータベースシステムによれば、高セキュリティのデータベース装置ではなく、任意のデータベース装置を用いることが出来るので、コストを低くすることが出来る。
また、実施の形態のデータベースシステムによれば、各データベース装置の特性や配置ポリシーに基づいて、データの配置を決定している。これにより、低コストや高性能などのユーザの希望に沿ったデータベースシステムを構築できる。
また、実施の形態のデータベースシステムによれば、データの統計情報を用いて、データの配置を動的に変更することが可能となる。
図19は、情報処理装置(コンピュータ)の構成図である。
実施の形態のDB proxy102およびデータベース装置103は、例えば、図19に示すような情報処理装置1によって実現される。
情報処理装置1は、CPU2、メモリ3、入力部4、出力部5、記憶部6、記録媒体駆動部7、およびネットワーク接続部8を備え、それらはバス9により互いに接続されている。
CPU2は、情報処理装置1全体を制御する中央処理装置である。CPU2は、リクエスト受付部201、データ配置決定部202、統計情報収集部203、データ再配置計画部204、リクエスト処理部205、情報収集部301、およびリクエスト処理部302に対応する。
メモリ3は、プログラム実行の際に、記憶部6(あるいは可搬記録媒体10)に記憶されているプログラムあるいはデータを一時的に格納するRead Only Memory(ROM)やRandom Access Memory(RAM)等のメモリである。CPU2は、メモリ3を利用してプログラムを実行することにより、上述した各種処理を実行する。
この場合、可搬記録媒体10等から読み出されたプログラムコード自体が実施の形態の機能を実現する。
入力部4は、例えば、キーボード、マウス、タッチパネル等である。
出力部5は、例えば、ディスプレイ、プリンタ等である。
記憶部6は、例えば、磁気ディスク装置、光ディスク装置、テープ装置等である。情報処理装置1は、記憶部6に、上述のプログラムとデータを保存しておき、必要に応じて、それらをメモリ3に読み出して使用する。
メモリ3または記憶部6は、記憶部206、303に対応する。
記録媒体駆動部7は、可搬記録媒体10を駆動し、その記録内容にアクセスする。可搬記録媒体としては、メモリカード、フレキシブルディスク、Compact Disk Read Only Memory(CD-ROM)、光ディスク、光磁気ディスク等、任意のコンピュータ読み取り可能な記録媒体が用いられる。ユーザは、この可搬記録媒体10に上述のプログラムとデータを格納しておき、必要に応じて、それらをメモリ3に読み出して使用する。
ネットワーク接続部8は、LAN等の任意の通信ネットワークに接続され、通信に伴うデータ変換を行う。
101 データベースシステム
102 DB Proxy
103 データベース装置
104 クライアント
105 ネットワーク
201 リクエスト受付部
202 データ配置決定部
203 統計情報収集部
204 データ再配置計画部
205 リクエスト処理部
206 記憶部
301 情報収集部
302 リクエスト処理部
303 記憶部
401 データベース装置特性情報
402 データ配置ポリシー
403 スキーマ
404 登録データ
405 列名対応表
406 行対応表
407〜412 データテーブル
413 統計情報

Claims (15)

  1. 複数のデータ項目を有するデータを複数のデータベース装置に分散する処理をコンピュータに実行させるためのデータ分散プログラムであって、
    前記複数のデータ項目のうち特定の複数のデータ項目を前記複数のデータベース装置のうち同じデータベース装置に配置しないことを示す排他情報を記憶部から読み出し、
    前記排他情報に基づき、前記特定の複数のデータ項目を前記複数のデータベース装置のうち異なるデータベース装置に配置するように、前記データ項目の配置を決定し、
    決定した配置に従って、前記特定の複数のデータ項目について、前記複数のデータベース装置への送信を行う、
    処理を前記コンピュータに実行させるデータ分散プログラム。
  2. 前記データ項目の名前を変更する処理をさらに実行させることを特徴とする請求項1記載のデータ分散プログラム。
  3. 前記データベース装置の特性を示す特性情報および前記複数のデータベース装置にデータを配置するポリシーが記述された配置ポリシーを前記記憶部から読み出し、
    前記特性情報および前記配置ポリシーに基づいて、前記データ項目の配置を決定する、
    処理をさらに実行させることを特徴とする請求項1または2記載のデータ分散プログラム。
  4. 前記データベース装置に配置された前記データ項目のアクセス頻度およびデータ量を示す統計情報を収集し、
    前記特性情報と前記統計情報とに基づき、前記統計情報が示すデータの配置が前記配置ポリシーを満たしているか判定し、
    前記配置ポリシーを満たしていないとき、前記特性情報、前記統計情報、および前記配置ポリシーに基づき、前記データ項目の再配置を決定する、
    処理をさらに実行させることを特徴とする請求項3記載のデータ分散プログラム。
  5. 複数のデータ項目を有するデータを複数のデータベース装置に分散するデータ分散装置から、1つ以上のデータ項目に対応し複数の行からなるデータを受信し、
    受信したデータの各行に対応するユニークなキーを生成し、
    前記キーと前記受信したデータの各行を対応付けたデータを記憶部に格納し、
    前記対応付けたデータの行をシャッフルすることで、データ項目毎に複数の行のデータが入れ替えられたデータを生成して前記記憶部に格納し、
    データ分散装置に前記キーを送信する、
    処理をコンピュータに実行させるためのデータ格納プログラム。
  6. 複数のデータ項目を有するデータを複数のデータベース装置に分散するデータ分散装置において、
    前記複数のデータ項目のうち特定の複数のデータ項目を前記複数データベース装置のうち同じデータベース装置に配置しないことを示す排他情報を記憶する記憶部と、
    前記排他情報に基づき、前記特定の複数のデータ項目を前記複数のデータベース装置のうち異なるデータベース装置に配置するように、前記データ項目の配置を決定する配置決定部と、
    決定した配置に従って、前記特定の複数のデータ項目について、前記複数のデータベース装置への送信を行うリクエスト処理部と、
    を備えるデータ分散装置。
  7. 前記配置決定部は、前記データ項目の名前を変更することを特徴とする請求項6記載のデータ分散装置。
  8. 前記記憶部は、前記データベース装置の特性を示す特性情報および前記複数のデータベース装置にデータを配置するポリシーが記述された配置ポリシーを記憶し、
    前記配置決定部は、前記特性情報および前記配置ポリシーに基づいて、前記データ項目の配置を決定することを特徴とする請求項6または7記載のデータ分散装置。
  9. 前記データベース装置に配置された前記データ項目のアクセス頻度およびデータ量を示す統計情報を収集する収集部と、
    前記特性情報と前記統計情報とに基づき、前記統計情報が示すデータの配置が前記配置ポリシーを満たしているか判定し、前記配置ポリシーを満たしていないとき、前記特性情報、前記統計情報、および前記配置ポリシーに基づき、前記データ項目の再配置を決定する再配置決定部と、
    をさらに備えることを特徴とする請求項8記載のデータ分散装置。
  10. 記憶部と、
    複数のデータ項目を有するデータを複数のデータベース装置に分散するデータ分散装置から、1つ以上のデータ項目に対応し複数の行からなるデータを受信し、受信したデータの各行に対応するユニークなキーを生成し、前記キーと前記受信したデータの各行を対応付けたデータを前記記憶部に格納し、前記対応付けたデータの行をシャッフルすることで、データ項目毎に複数の行のデータが入れ替えられたデータを生成して前記記憶部に格納し、前記データ分散装置に前記キーを送信する処理部と、
    を備えるデータ格納装置。
  11. 複数のデータ項目を有するデータを複数のデータベース装置に分散する処理を実行するコンピュータが、
    前記複数のデータ項目のうち特定の複数のデータ項目を前記複数のデータベース装置のうち同じデータベース装置に配置しないことを示す排他情報を記憶部から読み出し、
    前記排他情報に基づき、前記特定の複数のデータ項目を前記複数のデータベース装置のうち異なるデータベース装置に配置するように、前記データ項目の配置を決定し、
    決定した配置に従って、前記特定の複数のデータ項目について、前記複数のデータベース装置への送信を行う、
    データ分散方法。
  12. コンピュータが、
    複数のデータ項目を有するデータを複数のデータベース装置に分散するデータ分散装置から、1つ以上のデータ項目に対応し複数の行からなるデータを受信し、
    受信したデータの各行に対応するユニークなキーを生成し、
    前記キーと前記受信したデータの各行を対応付けたデータを記憶部に格納し、
    前記対応付けたデータの行をシャッフルすることで、データ項目毎に複数の行のデータが入れ替えられたデータを生成して前記記憶部に格納し、
    データ分散装置に前記キーを送信する、
    データ格納方法。
  13. 特定の複数のデータ項目の配置に関する排他関係を示す排他情報を記憶部から読み出し、
    前記排他情報に基づき、前記特定の複数のデータ項目のデータを異なる情報処理装置に配置させる、
    処理をコンピュータに実行させるデータ分散プログラム。
  14. 特定の複数のデータ項目の配置に関する排他関係を示す排他情報を記憶する記憶部と、
    前記排他情報に基づき、前記特定の複数のデータ項目のデータを異なる情報処理装置に配置させる処理部と、
    を備えるデータ分散装置。
  15. コンピュータが、
    特定の複数のデータ項目の配置に関する排他関係を示す排他情報を記憶部から読み出し、
    前記排他情報に基づき、前記特定の複数のデータ項目のデータを異なる情報処理装置に配置させる、
    データ分散方法。
JP2010196191A 2010-09-01 2010-09-01 データ分散プログラム、データ格納プログラム、データ分散装置、データ格納装置、データ分散方法、およびデータ格納方法 Expired - Fee Related JP5625634B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010196191A JP5625634B2 (ja) 2010-09-01 2010-09-01 データ分散プログラム、データ格納プログラム、データ分散装置、データ格納装置、データ分散方法、およびデータ格納方法
US13/176,969 US8924386B2 (en) 2010-09-01 2011-07-06 Data distributing apparatus, data storing device, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010196191A JP5625634B2 (ja) 2010-09-01 2010-09-01 データ分散プログラム、データ格納プログラム、データ分散装置、データ格納装置、データ分散方法、およびデータ格納方法

Publications (2)

Publication Number Publication Date
JP2012053702A JP2012053702A (ja) 2012-03-15
JP5625634B2 true JP5625634B2 (ja) 2014-11-19

Family

ID=45698554

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010196191A Expired - Fee Related JP5625634B2 (ja) 2010-09-01 2010-09-01 データ分散プログラム、データ格納プログラム、データ分散装置、データ格納装置、データ分散方法、およびデータ格納方法

Country Status (2)

Country Link
US (1) US8924386B2 (ja)
JP (1) JP5625634B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8615528B2 (en) * 2011-07-28 2013-12-24 International Business Machines Corporation Cloud database sharing
US10558637B2 (en) * 2015-12-17 2020-02-11 Sap Se Modularized data distribution plan generation
US11468151B2 (en) * 2018-08-30 2022-10-11 Ideola, Inc. System and method for memetic authentication and identification

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09218858A (ja) * 1996-02-14 1997-08-19 Hitachi Ltd 分散型データベース管理システム
US7412462B2 (en) * 2000-02-18 2008-08-12 Burnside Acquisition, Llc Data repository and method for promoting network storage of data
JP2001236256A (ja) * 2000-02-23 2001-08-31 Hitachi Ltd 電子化情報分散配置方法、データベース分散配置システム、および、遠隔管理システム
JP2002244556A (ja) * 2001-02-19 2002-08-30 Nippon Telegr & Teleph Corp <Ntt> 情報提供装置および方法と情報提供プログラムと該プログラムを記録した記録媒体
US7536386B2 (en) * 2003-03-27 2009-05-19 Microsoft Corporation System and method for sharing items in a computer system
US20050033777A1 (en) * 2003-08-04 2005-02-10 Moraes Mark A. Tracking, recording and organizing changes to data in computer systems
US7480719B2 (en) * 2003-10-29 2009-01-20 International Business Machines Corporation Information system, load control method, load control program and recording medium
JP4539952B2 (ja) 2003-11-05 2010-09-08 日本電信電話株式会社 情報分散保管システム、その装置、プログラム及び記録媒体
JP4729683B2 (ja) * 2004-03-26 2011-07-20 株式会社エヌ・ティ・ティ ネオメイト データ分散格納装置、そのデータ構成管理サーバ、クライアント端末、および、データ分散格納装置を備えた業務委託システム
JP4479431B2 (ja) 2004-09-14 2010-06-09 株式会社日立製作所 情報ライフサイクル管理システム及びそのデータ配置決定方法
US7557694B1 (en) * 2005-08-01 2009-07-07 Jeannell Graham Vehicle tire tread depth determining system
JP4708177B2 (ja) * 2005-12-09 2011-06-22 財団法人エヌエイチケイエンジニアリングサービス データベース管理方法および個人情報管理システム
US7739225B2 (en) * 2006-02-09 2010-06-15 Ebay Inc. Method and system to analyze aspect rules based on domain coverage of an aspect-value pair
JP2007219634A (ja) * 2006-02-14 2007-08-30 Dat Japan Kk 分散型データベースシステム及びデータベースの分散管理方法
JP5026804B2 (ja) * 2007-01-24 2012-09-19 ヤフー株式会社 財産売却支援システム、財産売却支援方法およびプログラム
US20100333116A1 (en) * 2009-06-30 2010-12-30 Anand Prahlad Cloud gateway system for managing data storage to cloud storage sites
US8452932B2 (en) * 2010-01-06 2013-05-28 Storsimple, Inc. System and method for efficiently creating off-site data volume back-ups

Also Published As

Publication number Publication date
JP2012053702A (ja) 2012-03-15
US20120054251A1 (en) 2012-03-01
US8924386B2 (en) 2014-12-30

Similar Documents

Publication Publication Date Title
US11494380B2 (en) Management of distributed computing framework components in a data fabric service system
US11341131B2 (en) Query scheduling based on a query-resource allocation and resource availability
US11321321B2 (en) Record expansion and reduction based on a processing task in a data intake and query system
US20200364223A1 (en) Search time estimate in a data intake and query system
US11599541B2 (en) Determining records generated by a processing task of a query
US11586627B2 (en) Partitioning and reducing records at ingest of a worker node
US20190258632A1 (en) Determining a Record Generation Estimate of a Processing Task
US20190310977A1 (en) Bucket data distribution for exporting data to worker nodes
US20190272271A1 (en) Assigning processing tasks in a data intake and query system
US9489237B1 (en) Dynamic tree determination for data processing
US9996593B1 (en) Parallel processing framework
JP5999574B2 (ja) データベース管理システム及び計算機システム
JP2014038364A (ja) リソース管理サーバ、リソース管理方法及びリソース管理プログラム
CN103999031A (zh) 云服务器的虚拟私有存储阵列服务
CN102307133A (zh) 一种公有云平台虚拟机调度方法
Ngoko et al. Service selection in web service compositions optimizing energy consumption and service response time
JP5775359B2 (ja) システム管理サーバ、管理方法及びプログラム
JP5625634B2 (ja) データ分散プログラム、データ格納プログラム、データ分散装置、データ格納装置、データ分散方法、およびデータ格納方法
Zhang et al. Multiple instances mapping of service function chain with parallel virtual network functions
JP4181196B2 (ja) 検索システム、検索方法、および情報管理装置
JPWO2016157492A1 (ja) 共有リソース更新装置及び共有リソース更新方法
WO2013171879A1 (ja) ジョブ実行システム、ジョブ実行プログラム、ジョブ実行方法
WO2016006098A1 (ja) データ処理システム、データベース管理システム及びデータ処理方法
Tian et al. An approach to design and implement RFID middleware system over cloud computing
US20190220550A1 (en) System and method for federeated content management using a federated library and federated metadata propagation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140602

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140617

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140812

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140915

R150 Certificate of patent or registration of utility model

Ref document number: 5625634

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees