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

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

Info

Publication number
JP6561504B2
JP6561504B2 JP2015048214A JP2015048214A JP6561504B2 JP 6561504 B2 JP6561504 B2 JP 6561504B2 JP 2015048214 A JP2015048214 A JP 2015048214A JP 2015048214 A JP2015048214 A JP 2015048214A JP 6561504 B2 JP6561504 B2 JP 6561504B2
Authority
JP
Japan
Prior art keywords
data
processing
processing time
record data
similarity
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
JP2015048214A
Other languages
English (en)
Other versions
JP2016170493A (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 JP2015048214A priority Critical patent/JP6561504B2/ja
Priority to US15/064,982 priority patent/US10133811B2/en
Priority to EP16159633.3A priority patent/EP3067804B1/en
Publication of JP2016170493A publication Critical patent/JP2016170493A/ja
Application granted granted Critical
Publication of JP6561504B2 publication Critical patent/JP6561504B2/ja
Expired - Fee Related 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/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • 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
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification

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)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データ配置プログラム等に関する。
画像や音声、センサーデータ等の非構造データを用いた照合処理や類似性の計算は時間がかかるものが多い。このため、複数の計算資源にレコードデータを割り振り、処理を分散させることで、照合処理を効率化する従来技術がある。
図19は、従来技術の一例を説明するための図である。例えば、あるクエリを用いて、レコードデータを照合する場合に、処理時間がクエリに依存せず、レコードデータのみに依存する場合がある。例えば、音楽ファイルの中である周波数成分が何秒であるかをカウントする場合には、処理時間は音楽の長さに依存する。このような場合には、混合整数計画問題を解き、処理がほぼ均等になるように、レコードデータを各計算資源に配布すればよい。
図19に示す例では、レコードデータ10a〜10jが存在し、各レコードデータの長さをレコードデータの処理に要する処理時間とする。例えば、レコードデータ10a,10b,10jを第1サーバに配布し、レコードデータ10c,10e,10d,10gを第2サーバに配布し、レコードデータ10i,10f,10hを第3サーバに配布する。このように、レコードデータ10a〜10jを配布することで、各処理時間を均等にすることができる。
特開2013−196212号公報 特開2007−323319号公報 特表2009−509215号公報 特開2011−103082号公報 特開2001−134593号公報
しかしながら、上述した従来技術では、クエリデータの実行に要する時間を短縮することができないという問題がある。
処理時間がレコードデータのみに依存せず、クエリデータとレコードデータとのデータ対により、処理時間が変動する場合がある。例えば、クエリデータとレコードデータとが似ている場合には、かかるレコードデータを処理する処理時間が長くなる。このため、クエリデータに類似する複数のレコードデータがある計算資源に集中して配置されると、ある計算資源の処理時間が長くなる。
1つの側面では、本発明は、クエリデータの実行に要する時間を短縮することができるデータ配置プログラム、データ配置方法およびデータ配置装置を提供することを目的とする。
第1の案では、コンピュータに下記の処理を実行させる。コンピュータは、データベースに格納されたデータに対して処理要求を実行し、処理要求とデータとの組み合わせにおける処理の類似度を算出する。コンピュータは、類似度が分散するようにデータを分割し
分割された前記データに対して受け付けた処理要求を処理する。
本発明の1実施態様によれば、クエリデータの実行に要する時間を短縮することができる。
図1は、本実施例に係るデータ配置装置の処理を説明するための図(1)である。 図2は、本実施例に係るデータ配置装置の処理を説明するための図(2)である。 図3は、本実施例に係るデータ配置装置の処理を説明するための図(3)である。 図4は、本実施例に係るデータ配置装置の処理を説明するための図(4)である。 図5は、中間テーブルのデータ構造の一例を示す図である。 図6は、本実施例に係るデータ配置装置の構成を示す機能ブロック図である。 図7は、レコードデータテーブルのデータ構造の一例を示す図である。 図8は、類似度行列データのデータ構造の一例を示す図である。 図9は、配置先情報のデータ構造の一例を示す図である。 図10は、CLIQUEのアルゴリズムを模式的に説明するための図である。 図11は、DBSCANのアルゴリズムを概念的に説明するフローチャートである。 図12Aは、density-connectedの定義を説明するための図(1)である。 図12Bは、density-connectedの定義を説明するための図(2)である。 図13は、density-reachableの定義を説明するための図である。 図14は、directly density-reachableの定義を説明するための図である。 図15は、安定マッチングと不安定マッチングとを説明するための図である。 図16は、ゲールシャプレイのアルゴリズムの処理手順の一例を示す図である。 図17は、本実施例に係るデータ処理装置の処理手順を示すフローチャートである。 図18は、データ配置プログラムを実行するコンピュータの一例を示す図である。 図19は、従来技術の一例を説明するための図である。
以下に、本願の開示するデータ配置プログラム、データ配置方法およびデータ配置装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
本実施例に係るデータ配置装置の処理の一例について説明する。図1〜図4は、本実施例に係るデータ配置装置の処理を説明するための図である。
図1について説明する。例えば、データ配置装置は、記憶部110とN個の計算資源S1〜SNを有する。記憶部110は、レコードデータテーブル110aを格納し、レコードデータテーブル110aは、M個のレコードデータr1〜rMを格納する。データ配置装置は、従来手法を用いて、レコードデータr1〜rMを計算資源S1〜SNに分散配置する。例えば、データ配置装置は、各計算資源S1〜SNに格納されるレコードデータの数がほぼ均等になるように、各レコードデータr1〜rMをランダムに、計算資源S1〜SNに割り振る。
図2について説明する。データ配置装置は、クエリデータを受け付けると、クエリデータを用いて、各計算資源S1〜SMに格納されたレコードデータと検索・照合処理を行う。データ配置装置は、クエリデータを用いた、各レコードデータに対する処理の処理時間を計測し、計測した結果を中間テーブルに登録する。データ配置装置は、クエリデータを受け取る度に、上記処理を繰り返し実行する。
図5は、中間テーブルのデータ構造の一例を示す図である。中間テーブル110bは、クエリデータと、レコードデータと、処理に要した処理時間とを対応付けるテーブルである。例えば、図5に示すレコードデータr1に対応する行では、クエリデータq1〜qQを用いた場合の処理時間をそれぞれ示す。例えば、クエリデータq1を用いて、レコードデータr1を処理した場合の処理時間は「5秒」となる。一般的に、クエリデータとレコードデータとが類似していれば処理時間が長くなる。このため、中間テーブル110bに示す処理時間は、クエリデータとレコードデータとの類似度を示す指標ともいえる。
以下の説明では、レコードデータの各クエリデータによる処理時間の組を、適宜、処理時間ベクトルと表記する。例えば、レコードデータr1の処理時間ベクトルは、(5、8、10、・・・、5)となる。例えば、全てのクエリデータq1〜qQに対する処理時間を含むレコードデータは、全空間に存在するレコードデータとなる。
図5において、レコードデータr3の処理時間ベクトルと、レコードデータr4の処理時間ベクトルとは、全体のパターンが類似している。これに対して、レコードデータr1の処理時間ベクトルと、レコードデータr2の処理時間ベクトルとは、クエリデータq2,q3に対するパターンが部分的に類似しているが、それ以外の類似性は低いため、全体のパターンが類似しているとはいえない。
データ配置装置は、部分空間クラスタリングまたは射影クラスタリングを使って、処理時間ベクトルのパターンが部分的に類似するレコードデータを検索する。例えば、処理時間ベクトルのパターンが部分的に類似するレコードデータは、図5に示す例では、レコードデータr1およびレコードデータr2となる。
図3について説明する。データ配置装置は、全空間Aに存在するレコードデータr1〜rMを、軸に平行な低次元部分空間に射影したときにクラスタを作るレコードデータの集合を探し出す。例えば、データ配置装置が、クエリデータq2とクエリq3との平面に、全空間Aに存在するレコードデータr1〜rMを射影した場合、レコードデータr1、r2、r10、r20、r30、r40からなるクラスタC1が生成されたものとする。この場合には、データ配置装置は、レコードデータr1、r2、r10、r20、r30、r40が、処理時間ベクトルが部分的に類似しているレコードデータの集合であると判定する。
図4について説明する。データ配置装置は、同じクラスタに属するレコードデータについては、レコードデータ間の距離に基づいて、類似度を計算する。一方、違うクラスタに属しているレコードデータについては、類似度をマイナス∞とする。例えば、図4に示す例では、クラスタC1にレコードデータr1、r2、r10が含まれ、クラスタC2にレコードデータr4、r5、r6、r11、r12が含まれる。
データ配置装置は、レコードデータr1について、同じクラスタに属するレコードデータr2、r10については、距離に基づき、類似度を算出する。データ配置装置は、レコードデータr1について、異なるクラスタに属するレコードデータについては、類似度を−∞とする。データ配置装置は、他のレコードデータについても、同様の処理を実行することで、各レコードデータの類似度を算出することで、類似度行列データを生成する。類似度行列データは、各レコードデータ間の類似度を定義するデータである。
データ配置装置は、類似度行列データを基にして、類似度の大きい各レコードデータが、同一の計算資源に配置されないように、安定マッチングを行い、レコードデータr1〜rMを、計算資源S1〜SNに配置する。
次に、本実施例に係るデータ配置装置の構成の一例について説明する。図6は、本実施例に係るデータ配置装置の構成を示す機能ブロック図である。図6に示すように、このデータ配置装置100は、計算資源S1〜SN、記憶部110、入力部120、照合処理要求部130、処理時間パターン判定部140、マッチング処理部150、配置処理部160を有する。このうち、処理時間パターン判定部140は、算出部に対応する。マッチング処理部150および配置処理部160は、配置部に対応する。
計算資源S1は、計算資源S1に配置された複数のレコードデータと、照合処理要求部130から取得するクエリデータとを照合し、クエリデータに対応するレコードデータを検索する処理を実行する装置である。計算資源S1は、検索結果を外部装置に出力する。また、計算資源S1は、照合処理要求部130からクエリデータを取得する度に、上記処理を繰り返し実行する。また、計算資源S1は、クエリデータと、レコードデータとの組について、照合に要した処理時間を計測し、クエリデータとレコードデータとの組毎に、処理時間のデータを、処理時間パターン判定部140に通知する。計算資源S2〜SNに関する処理の説明は、計算資源S1に関する説明と同様である。例えば、データ配置装置は、N個の計算資源S1〜SNを有する。
記憶部110は、レコードデータテーブル110a、中間テーブル110b、類似度行列データ110c、配置先情報110dを有する。記憶部110は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子などの記憶装置に対応する。
レコードデータテーブル110aは、各計算資源S1〜SNに配置するレコードデータを有するテーブルである。図7は、レコードデータテーブルのデータ構造の一例を示す図である。図7に示すように、このレコードデータテーブル110aは、データ識別子とレコードデータとを対応付ける。データ識別子は、レコードデータを一意に識別する情報である。レコードデータは、各計算資源S1〜SNに配置されるデータである。例えば、データ識別子「001」に対応するレコードデータは「2.0,4.1,6.4」となる。ここでは、データ識別子と、レコードデータの組とを対応付ける例を示したが、単一のデータ識別子に、単一のレコードデータを対応付けてもよい。
また、レコードデータテーブル110aは、レコードデータと、クラスタ識別子とを更に対応付けてもよい。クラスタ識別子は、レコードデータが属するクラスタを一意に識別する情報である。レコードデータに対応するクラスタ識別子は、後述する処理時間パターン判定部140によって設定される。ここでは図示を省略するが、レコードデータテーブル110aは、更に、クラスタ識別子に対応付けて、クラスタの次元数やクラスタの密度を対応付けて保持してもよい。
中間テーブル110bは、クエリデータと、レコードデータと、クエリデータによってレコードデータを照合する場合の処理に要した処理時間とを対応付けるテーブルである。中間テーブル110bのデータ構造は、図5に示した中間テーブル110bに対応する。
類似度行列データ110cは、各レコードデータの類似度を示すデータである。図8は、類似度行列データのデータ構造の一例を示す図である。図8に示す例では、各データ識別子の組と、各データ識別子の組に対する類似度とを対応付ける。例えば、図8の類似度行列データ110cの1行目では、データ識別子「001」のレコードデータと、他のレコードデータとの類似度が登録されている。例えば、データ識別子「001」のレコードデータと、データ識別子「002」との類似度が「10」となっている。
配置先情報110dは、データの配置先を示す情報である。図9は、配置先情報のデータ構造の一例を示す図である。図9に示すように、この配置先情報110dは、データ識別子と、配置先とを対応付ける。データ識別子は、図7等で説明したデータ識別子に対応する。配置先は、データを配置する計算資源を一意に識別する情報である。例えば、図9において、データ識別子「001」に対応するデータの配置先が「計算資源S1」となっている。
図6の説明に戻る。入力部120は、各種の情報を照合処理要求部130およびマッチング処理部150に入力するための入力装置である。例えば、入力部120は、キーボードやマウス、タッチパネル等に対応する。例えば、利用者は、入力部120を操作して、照合処理要求部130にクエリデータを入力することで、照合要求を行う。また、利用者は、入力部120を操作して、マッチング処理部150に、データ配列決定要求を入力する。
照合処理要求部130は、入力部120からクエリデータを取得した場合に、各計算資源S1〜SNに対してクエリデータを出力し、照合処理要求を行う処理部である。
処理時間パターン判定部140は、各計算資源S1〜SNから、クエリデータとレコードデータとの組と、処理時間の情報を取得し、取得した情報を基にして、中間テーブル110bを生成する。また、処理時間パターン判定部140は、中間テーブル110bを基にして、各処理時間ベクトルを部分空間クラスタリングすることで、処理時間のパターンが部分的に類似する処理時間ベクトル毎に、処理時間ベクトルを分類する。処理時間パターン判定部140は、同一のクラスタに分類された処理時間ベクトルのレコードデータについては、レコードデータ間の距離を類似度として算出する。また、処理時間パターン判定部140は、違うクラスタに属するレコードデータ間の類似度を−∞とする。処理時間パターン判定部140は、上記処理を実行することで、類似度行列データ110cを生成する。
続いて、処理時間パターン判定部140の処理を具体的に説明する。処理時間パターン判定部140は、中間テーブル110bに対して、前処理を行い、前処理を行った中間テーブル110bに対して部分空間クラスタリングを実行する。
処理時間パターン判定部140が実行する前処理について説明する。前提条件として、計算資源の数をN、クエリデータの数をQ、レコードデータの数をMとする。i番目のレコードデータriのj番目のクエリデータqjに対する処理時間をTijとする。処理時間行列PをM×Q行列とし、処理時間行列Pの各(i,j)要素をTijとする。処理時間行列Pの各値は、中間テーブル110bの各値に対応する。処理時間行列Pのj番目の列ベクトルを、j番目の属性の「特徴ベクトル」とする。
処理時間パターン判定部140は、k−meansまたはx−means等のクラスタリング手法を用いて、類似する特徴ベクトルを統合する。例えば、処理時間パターン判定部140は、処理時間行列Pに含まれるQ個の特徴ベクトルをクラスタリングし、Q’個のクラスタに、Q個の特徴ベクトルを分類する。処理時間パターン判定部140は、同一のクラスタに分類された特徴ベクトルを算術平均することで、特徴ベクトルを統合する。係る前処理を、処理時間パターン判定部140が実行することで、M×Q行列の処理時間行列Pは、M×Q’行列の処理時間行列P’となる。
例えば、処理時間パターン判定部140は、処理時間行列P’のj番目の列ベクトルを、j番目のクラスタに属するベクトルの算術平均とする。また、処理時間パターン判定部140は、Q’次元ベクトルである重み行列Wのj番目の成分を、j番目のクラスタに属するベクトルの数の平方根とする。処理時間パターン判定部140は、処理時間行列P’のi番目の行ベクトルを、レコードデータriの処理時間ベクトルとする。
ここで、処理時間パターン判定部140が、前処理を行う理由について説明する。クラスタリングを行う処理時間パターン空間は、次元数が大きくなりやすい。計算量の観点から、属性数が少ない方がよい。このため、処理時間パターン判定部140は、類似する属性を一つにまとめてしまうことで、処理時間パターン空間の次元を削除する。
なお、類似する属性を一つにまとめ、処理時間パターン空間の次元を削除すると、削除された後の空間での各レコードデータの距離は、元の空間での距離と異なる。例えば、x、y、zの3次元空間でx、yが類似する属性である場合には、全てのレコードデータが、x=y平面上に載ってしまうため、x、yをまとめてwという属性にする。x、y、zの3次元空間の2点間のユークリッド距離は、z、w空間でのユークリッド距離と異なる。このとき、w方向に重み21/2を付け、z方向に重み1を付けたユークリッド距離を用いることで、元の三次元空間での距離を近似することが出来る。例えば、ベクトルv1と、ベクトルv2との重み付きのユークリッド距離(weightedEuclid)は、式(1)で表すことができる。
Figure 0006561504
例えば、上記のように、w方向に重み21/2を付け、z方向に重み1を付けたユークリッド距離は、式(2)によって表すことが出来る。
Figure 0006561504
処理時間パターン判定部140は、前処理を実行することにより、処理時間行列Pを処理時間行列P’に変換した後に、部分的に類似する処理時間ベクトルを同一のクラスタに分類するクラスタリングを実行する。例えば、処理時間パターン判定部140は、Q’次元空間中に処理時間ベクトルを配置し、重み付き距離を使い、部分空間クラスタリング(subspace clustering)手法または射影クラスタリング(projected clustering)手法を用いて、クラスタリングを行う。出来上がるクラスタの集合をC={c1、c2、・・・、cF}とする。
処理時間パターン判定部140が実行する部分空間クラスタリングの一例について説明する。部分空間クラスタリングは、複数ある手法の総称であり、特に高次元空間におけるクラスタリングを空間の軸に平行な部分空間に射影したときにクラスタを作るものを探し出す手法のうち、次元の低い空間からボトムアップで探す各方法を指す。部分空間クラスタリングの代表的なアルゴリズムはCLIQUEである。例えば、処理時間パターン判定部140は、このCLIQUEに基づいて、各レコードデータに対応する処理時間ベクトルを、各クラスタに分類しても良い。例えば、CLIQUEの処理は、文献(R. AGRAWAL et al. “Automatic Subspace Clustering of High Dimensional Data”, 1998.)に基づく。
図10は、CLIQUEのアルゴリズムを模式的に説明するための図である。図10において、処理時間パターン判定部140は、1次元空間を複数の区間に区切り、各区間に含まれるデータ数をカウントする。例えば、横軸は、あるクエリデータqAに対する処理時間を複数の区間に区切ったものであり、縦軸は、あるクエリデータqBに対する処理時間を複数の区間に区切ったものである。図10に示す例では、区間に含まれるデータ数が閾値を超えたものを、例えば、区間A1、A2、A3、B1、B2とする。
処理時間パターン判定部140は、1次元空間の各区間に含まれるデータ数が、2次元空間に持ち上げられたときに、どのような2次元空間になるのか、改めて2次元空間に属するデータ数をカウントして、データ数が閾値を超えるか否かを判定する。例えば、図10に示す例では、2次元空間H1〜H6にデータが含まれているが、2次元空間H1、H2、H3、H6において、データ数が閾値を超え、2次元空間H4、H5において、データ数が閾値未満となるため、2次元空間上では、2次元空間H1、H2、H3、H6が密となる。
処理時間パターン判定部140は、上記の処理を、3次元、4次元と続けることにより、所定の高次元で密となる区間を特定し、この密となる区間に属するレコードデータを、同一のクラスタに分類する。
続いて、処理時間パターン判定部140が実行する射影クラスタリングの一例について説明する。射影クラスタリングは、複数ある手法の総称であり、特に高次元空間におけるクラスタリングを空間の軸に平行な部分空間に射影した時にクラスタを作るものを探し出す手法のうち、次元の大きい空間からトップダウンで探す各方法を指す。射影クラスタリングの代表的なアルゴリズムは、PreDeConである。例えば、処理時間パターン判定部140は、このPreDeConに基づいて、各レコードデータに対応するレコードデータを、各クラスタに分類しても良い。
PreDeConは、DBSCANを基にしたアルゴリズムである。図11は、DBSCANのアルゴリズムを概念的に説明するフローチャートである。図11では一例として、処理の主体を、処理時間パターン判定部140として説明を行う。図11に示すように、処理時間パターン判定部140は、距離の閾値epsと密度の閾値MinPtsの入力を受け付ける(ステップS11)。
処理時間パターン判定部140は、データ集合Dから未選択の点pを選択する(ステップS12)。例えば、ステップS12において、データ集合Dは、処理時間行列P’に含まれる処理時間ベクトルの集合を示す。点pは、処理時間ベクトルに対応する点である。
処理時間パターン判定部140は、選択した点pの半径epsの球内に含まれる他の点の数を計数し、球内に含まれる点の数が閾値MinPts以上か否かを判定する(ステップS13)。処理時間パターン判定部140は、球内に含まれる点の数が閾値MinPts未満である場合には(ステップS13,No)、選択した点pをノイズと判定し(ステップS14)、ステップS12に移行する。
一方、処理時間パターン判定部140は、球内に含まれる点の数が閾値MinPts以上である場合には(ステップS13,Yes)、選択した点との関係が、density-connectedとなる点を全て探し出す(ステップS15)。処理時間パターン判定部140は、ステップS15に示したdensity-connectedの関係となる各点を、同一のクラスタに含まれる点として判定する。
処理時間パターン判定部140は、全ての点pを選択したか否かを判定する(ステップS16)。処理時間パターン判定部140は、全ての点pを選択していない場合には(ステップS16,No)、ステップS12に移行する。一方、処理時間パターン判定部140は、全ての点pを選択した場合には(ステップS16,Yes)、DBSCANを終了する。
ここで、図11のステップS15で示したdensity-connectedの定義について説明する。図12Aおよび図12Bは、density-connectedの定義を説明するための図である。例えば、図12Aについて、点qと点pとがdensity-connectedとは、点pと点qでない点rがあって、点rから点pおよび点rから点qが、density-reachableであることである。density-connectedは、対称な関係である。
なお、density-connectedは推移律を満たさない。図12Bにおいて、点p1と点p3および点p5は、density-connectedである場合において、点p1と点p5は、density-connectedではない。
density-reachableの定義について説明する。図13は、density-reachableの定義を説明するための図である。点qが点pからdensity-reachableとは、directly density-reachableな点列(p、p1、・・・、pn、q)があることである。density-reachablityは、対称ではない。
directly density-reachableの定義について説明する。図14は、directly density-reachableの定義を説明するための図である。点qが点pからdirectly density-reachableとは、与えられた距離の閾値εの球内部のデータ数がNを超えていることをいい、例えば、式(3)で表すことが出来る。directly density-reachableは対称な関係ではない。例えば点pのまわりにはNより多くの点があるが、点qのまわりにはNより少ない点しかない場合には、点pから点qは到達可能であるが、点qから点pは到達可能ではない。
Figure 0006561504
処理時間パターン判定部140は、上述した部分空間クラスタリング手法または射影クラスタリング手法を用いて、クラスタリングを行うことで、部分的に類似する処理時間ベクトルを同一のクラスタに分類する。これにより、各レコードデータは、クラスタに属するか属さないかが決まる。ここで、レコードデータriに属するクラスタの集合をC_iとする。C_iの要素は一つとは限らず、複数の場合も、空の場合も、F個の場合もある。また、各クラスタの属する部分空間の次元は、クラスタ毎に異なる。
処理時間パターン判定部140は、レコードデータ毎に、レコードデータが属するクラスタのクラスタ識別情報を、レコードデータテーブル110aに設定する。
処理時間パターン判定部140は、各レコードデータをクラスタリングした後に、各レコードデータの類似度を算出し、類似度行列データ110cを生成する。例えば、処理時間パターン判定部140は、レコードデータriとrjとの類似度d_ijをクラスタ集合の共通集合、C_ij:=C_i∩C_j、に従って定める。つまり、同一クラスタ内に入ったレコードデータは、ある種のクエリデータに対して同じような処理パターンを示すので、かかるレコードデータは別の計算資源に配置されるべきである。逆に同一クラスタを持たないデータ対の配置は余り気にしなくても良い。R列R行の類似度行列Dについて、(i,j)成分がd_ijであるものとする。
処理時間パターン判定部140が、レコードデータriとrjとの類似度d_ijをクラスタ集合の共通集合に従って定める処理の一例について説明する。同一のクラスタに属する各レコードデータは類似しており、異なるクラスタに属するレコードデータ同士は類似していないという考えに基づき類似度を算出する。
類似度を算出する一番簡単な方法は、レコードデータr1とレコードデータr2とが属するクラスタが1つのとき、各クラスタが属する部分空間で距離を測り、マイナスをとればよい。レコードデータr1とレコードデータr2とが属するクラスタが1つより多いとき、簡単には、各クラスタから算出される類似度の平均をとればよいが、クラスタの属する部分空間の次元は、クラスタ毎に異なるので、単純な平均は好ましくない。さらに、大きい次元のクラスタを共通にもつレコードデータほど似ていると判断するのが自然である。このため、処理時間パターン判定部140は、クラスタに属する部分空間の次元が大きいほど類似度が大きくなるように類似度を算出してもよい。
例えば、Q次元のベクトル空間Rでのレコードデータr1とr2の距離を、式(4)で定義する。
Figure 0006561504
多くの場合には、レコードデータr1とr2の距離は、重み付きユークリッド距離または重み付きLp距離に対応する。C_iの属する部分空間をRCiと定義し、RからRCiへの標準的な射影をπCiとする。そうすると、C_iに属するレコードデータr1とレコードデータr2とのRCiにおける距離を、式(5)と定義する。また、レコードデータrの属するクラスタの集合を、式(6)とする。
Figure 0006561504
Figure 0006561504
処理時間パターン判定部140は、レコードデータr1とレコードデータr2との属するクラスタの集合の共通部分が空でないとき、レコードデータr1とレコードデータr2の類似度を式(7)によって算出する。処理時間パターン判定部140は、共通部分が空のとき、レコードデータr1とr2の類似度をマイナス無限大とする。
Figure 0006561504
処理時間パターン判定部140は、各レコードデータの組について、上記処理を繰り返し実行することで、類似度行列データ110cを生成する。
マッチング処理部150は、類似度行列データ110cを基にして、各レコードデータを配置する計算資源を判定し、判定した結果に基づいて、配置先情報110dを生成する処理部である。
マッチング処理部150の処理を具体的に説明する。まず、マッチング処理部150は、レコードデータテーブル110aを参照し、クラスタに属するレコードデータの数が、N個以上となるクラスタをランダムに選択する。Nは、計算資源S1〜SNの数に対応する。マッチング処理部150は、選択したクラスタからN個のレコードデータを非復元抽出で選択する。以下の説明において、クラスタから選択したレコードデータを候補データと表記する。各候補データをv1、v2、・・・、vNとし、各計算資源をS1、S2、・・・、SNとする。マッチング処理部150は、初回は、各計算資源S1〜SNにレコードデータが配置されていないため、各候補データの配置先をランダムに決定し、配置先情報110dを更新する。
マッチング処理部150は、2回目以降において、候補データviと、計算資源Sjに配置済みのレコードデータとを比較して、候補データviと計算資源Sjとの類似度を算出する。マッチング処理部150は、配置先情報110dを基にして、計算資源Sjに配置されたレコードデータを特定する。
マッチング処理部150は、類似度行列データ110cを基にして、候補データviと、計算資源Sjに配置済みのレコードデータとの類似度を特定する。マッチング処理部150は、計算資源Sjに複数のレコードデータが配置されている場合には、候補データviと、計算資源Sjに配置されたレコードデータとの各類似度のうち、最大値となる類似度を、候補データviと計算資源Sjとの類似度kijとして特定する。
マッチング処理部150は、他の候補データについても上記処理を繰り返し実行することで、候補データと計算資源との類似度kijを(i,j)要素に持つN×N行列Eを作成する。マッチング処理部150は、行列Eを基にして、候補データviの希望リストLviを作成する。この希望リストLviは、候補データviとの類似度が大きい計算資源Sjほど、マッチング対象の優先度が低くなるリストである。
例えば、マッチング処理部150は、行列Eのi行目を昇順にソートし、候補データviに対する計算資源Sjの順位を決定し、決定した順位を、候補データviの希望リストLviとする。マッチング処理部150は、希望リストLviを作成する場合に、j!=j’で、kij=kij’となる時があるが、ソートの際にどちらが上に来てもよいものとする。
マッチング処理部150は、行列Eを基にして、計算資源Sjの希望リストLSjを作成する。この希望リストLSjは、計算資源Sjとの類似度が大きい候補データviほど、マッチング対象の優先度が低くなるリストである。
例えば、マッチング処理部150は、行列Eのj列目を昇順にソートし、計算資源Sjに対する候補データviの順位を決定し、決定した順位を、計算資源Sjの希望リストLSiとする。
マッチング処理部150は、各候補データの希望リストLv1〜LvNと、計算資源の希望リストLS1〜LSNを作成した後に、拡張GSアルゴリズムに基づいて、安定マッチングを求め、各候補データの配置先となる計算資源を判定する。拡張GSアルゴリズムに関する説明は後述する。マッチング処理部150は、判定結果を、配置先情報110dに登録する。
マッチング処理部150は、レコードデータの数がN以上となるクラスタが存在する間は、レコードデータの数がN以上となるクラスタをランダムに選び、上記処理を繰り返し実行する。例えば、マッチング処理部150は、既に配置先が決定したレコードデータにフラグを立て、配置先の決定したレコードデータと決定していないレコードデータとを区別してもよい。
マッチング処理部150は、レコードデータの数がN以上となるクラスタが存在しない場合には、係るクラスタのレコードデータまたはノイズと判定したレコードデータを集める。マッチング処理部150は、集めたレコードデータから、N個のレコードデータを非復元抽出で選択し、上記処理を繰り返し実行する。
マッチング処理部150は、上記処理おいてクラスタを選択する場合に、レコードデータの数が多いクラスタを優先的に選択し、レコードデータの配置先を判定してもよい。レコードデータの数が多いクラスタほど、全体の処理時間ばらつき平準化に占める影響が多いため、レコードデータの数が多いクラスタを優先的に選択した方がよい。
更に、マッチング処理部150は、クラスタを選択する場合に、クラスタの属する部分空間の次元数に基づいて、クラスタを選択してもよい。例えば、マッチング処理部150は、クラスタの属する部分空間の次元数が大きいクラスタを優先して選択する。クラスタの属する次元数が大きいほど、多くのクエリデータに対して同じような処理の時間がかかる。このため、次元数が大きいクラスタほど、全体の処理時間ばらつき平準化に占める影響が多いため、次元数の大きいクラスタを優先的に選択した方がよい。
例えば、マッチング処理部150が、クラスタを選択する優先順位を次に示すものとする。すなわち、「クラスタの属する部分空間の次元数>クラスタの密度>クラスタに属するレコードデータの数」とする。なお、係る優先順位で優劣のつかない複数のクラスタが存在する場合には、マッチング処理部150は、ランダムにクラスタを選択する。
次に、マッチング処理部150が利用する安定マッチング問題(Stable marriage problem, Stable matching problem)の一例について説明する。安定マッチング問題は、男N人と女N人がいて、各男は女の希望リストを持ち、各女は男の希望リストを持っている場合に、男女の間の安定なペア達を作る問題である。ここで、男女間のマッチングが与えられた場合に、現在のペアを組んでいる相手よりも互いに好ましい相手がいる場合、彼らは駆け落ちをしてしまう。そのようなペアをブロッキングペアと呼ぶ。このブロッキングペアの存在するマッチングを不安定マッチングと呼び、ブロッキングペアの存在しないマッチングを安定マッチングと呼ぶ。
図15は、安定マッチングと不安定マッチングとを説明するための図である。図15では、男4人と女4人の場合の安定マッチングと不安定マッチングとを示す。4人の男をそれぞれ1,2,3,4とし、4人の女をそれぞれa,b,c,dとする。男1,2,3,4は、女a,b,c,dに対する希望リストを持つ。例えば、男2の希望は、c,b,a,dの順となる。例えば、女bの希望は、2,1,4,3となる。
グループ20aでは、ペアはそれぞれ(1,a)、(2,c)、(3,b)、(4、d)となる。グループ20aには、ブロッキングペアが存在しないので、グループ20aの各ペアは、安定なマッチングと言える。
これに対して、グループ20bでは、ペアはそれぞれ(1,a)、(2,c)、(3,d)、(4,b)となる。グループ20bには、ブロッキングペア(4,d)が存在する。男4は女bより女dが好ましく、女dは男3より男4が好ましいためである。このため、グループ20bの各ペアは、不安定なマッチングと言える。
次に、図15のグループ20aに示した安定マッチングを得るためのゲール−シャプレイ(Gale-Shapley)のアルゴリズムについて説明する。図16は、ゲール−シャプレイのアルゴリズムの処理手順の一例を示す図である。図16の処理を実行することで、安定マッチングを得ることができる。以下の説明では、ゲール−シャプレイのアルゴリズムを適宜、GSと表記する。
図16に示すように、GSは、n人の男性とn人の女性、および、各人の異性全員に対する希望リストを取得する(ステップS20)。GSは、独身の男性hが存在するか否かを判定する(ステップS21)。独身の男性hが存在しない場合には(ステップS21,No)、現在婚約しているペアの集合を安定マッチングとして出力する(ステップS22)。
一方、GSは、独身の男性hが存在する場合には(ステップS21,Yes)、男性hがまだプロポーズしていない女性のなかで、希望リストの最高位の女性dにプロポーズさせる(ステップS23)。GSは、プロポーズされた女性dが独身であるか否かを判定する(ステップS24)。
GSは、女性dが独身である場合には(ステップS24,Yes)、女性dと男性hとを婚約させ(ステップS25)、ステップS21に移行する。一方、GSは、女性dが独身でない場合には(ステップS24,No)、ステップS26に移行する。
ステップS26において、女性dの希望リストにおいて、希望順位が男性h’の順位が男性hの順位よりも上位のとき、女性dは男性hからのプロポーズを断る。希望順位が男性hの順位が男性h’の順位よりも上位のとき、女性は男性h’との婚約を解消し、男性hと婚約する。GSは、ステップS26の処理を終了した後に、ステップS21に移行する。
次に、ゲール−シャプレイのアルゴリズムを拡張した拡張ゲール−シャプレイについて説明する。以下の説明では、拡張ゲール−シャプレイを拡張GSと表記する。拡張GSは、アルゴリズムの途中で安定マッチングに至らないペア候補を希望リストから削除する。具体的に、拡張GSでは、男性hと女性dとを婚約させた場合に、女性dの希望リストから、男性hよりも優先順位の低い男性を削除する点でGSと相違する。このような処理を追加することで、GSよりも効率的に安定マッチングを実行することができる。
マッチング処理部150は、上述した拡張GSアルゴリズムを用いて、候補データと計算資源との安定マッチングを求める。マッチング処理部150は、安定マッチングを求める場合に、候補データ側から計算資源側にプロポーズさせてもよいし、計算資源側から候補データ側にプロポーズさせてもよい。
配置処理部160は、配置先情報110dを基にして、レコードデータテーブル110aからレコードデータを抽出し、抽出したレコードデータを、計算資源S1〜SNに配置する処理部である。なお、配置処理部160は、初期処理においては、レコードデータテーブル110aに登録されたレコードデータをランダムに、計算資源S1〜SNに配置する。配置処理部160によってランダムに配置されたレコードデータに対して、照合処理が実行され、上述した中間テーブル110bが生成される。
次に、本実施例に係るデータ配置装置100の処理手順について説明する。図17は、本実施例に係るデータ処理装置の処理手順を示すフローチャートである。図17に示すように、データ配置装置100の配置処理部160は、レコードデータテーブル110aに登録されたレコードデータをランダムに複数の計算資源S1〜SNに配置する(ステップS101)。
データ配置装置100の計算資源S1〜SNは、Q個のクエリデータに対し、全てのレコードデータの処理時間を計測し、処理時間パターン判定部140に、処理時間を通知する(ステップS102)。データ配置装置100の処理時間パターン判定部140は、中間テーブル110bを生成する(ステップS103)。
処理時間パターン判定部140は、処理時間パターン空間で、部分空間クラスタリングを実行する(ステップS104)。ステップS104において、処理時間パターン判定部140は、部分空間クラスタリングの代わりに、射影クラスタリングを実行してもよい。処理時間パターン判定部140は、部分空間クラスタリング結果に基づいて、レコードデータ間の類似度を算出し、類似度行列データ110cを生成する(ステップS105)。
マッチング処理部150は、未選択のクラスタを選択し、選択したクラスタに属するN個のレコードデータを取り出す(ステップS106)。ステップS106において取り出したレコードデータは、候補データに対応する。マッチング処理部150は、取り出したレコードデータに対して、拡張ゲール−シャルプレイアルゴリズムを用いて、N個のレコードデータと、N個の計算資源との安定マッチングを実行し、マッチング結果を配置先情報110dに登録する(ステップS107)。
マッチング処理部150は、全てのクラスタを選択したか否かを判定する(ステップS108)。マッチング処理部150は、全てのクラスタを選択していない場合には(ステップS108,No)、ステップS106に移行する。一方、マッチング処理部150は、全てのクラスタを選択した場合には(ステップS108,Yes)、ステップS109に移行する。
データ配置装置100の配置処理部160は、配置先情報110dに基づいて、レコードデータを計算資源に配置する(ステップS109)。
次に、本実施例に係るデータ配置装置100の効果について説明する。データ配置装置100は、計算資源S1〜SNに分割されて格納されたそれぞれのレコードデータに対するクエリデータと、クエリデータで処理されたレコードデータとの処理時間を算出する。そして、データ配置装置100は、処理時間が分散するように、レコードデータを各計算資源S1〜SNに配置し、クエリデータを処理する。これによって、同一の類似度を有するレコードデータがある計算資源に集中することを防ぐと共に、クエリデータの実行に要する時間を短縮することができる。
データ配置装置100は、計算資源S1〜SNに分割されて格納されたそれぞれのレコードデータに対するクエリデータと、クエリデータで処理されたレコードデータとの処理時間を算出し、中間テーブル110bを生成する。データ配置装置100は、中間テーブル110bを用いることで、処理時間が部分的に類似するレコードデータを同一の計算資源に配置することを抑止することができる。なお、クエリデータとレコードデータとが類似していれば処理時間が長くなるため、中間テーブル110bに示す処理時間は、クエリデータとレコードデータとの類似度を示す指標ともいえる。
データ配置装置100は、中間テーブル110bを基にして、各処理要求に対する処理時間の値が部分的に類似するレコードデータの集合を同一のクラスタに分類するクラスタリングを実行し、同一のクラスタに含まれるデータを、それぞれ異なるデータベースに分散させる。これにより、処理時間が部分的に類似するレコードデータを同一の計算資源に配置することを抑止することができる。
データ配置装置100は、中間テーブル110bについて、複数の列データ間の類似度の値が類似するもの同士を統合することで、次元を削減する。これによって、計算負荷を軽減することができる。
次に、上記実施例に示したデータ配置装置100と同様の機能を実現するデータ配置プログラムを実行するコンピュータの一例について説明する。図18は、データ配置プログラムを実行するコンピュータの一例を示す図である。
図18に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、ユーザからのデータの入力を受け付ける入力装置202と、ディスプレイ203とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読取る読み取り装置204と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインターフェース装置205とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM206と、ハードディスク装置207とを有する。そして、各装置201〜207は、バス208に接続される。
ハードディスク装置207は、マッチング処理プログラム207a、処理時間パターン判定プログラム207b、配置処理プログラム207cを有する。CPU201は、マッチング処理プログラム207a、処理時間パターン判定プログラム207b、配置処理プログラム207cを読み出して、RAM206に展開する。
マッチング処理プログラム207aは、マッチング処理プロセス206aとして機能する。処理時間パターン判定プログラム207bは、処理時間パターン判定プロセス206bとして機能する。マッチング処理プロセス206aの処理は、マッチング処理部150に対応する。処理時間パターン判定プロセス206bは、処理時間パターン判定部140に対応する。配置処理プロセス206cは、配置処理部160に対応する。
なお、マッチング処理プログラム207a、処理時間パターン判定プログラム207b、配置処理プログラム207cについては、必ずしも最初からハードディスク装置207に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ200が各プログラム207a〜207cを読み出して実行するようにしてもよい。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
データベースに格納されたデータに対して処理要求を実行し、前記処理要求と前記データとの組み合わせにおける処理の類似度を算出し、
前記類似度が分散するようにデータを分割し
分割された前記データに対して受け付けた処理要求を処理する
ことを実行させることを特徴とするデータ配置プログラム。
(付記2)前記類似度を算出する処理は、複数種類の前記処理要求毎に、前記処理要求と前記処理要求で処理された前記データとの類似度を算出することで中間テーブルを生成し、前記処理要求を処理する処理は、前記中間テーブルを基にして、前記類似度が分散するようにデータを分割して前記処理要求を処理することを特徴とする付記1に記載のデータ配置プログラム。
(付記3)前記処理要求を処理する処理は、前記中間テーブルを基にして、各処理要求に対する類似度の値が部分的に類似する前記データの集合を同一のクラスタに分類するクラスタリングを実行し、同一のクラスタに含まれるデータを、それぞれ異なるデータベースに分散させることを特徴とする付記2に記載のデータ配置プログラム。
(付記4)前記中間テーブルは、前記処理要求の数に対応する次元を有しており、前記処理要求を処理する処理は、複数のデータ間の類似度の値が類似するもの同士を統合することで、前記次元を削減することを特徴とする付記2または3に記載のデータ配置プログラム。
(付記5)コンピュータが実行するデータ配置方法であって、
データベースに格納されたデータに対して処理要求を実行し、前記処理要求と前記データとの組み合わせにおける処理の類似度を算出し、
前記類似度が分散するようにデータを分割し
分割された前記データに対して受け付けた処理要求を処理する
ことを特徴とするデータ配置方法。
(付記6)前記類似度を算出する処理は、複数種類の前記処理要求毎に、前記処理要求と前記処理要求で処理された前記データとの類似度を算出することで中間テーブルを生成し、前記処理要求を処理する処理は、前記中間テーブルを基にして、前記類似度が分散するようにデータを分割して前記処理要求を処理することを特徴とする付記5に記載のデータ配置方法。
(付記7)前記処理要求を処理する処理は、前記中間テーブルを基にして、各処理要求に対する類似度の値が部分的に類似する前記データの集合を同一のクラスタに分類するクラスタリングを実行し、同一のクラスタに含まれるデータを、それぞれ異なるデータベースに分散させることを特徴とする付記6に記載のデータ配置方法。
(付記8)前記中間テーブルは、前記処理要求の数に対応する次元を有しており、前記処理要求を処理する処理は、複数のデータ間の類似度の値が類似するもの同士を統合することで、前記次元を削減することを特徴とする付記6または7に記載のデータ配置方法。
(付記9)データベースに格納されたデータに対して処理要求を実行し、前記処理要求と前記データとの組み合わせにおける処理の類似度を算出する算出部と、
前記類似度が分散するようにデータを分割し、分割された前記データに対して受け付けた処理要求を処理する配置部と、
を有することを特徴とするデータ配置装置。
(付記10)前記算出部は、複数種類の前記処理要求毎に、前記処理要求と前記処理要求で処理された前記データとの類似度を算出することで中間テーブルを生成し、前記配置部は、前記中間テーブルを基にして、前記類似度が分散するようにデータを分割してデータベースに配置することを特徴とする付記9に記載のデータ配置装置。
(付記11)前記配置部は、前記中間テーブルを基にして、各処理要求に対する類似度の値が部分的に類似する前記データの集合を同一のクラスタに分類するクラスタリングを実行し、同一のクラスタに含まれるデータを、それぞれ異なるデータベースに分散させることを特徴とする付記10に記載のデータ配置装置。
(付記12)前記中間テーブルは、前記処理要求の数に対応する次元を有しており、前記配置部は、複数のデータ間の類似度の値が類似するもの同士を統合することで、前記次元を削減することを特徴とする付記10または11に記載のデータ配置装置。
100 データ配置装置
110 記憶部
120 入力部
130 照合処理要求部
140 処理時間パターン判定部
150 マッチング処理部
160 配置処理部

Claims (5)

  1. コンピュータに、
    データベースに格納された複数のデータそれぞれに対して複数の処理要求の処理を実行し、前記複数のデータに対して前記複数の処理要求の処理を行った場合の処理時間をそれぞれ算出し、
    前記複数のデータに含まれる1つのデータに対して前記複数の処理要求の処理を行った場合の処理時間をそれぞれ配列した処理時間ベクトルを、データ毎に設定した中間テーブルを生成し、前記中間テーブルの前記データ毎に設定された前記処理時間ベクトルを基にして、前記複数のデータに含まれる各データの類似度をそれぞれ算出し、前記類似度を基にして、前記複数のデータを複数のデータベースに配置する
    ことを実行させることを特徴とするデータ配置プログラム。
  2. 前記複数のデータを複数のデータベースに配置する処理は、前記中間テーブルを基にして、前記複数のデータにそれぞれ設定された処理時間ベクトルが部分的に類似するデータの集合を同一のクラスタに分類するクラスタリングを実行し、同一のクラスタに含まれるデータを、それぞれ異なるデータベースに分散させることを特徴とする請求項に記載のデータ配置プログラム。
  3. 前記中間テーブルは、前記データベースに格納された複数のデータそれぞれに対して実行された前記複数の処理要求の数に対応する次元を有しており
    前記処理時間ベクトル間の類似度の値が類似するもの同士を統合することで、前記次元を削減する処理を更に実行することを特徴とする請求項に記載のデータ配置プログラム。
  4. コンピュータが実行するデータ配置方法であって、
    データベースに格納された複数のデータそれぞれに対して複数の処理要求の処理を実行し、前記複数のデータに対して前記複数の処理要求の処理を行った場合の処理時間をそれぞれ算出し、
    前記複数のデータに含まれる1つのデータに対して前記複数の処理要求の処理を行った場合の処理時間をそれぞれ配列した処理時間ベクトルを、データ毎に設定した中間テーブルを生成し、前記中間テーブルの前記データ毎に設定された前記処理時間ベクトルを基にして、前記複数のデータに含まれる各データの類似度をそれぞれ算出し、前記類似度を基にして、前記複数のデータを複数のデータベースに配置する
    処理を実行することを特徴とするデータ配置方法。
  5. データベースに格納された複数のデータそれぞれに対して複数の処理要求の処理を実行し、前記複数のデータに対して前記複数の処理要求の処理を行った場合の処理時間をそれぞれ算出し、前記複数のデータに含まれる1つのデータに対して前記複数の処理要求の処理を行った場合の処理時間をそれぞれ配列した処理時間ベクトルを、データ毎に設定した中間テーブルを生成し、前記中間テーブルの前記データ毎に設定された前記処理時間ベクトルを基にして、前記複数のデータに含まれる各データの類似度をそれぞれ算出する算出部と
    前記類似度を基にして、前記複数のデータを複数のデータベースに配置する配置部と、
    を有することを特徴とするデータ配置装置。
JP2015048214A 2015-03-11 2015-03-11 データ配置プログラム、データ配置方法およびデータ配置装置 Expired - Fee Related JP6561504B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015048214A JP6561504B2 (ja) 2015-03-11 2015-03-11 データ配置プログラム、データ配置方法およびデータ配置装置
US15/064,982 US10133811B2 (en) 2015-03-11 2016-03-09 Non-transitory computer-readable recording medium, data arrangement method, and data arrangement apparatus
EP16159633.3A EP3067804B1 (en) 2015-03-11 2016-03-10 Data arrangement program, data arrangement method, and data arrangement apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015048214A JP6561504B2 (ja) 2015-03-11 2015-03-11 データ配置プログラム、データ配置方法およびデータ配置装置

Publications (2)

Publication Number Publication Date
JP2016170493A JP2016170493A (ja) 2016-09-23
JP6561504B2 true JP6561504B2 (ja) 2019-08-21

Family

ID=55521625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015048214A Expired - Fee Related JP6561504B2 (ja) 2015-03-11 2015-03-11 データ配置プログラム、データ配置方法およびデータ配置装置

Country Status (3)

Country Link
US (1) US10133811B2 (ja)
EP (1) EP3067804B1 (ja)
JP (1) JP6561504B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10491694B2 (en) 2013-03-15 2019-11-26 Oath Inc. Method and system for measuring user engagement using click/skip in content stream using a probability model
JP7020331B2 (ja) * 2018-07-26 2022-02-16 日本電信電話株式会社 クラスタリング装置、方法、及びプログラム
US10510022B1 (en) 2018-12-03 2019-12-17 Sas Institute Inc. Machine learning model feature contribution analytic system
CN113408557B (zh) * 2020-03-17 2023-10-13 深圳云天励飞技术有限公司 一种档案合并方法、装置及电子设备
CN113919814A (zh) * 2021-10-19 2022-01-11 北京优全智汇信息技术有限公司 一种工种信息管理方法和装置
CN114866575A (zh) * 2022-03-31 2022-08-05 远景智能国际私人投资有限公司 物联网设备的管理方法、装置、设备及存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000322292A (ja) * 1999-05-10 2000-11-24 Nec Corp クラスタ型データサーバシステム及びデータ格納方法
JP2001195593A (ja) * 1999-10-22 2001-07-19 Sony Computer Entertainment Inc エンタテインメントシステム、エンタテインメント装置、記録媒体及びプログラム
JP2001134593A (ja) 1999-11-05 2001-05-18 Nippon Telegr & Teleph Corp <Ntt> 近傍データ検索方法及び装置及び近傍データ検索プログラムを格納した記憶媒体
EP1755067A1 (en) 2005-08-15 2007-02-21 Mitsubishi Electric Information Technology Centre Europe B.V. Mutual-rank similarity-space for navigating, visualising and clustering in image databases
JP2007323319A (ja) 2006-05-31 2007-12-13 Nippon Telegr & Teleph Corp <Ntt> 類似検索処理方法及び装置及びプログラム
US8295603B2 (en) * 2007-03-28 2012-10-23 Sharp Kabushiki Kaisha Image processing apparatus, image forming apparatus, image processing system, and image processing method
US8312136B2 (en) * 2007-07-10 2012-11-13 Nec Corporation Computer system management based on request count change parameter indicating change in number of requests processed by computer system
WO2010060179A1 (en) 2008-11-28 2010-06-03 Infobright Inc. Methods for organizing a relational database by using clustering operations
JP5458815B2 (ja) 2009-11-11 2014-04-02 株式会社デンソーアイティーラボラトリ マルチメディア検索システム
US9400978B2 (en) * 2010-04-09 2016-07-26 Paypal, Inc. Methods and systems for selecting accounts and offers in payment transactions
WO2012127988A1 (ja) * 2011-03-18 2012-09-27 日本電気株式会社 情報処理装置、分散ファイルシステム、クライアント装置、情報処理方法、および、コンピュータ・プログラム
US8838565B2 (en) * 2011-11-17 2014-09-16 CereScan Corporation Neuroimaging database systems and methods
JP2013196212A (ja) 2012-03-16 2013-09-30 Fujitsu Ltd 文書分割装置、文書分割プログラムおよび文書分割方法
US9703837B1 (en) * 2012-09-28 2017-07-11 Google Inc. Predicting interest of a user of a social networking service in a content item
US9620123B2 (en) * 2013-05-02 2017-04-11 Nice Ltd. Seamless authentication and enrollment
US9536195B2 (en) * 2013-09-13 2017-01-03 International Business Machines Corporation Goal-oriented process generation

Also Published As

Publication number Publication date
EP3067804A1 (en) 2016-09-14
US20160267173A1 (en) 2016-09-15
JP2016170493A (ja) 2016-09-23
US10133811B2 (en) 2018-11-20
EP3067804B1 (en) 2018-10-17

Similar Documents

Publication Publication Date Title
JP6561504B2 (ja) データ配置プログラム、データ配置方法およびデータ配置装置
JP5792747B2 (ja) テキスト分類の方法及びシステム
TWI738011B (zh) 用戶身分確定方法、裝置及電子設備
TW202029079A (zh) 異常群體識別方法及裝置
CN104077723B (zh) 一种社交网络推荐系统及方法
CN106095920B (zh) 面向大规模高维空间数据的分布式索引方法
US8661040B2 (en) Grid-based data clustering method
EP3217296A1 (en) Data query method and apparatus
WO2015180340A1 (zh) 一种数据挖掘方法及装置
WO2019119635A1 (zh) 种子用户拓展方法、电子设备及计算机可读存储介质
WO2017201605A1 (en) Large scale social graph segmentation
Guo et al. LBIRCH: an improved BIRCH algorithm based on link
US9519835B2 (en) Efficient biometric authentication using narrowed biometric data
Chehreghani Efficient computation of pairwise minimax distance measures
US20140105509A1 (en) Systems and methods for comparing images
JP6435939B2 (ja) データ分類プログラム、データ分類方法およびデータ分類装置
US9183264B2 (en) Distributed configuration information management device and distributed configuration information management method using duplicates
JP2013196212A (ja) 文書分割装置、文書分割プログラムおよび文書分割方法
CN106844338B (zh) 基于属性间依赖关系的网络表格的实体列的检测方法
CN117493920A (zh) 一种数据分类方法及装置
US20160063042A1 (en) Computer-readable recording medium, data placement method, and data placement device
Melo et al. Hierarchical density-based clustering based on GPU accelerated data indexing strategy
Elbatta et al. A vibration method for discovering density varied clusters
WO2019230465A1 (ja) 類似性評価装置、その方法、及びプログラム
US10223405B2 (en) Retrieval control method and retrieval server

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190123

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190708

R150 Certificate of patent or registration of utility model

Ref document number: 6561504

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees