JP2016136354A - データ連携推定装置、データ連携推定方法及びプログラム - Google Patents
データ連携推定装置、データ連携推定方法及びプログラム Download PDFInfo
- Publication number
- JP2016136354A JP2016136354A JP2015011570A JP2015011570A JP2016136354A JP 2016136354 A JP2016136354 A JP 2016136354A JP 2015011570 A JP2015011570 A JP 2015011570A JP 2015011570 A JP2015011570 A JP 2015011570A JP 2016136354 A JP2016136354 A JP 2016136354A
- Authority
- JP
- Japan
- Prior art keywords
- data
- relationship
- cooperation
- column
- tables
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
非特許文献2には、テーブル定義情報のようなメタデータのみからスキーママッチング技術によりテーブル間の参照関係を抽出する技術が開示されている。
またデータ連携関係の自動推薦のためには発行クエリの準備が必須であるため、例えば連携先テーブルが新規に作成するテーブルであり、まだ発行クエリが存在しない場合は利用できないという課題も存在する。
また、データ連携関係の自動推薦に固有の要件である、テーブルがマスタテーブルかトランザクションテーブルかという論理的な位置づけを認識したうえで、データ連携の要件に応じた連携元テーブル群を生成する必要がある点については考慮されていない。
カラムを有するテーブルを複数含むテーブル群からカラムの参照関係を表す参照関係データを抽出する参照関係抽出部と、
前記テーブル群から抽出される2つのテーブルのカラム同士の類似度を算出し、前記類似度が閾値以上である2つのテーブルのカラム同士をスキーママッチング結果データとして抽出するスキーママッチング処理部と、
前記参照関係データと前記スキーママッチング結果データとに基づいて、複数のテーブルの各テーブルのカラムのカラム特性を判定し、判定した結果を継承関係データとして生成するデータ関係抽出部と、
前記継承関係データに基づいて、前記テーブルのテーブル特性を表すテーブルスコアを算出し、算出したテーブルスコアと前記テーブルとを対応付けた関係性情報を生成する関係性抽出部と、
前記テーブル群に含まれる検索対象の連携先テーブルを定義する連携先テーブル定義情報を取得し、前記関係性情報に基づいて、前記連携先テーブルの連携元である連携元テーブルの候補を連携元候補テーブル群として抽出するマッチング結果統合部と
を備える。
***構成の説明***
図1を用いて、本実施の形態に係るデータ連携推定装置100の構成について説明する。
データ連携推定装置100は、テーブル定義抽出部11、参照関係抽出部12、データ関係抽出部13、スキーママッチング処理部14、関係性抽出部15、データ蓄積部16、関係性情報格納部17、マッチング結果統合部18、最短経路探索部19を備える。
また、データ連携推定装置100には、連携元データベース定義情報101、連携先データベース定義情報102、表示装置200、入力装置300が接続される。
入力装置300は、データ連携推定装置100に対して、テーブル定義情報を入力するための入力装置たるキーボード、マウス、通信ボードであってもよいし、テーブル定義情報を出力する装置あるいはプログラムであってもよい。
連携元データベース定義情報101及び連携先データベース定義情報102は、カラムを有するテーブルを複数含むテーブル群1000の例である。
スキーママッチング処理部14は、データ関係抽出部13からの2テーブルの組み合わせを入力としてスキーママッチング処理を実施し、スキーママッチング結果データ163を出力する。
データ関係抽出部13は、参照関係データ161とスキーママッチング結果データ163とに基づいて、継承関係データ162を生成する。継承関係データ162は、固有/継承関係データとも称される。
すなわち、関係性抽出部15は、継承関係データ162に基づいて、テーブルの仮想的な位置情報を数値化した関係性情報171を生成する。関係性情報171は、テーブルスコア情報、関係性データとも称される。
関係性情報格納部17は、メモリあるいはハードディスクあるいはSSD(ソリッドステートドライブ)等により構成される記憶領域である。関係性情報格納部17には、関係性情報171が存在する。
マッチング結果統合部18は、連携元候補テーブル群から、連携先テーブルのカラムの連携元をテーブル特性の異なるテーブル毎に出力する。マッチング結果統合部18は、連携先テーブルのカラムの連携元のカラムとして、マスタ系のテーブルのカラムとトランザクション系のテーブルのカラムとを出力する。
マッチング結果統合部18は、連携先テーブルのカラムの連携元がない場合、不足するカラムを有するテーブルと連携元候補テーブル群との結合可否を判断し、結合可能な場合に結合するためのキーとなる結合カラム群を報告する。
データ連携推定装置100はコンピュータである。
データ連携推定装置100は、プロセッサ901、補助記憶装置902、メモリ903、通信装置904、入力インタフェース905、ディスプレイインタフェース906といったハードウェアを備える。
プロセッサ901は、信号線910を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
入力インタフェース905は、入力装置907に接続されている。
ディスプレイインタフェース906は、ディスプレイ908に接続されている。
プロセッサ901は、例えば、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
補助記憶装置902は、例えば、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)である。
メモリ903は、例えば、RAM(Random Access Memory)である。
通信装置904は、データを受信するレシーバー9041及びデータを送信するトランスミッター9042を含む。
通信装置904は、例えば、通信チップ又はNIC(Network Interface Card)である。
入力インタフェース905は、入力装置907のケーブル911が接続されるポートである。
入力インタフェース905は、例えば、USB(Universal Serial Bus)端子である。
ディスプレイインタフェース906は、ディスプレイ908のケーブル912が接続されるポートである。
ディスプレイインタフェース906は、例えば、USB端子又はHDMI(登録商標)(High Definition Multimedia Interface)端子である。
入力装置907は、例えば、マウス、キーボード又はタッチパネルである。
ディスプレイ908は、例えば、LCD(Liquid Crystal Display)である。
このプログラムは、メモリ903にロードされ、プロセッサ901に読み込まれ、プロセッサ901によって実行される。
更に、補助記憶装置902には、OS(Operating System)も記憶されている。
そして、OSの少なくとも一部がメモリ903にロードされ、プロセッサ901はOSを実行しながら、「部」の機能を実現するプログラムを実行する。
図2では、1つのプロセッサ901が図示されているが、データ連携推定装置100が複数のプロセッサ901を備えていてもよい。
そして、複数のプロセッサ901が「部」の機能を実現するプログラムを連携して実行してもよい。
また、「部」の処理の結果を示す情報やデータや信号値や変数値が、メモリ903、補助記憶装置902、又は、プロセッサ901内のレジスタ又はキャッシュメモリにファイルとして記憶される。
また、「部」を「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。また、「処理」を「回路」又は「工程」又は「手順」又は「部」に読み替えてもよい。
「回路」及び「サーキットリー」は、プロセッサ901だけでなく、ロジックIC又はGA(Gate Array)又はASIC(Application Specific Integrated Circuit)又はFPGA(Field−Programmable Gate Array)といった他の種類の処理回路をも包含する概念である。
なお、プログラムプロダクトと称されるものは、ブロック構成図に示す「部」の機能を実現するプログラムが記録された記憶媒体、記憶装置などであり、見た目の形式に関わらず、コンピュータ読み取り可能なプログラムをロードしているものである。
図3を用いて、本実施の形態に係るデータ連携推定装置100のデータ連携推定方法、データ連携推定処理の動作について説明する。
s110において、テーブル定義抽出部11は、連携元データベース定義情報101および連携先データベース定義情報102から、テーブルを定義する情報をデータベース定義情報1211として抽出する。テーブル定義抽出部11は、データ連携設計の対象となる連携元データベース定義情報101および連携先データベース定義情報102から、データベース定義情報1211を、データ定義言語(DDL)、XMLファイルなどにより受け取る。あるいは、テーブル定義抽出部11は、データベースに接続してテーブル定義情報を取得するSQL文の発行などによって受け取り、参照関係抽出部12およびデータ関係抽出部13に引き渡す。
図25に示すように、本実施の形態では、発注システムが店舗テーブル、注文テーブル、商品テーブルを有し、人事システムはオーナテーブルを有するものとする。
図4に示すように、データベース定義情報1211は、テーブル所在情報111と、テーブル定義情報112とから構成される。
図4に示すテーブル所在情報111の第1行目は、「発注システム」というインスタンスの「SVR001」というスキーマにおける「店舗」テーブルであるという情報である。また、テーブル定義情報112には、「店舗」テーブルに所属するカラムとして「店舗ID」と「オーナID」と「オーナ名」と「店舗住所」とが存在し、「店舗ID」は単独で主キーであることが設定されている。
参照関係抽出処理s120において、参照関係抽出部12は、カラムを有するテーブルを複数含むテーブル群1000からカラムの参照関係を表す参照関係データ161を抽出する。
参照関係抽出部12は、テーブル定義抽出部11から引き渡されたテーブル定義情報の集合であるテーブル群におけるテーブル同士の組み合わせについて、テーブル所在情報111とテーブル定義情報112との情報を受け取る。テーブルについてのテーブル所在情報111及びテーブル定義情報112の情報を単にテーブル定義情報と称する場合もある。
参照関係抽出部12は、受け取ったテーブル同士の組み合わせについて参照関係データ161の情報を出力する。参照関係抽出部12は、レコードデータの値から推測する方法などの技術及び付加的な人的作業によって実現する。
参照関係データ161は、参照先のテーブルのカラムと参照元のテーブルのカラムとで何らかの意味的な関係があることを示している。
参照関係抽出部12は、参照関係データ161の抽出方法として上記のような技術や作業を用い、2つのテーブル間で参照関係にあるカラムデータを抽出する。
本実施の形態では、図4に示すように、店舗、注文、商品、オーナの4つのテーブルがあるものとする。参照関係抽出部12は、これらのテーブルから2つを組み合わせ、各組み合わせの2つのテーブル間に関して参照関係の有無を抽出し、図5に示す参照関係データ161の結果を得る。図5に示す参照関係データ161では、以下の結果が得られている。
(1)店舗テーブル→オーナテーブル(オーナID)。
(2)注文テーブル→店舗テーブル(店舗ID)。
(3)注文テーブル→商品テーブル(商品ID)。
例えば、上記の(2)は、店舗IDについて店舗テーブルは注文テーブルより上位であることを示している。
スキーママッチング処理s130において、スキーママッチング処理部14は、テーブル群1000から抽出される2つのテーブルのカラム同士の類似度16301を算出する。スキーママッチング処理部14は、類似度16301が閾値以上である2つのテーブルのカラム同士をスキーママッチング結果データ163として抽出する。
データ関係抽出処理s130aについて説明する。
データ関係抽出処理s130aにおいて、データ関係抽出部13は、参照関係データ161とスキーママッチング結果データ163とに基づいて、複数のテーブルの各テーブルのカラム16201のカラム特性16202を判定する。そして、データ関係抽出部13は、判定した結果を継承関係データ162として生成する。継承関係データ162の構成の例を図8に示し、後で説明する。
s131において、データ関係抽出部13は、テーブル定義抽出部11からデータベース定義情報1211を受け取る。データベース定義情報1211は、複数のテーブルのテーブル定義情報を含むテーブル群である。
s132において、データ関係抽出部13は、データ蓄積部16から参照関係データ161を受け取る。
図7を用いて、本実施の形態に係るスキーママッチング結果データ163の構成について説明する。
スキーママッチング処理部14は、2つのテーブルの組み合わせのそれぞれのテーブル所在情報111およびテーブル定義情報112を入力として、スキーママッチング処理を実行する。スキーママッチング処理部14は、スキーママッチング処理を実行し、各テーブルに属するカラム間の類似度16301を0〜1.0の間の数値で表現したスキーママッチングスコア1639を算出する。
s135において、データ関係抽出部13は、スキーママッチングスコア1639の値が閾値以上となるスキーママッチング結果データ163が存在しない場合、s138に進む。
継承項目あるいは被継承項目のラベル付与では、参照関係データ161のインスタンス名、スキーマ名、テーブル名(1611〜1613、1615〜1617のペア)を参照する。参照した結果、スキーママッチング結果データ163のインスタンス名、スキーマ名、テーブル名(1631〜1633、1635〜1637のペア)に合致するものが存在する場合、継承関係データ162をデータ蓄積部16に保存する。
ここで、スキーママッチング結果データ163に含まれる2つのテーブルのうち、一方は参照関係データ161の「参照先」に合致し、もう一方は参照関係データ161の「参照元」に合致するが、いずれに合致するかで以降の処理が異なる。なお、スキーママッチング結果データ163に含まれる2つのテーブルは、インスタンス名、スキーマ名、テーブル名で特定される。よって、一方のテーブルは参照関係データ161の「参照先」となるインスタンス名、スキーマ名、テーブル名(1611〜1613)に合致する。また、もう一方のテーブルは参照関係データ161の「参照元」となるインスタンス名、スキーマ名、テーブル名(1615〜1617)に合致する。
ただし、既に同一のインスタンス名、スキーマ名、テーブル名、カラム名(1621〜1624)を持つ継承関係データ162が存在する場合、ラベル名を上書きする。この際、既にラベル名に継承項目が入っている場合は、継承項目/被継承項目とし、既に被継承項目が入っている場合には変更を行わない。既に固有項目が入っている場合には、被継承項目に上書きする。
ただし、既に同一のインスタンス名、スキーマ名、テーブル名、カラム名(1621〜1624)を持つ継承関係データ162が存在する場合、ラベル名を上書きする。この際、既にラベル名に継承項目が入っている場合は変更を行わない。被継承項目が入っている場合には継承項目/被継承項目とする。既に固有項目が入っている場合には、継承項目に上書きする。
図9は、探索用連携元と探索用連携先の構成を示す図である。
s137において、データ関係抽出部13は、インスタンス名、スキーマ名、テーブル名で特定される2つのテーブルそれぞれについて、参照関係データ161の「参照元」となるデータが存在する場合に、s137aにおいてこのテーブルを図7に示す探索用参照元テーブル121とする。また、データ関係抽出部13は、インスタンス名、スキーマ名、テーブル名で特定される2つのテーブルそれぞれについて、参照関係データ161の「参照先」となるテーブルを探索用参照先テーブル122に格納する。
この際、探索用参照先テーブル122のテーブルについても、参照関係データ161の「参照元」となるデータが存在する場合に、「参照先」となるテーブルを探索用参照先テーブル122に格納する。すなわち、探索用参照元テーブル121から、参照元から参照先という方向の参照関係によって到達することが可能なテーブルすべてが、探索用参照先テーブル122に格納される。
そして、データ関係抽出部13は、探索用参照元テーブル121と、探索用参照先テーブル122のテーブル間で、スキーママッチングを実施する。データ関係抽出部13は、s137bにおいて共通項目が存在する場合に、s137cにおいて継承項目/被継承項目のラベル付与を行う。s137cにおける継承項目/被継承項目のラベル付与の処理は、s136における継承項目/被継承項目のラベル付与の処理と同様である。
以上で、データ関係抽出処理s130aの説明を終わる。
図10を用いて、関係性抽出処理s140について説明する。
関係性抽出処理s140において、関係性抽出部15は、継承関係データ162に基づいて、テーブルのテーブル特性17101を表すテーブルスコアを算出し、算出したテーブルスコアとテーブルとを対応付けた関係性情報171を生成する。
関係性抽出部15は、データ関係抽出部13が保存した継承関係データ162に基づき、図12に示す関係性情報171を関係性情報格納部17に保存する。
s143において、関係性抽出部15は、取得した継承関係データ162のうち、ラベル名が固有項目となるデータの個数をもとに、図11(a)に示す固有項目に基づくスコア152を算出する。
ここで、スコアの算出に用いる重みは、重みに関する制約153を満たす任意の正の数とする。図11(b)に重みに関する制約153を満たす重みの具体例を示す。
図12に示すように、関係性抽出部15は、算出したテーブルスコア1714に基づく関係性情報171を生成し、関係性情報格納部17に保存する。図11(b)に継承項目及び被継承項目に基づくスコア151と固有項目に基づくスコア152とテーブルスコア1714の算出例を示す。
図13を用いて、マッチング結果統合処理s150について説明する。
マッチング結果統合処理s150において、マッチング結果統合部18は、テーブル群1000に含まれる検索対象の連携先テーブルを定義する連携先テーブル定義情報3000を取得する。マッチング結果統合部18は、関係性情報171に基づいて、連携先テーブルの連携元である連携元テーブルの候補を連携元候補テーブル群として抽出する。
マッチング結果統合部18は、入力装置300からの入力データと、データ蓄積部16および関係性情報格納部17に保存された情報とから、入力装置300から与えられたテーブル定義情報に対して、連携元として対応するテーブル定義情報を返却する。
また、入力装置300から入力される情報は、図14の連携先テーブル定義情報入力例31のようにインスタンス名、スキーマ名、テーブル名、カラム名からなるテーブルの定義情報であってもよいし、連携先テーブル定義情報入力例32のようにカラム名のみからなるテーブル定義情報であってもよい。
s15Aにおいて、マッチング結果統合部18は、表示装置200にスキーママッチング結果データ163の検索結果がない旨を出力する。
s154において、マッチング結果統合部18は、関係性情報格納部17に保存されている関係性情報171から、各テーブルのテーブルスコア1714を取得する。
s155において、マッチング結果統合部18は、参照関係データ161および関係性情報171から、次の3つの条件を満たすテーブルの組み合わせを検索する。マッチング結果統合部18は、3つの条件として「テーブル間が参照関係で結ばれている」、「連携先テーブル定義情報を構成するカラムすべてに連携元となるカラムが存在する」、「参照関係で結ばれるテーブルのテーブルスコア情報の合計値が最大あるいは最小である」を満たすテーブルの組み合わせを、連携元テーブル群1551として検索する。
s1551で、マッチング結果統合部18は、スキーママッチング結果データ163に含まれる2つのカラム(インスタンス名、スキーマ名、テーブル名、カラム名の組み合わせであり、1631〜1634、1635〜1638)それぞれについて、連携元候補カラム群181とする。
この際、連携先テーブル定義情報の同じカラムに対応するスキーママッチング結果データ163に含まれている連携元候補カラム群181は、同じ値の識別子を持つものとする。すなわち、連携先テーブル定義情報が5つのカラムからなる場合、連携元候補カラム群181は5種類の識別子を持つことになる。
図17に連携元候補カラム群の組み合わせ182の具体例を示す。連携元候補カラム群181において、P001は2つ、P002は3つ、P003は2つあり、これらの組み合わせとなるため、2×3×2=12パターンとなる。
図18に連携元候補カラム群の組み合わせに含まれるテーブルのペア183の具体例を示す。例えば、連携元候補カラム群の組み合わせ182の組み合わせID:COMB012から、「注文テーブルとオーナテーブル」、「注文テーブルと商品テーブル」、「オーナテーブルと商品テーブル」の3つのテーブルのペアを生成する。
図19に、最短経路探索部19が用いるノード情報191、辺情報192、最短経路情報193の具体例を示す。最短経路探索部19は、ノード情報191、辺情報192を用いて、連携元候補カラム群の組み合わせに含まれるテーブルのペア183の各ペアについて、最短経路を探索し、最短経路情報193を生成する。
この際、最短経路探索問題におけるノードはテーブル(インスタンス名、スキーマ名、テーブル名で特定される)であり、ノード情報191のノードID1914で識別される。
また、ノード間を結ぶ辺が存在するかはテーブル間の参照関係、すなわち一方を参照元テーブル、もう一方を参照先テーブルとした場合に、参照元テーブルとなるテーブルの情報(インスタンス名、スキーマ名、テーブル名)が参照関係データ161に存在するかで定義され、辺が存在する場合は、辺情報192としてノード情報191のノードID1914のペアと、辺の重み1923が最短経路問題における辺となる。なお、辺の重み1923は全ノード間で等しい(常に1)であるものとする。
図26は、連携元候補カラム群の組み合わせに含まれるテーブルのペア183と、期待する最短経路探索部19での探索結果を示す図である。
マッチング結果統合部18は、最短経路探索部19による探索の結果、最短経路が存在する場合、s1556に進む。
図27は、最短経路情報193について任意の個数の組み合わせを生成し、連携元候補カラム群の識別子で示されるカラムが、識別子ごとに1つ以上経路上に存在する最短経路情報の組み合わせを検索する方法を説明する図である。
図20に、最短経路情報の組み合わせ184の具体例を示す。
また、マッチング結果統合部18は、この最短経路情報の組み合わせ184を生成すると共に、連携元候補カラム群の組み合わせ182に最短経路識別子1851を付与し、最短経路から連携可能なカラム群185とする。
図21に、最短経路から連携可能なカラム群185の具体例を示す。例えば、ROUTE001には「店舗」テーブルと「注文」テーブルが存在し、いずれのテーブルにも店舗ID、オーナ名が存在するため、どちらのテーブルから連携するかの組み合わせとなる。
図22に、最短経路上ノード情報186の具体例を示す。
s186において、マッチング結果統合部18は、返却された最短経路から連携可能なカラム群185について、以下のように処理を行う。マッチング結果統合部18は、最短経路識別子1851ごとに、経路上に存在するノードである始点ノードID1842および終点ノードID1843および経由ノードID1844を取得する。マッチング結果統合部18は、取得したこれらのノードIDを用いて最短経路上ノード情報186からインスタンス名、スキーマ名、テーブル名(1861〜1863)を取得し、関係性情報171のテーブルスコア1714を取得して合計値を算出する。ただし、始点ノードID1842あるいは終点ノードID1843あるいは経由ノードID1844に同じノードIDが複数含まれる場合、1個とみなして合計値を算出する。
図28は、合計値の算出の具体例を示す図である。
すなわち、マスタテーブル優先の連携元テーブル群およびトランザクションテーブル優先の連携元テーブル群の最短経路情報の組み合わせ184に関して、以下のように参照カラム群に加える。始点ノードID1842から経由ノードID1844を経由して終点ノードID1843に到達するまでのインスタンス名、スキーマ名、テーブル名(1861〜1863)を順次参照関係データ161の参照元(1615〜1617)および参照先(1611〜1613)とする。また、参照元となるインスタンス名、スキーマ名、テーブル名、カラム名(1615〜1618)および参照先となるインスタンス名、スキーマ名、テーブル名、カラム名(1611〜1614)を参照カラム群に加える。
以上で、本実施の形態に係るマッチング結果統合処理s150についての説明を終わる。
表示装置200は、マッチング結果統合部18の返却結果を、画面に表示してもよいし、他のプログラムに利用可能な形式でファイルとして保存してもよい。
図23は、マスタテーブル優先の連携元テーブル定義情報出力例を示す。また、図24は、トランザクションテーブル優先の連携元テーブル定義情報出力例を示す。
例えば、表示装置200は、マッチング結果統合部18から返却された、マスタテーブル優先の連携元テーブル定義情報を図23に示すマスタテーブル優先の連携元テーブル定義情報出力例21のように表示する。また、トランザクションテーブル優先の連携元テーブル定義情報を図24に示すトランザクションテーブル優先の連携元テーブル定義情報出力例23のように表示する。また、テーブル間の参照カラム群を図23に示すマスタテーブル優先の連携元テーブル定義情報に関する参照カラム群出力例22および図24に示すトランザクションテーブル優先の連携元テーブル定義情報に関する参照カラム群出力例24のように表示する。
以上のように、本実施の形態に係るデータ連携推定装置100は、複数のシステムの複数のデータベーステーブル間のデータ連携定義をデータベーステーブル定義情報から自動的に推薦する。参照関係抽出部は、連携元として受けとったデータベーステーブルの定義情報から、データベーステーブル間に意味的に存在する参照関係を抽出する。固有/継承項目抽出部は、前記参照関係抽出部から提供された参照関係情報をもとに連携元のデータベーステーブル間で継承項目、被継承項目、固有項目を抽出する。テーブル間関係性抽出部は、前記固有/継承項目抽出部から提供された固有/継承項目情報をもとにテーブルの仮想的な位置情報を数値化する。マッチング結果統合部は、前記テーブル間関係性抽出部から提供されたテーブル間関係性情報をもとに、連携元テーブルと連携先テーブルとのマッチングを実施し連携元候補テーブル群を抽出する。
例えば、発行されたクエリを処理するような処理形態を取る技術がある。この技術の場合、推定精度を高めるためにはすべての発行クエリを利用する必要があるが、一般に膨大な発行クエリをすべて保有しておくことはシステムの容量上現実的ではない場合が多い。また、発行クエリをすべて利用できたとしても利用者による試行錯誤的な発行クエリと、システムにより発行された正当なクエリの判別は困難であり、誤りが混入する可能性がある。
さらに、複数のデータベース間でのクエリ発行はアプリケーションが間に入り、クエリ発行を媒介するため、アプリケーション内でのデータ連携は発行クエリから読み取ることはできず、複数のデータベースに跨ったデータ連携の設計は困難である。
以上により、発行クエリを利用する技術では、適用できるシステムの範囲が利用可能な発行クエリの数や、クエリ発行を媒介するアプリケーションにより制限され、全システムを対象として実施することが困難である。また、データ連携関係の自動推薦のためには発行クエリの準備が必須であるため、例えば連携先テーブルが新規に作成するテーブルであり、まだ発行クエリが存在しない場合は利用できない。
スキーママッチング技術は類似のデータ項目を見つけ出すという技術である。このため、複数システムのデータベースを対象とする処理では、同義のカラムや類似の参照関係が多数存在する可能性もあり、スキーママッチング技術としては正しい対応関係であっても、データ連携関係としては使用できない関係が多数検出されてしまう。
また、データ連携関係の自動推薦では探索スコープを広く取ると、本来連携元とすべきテーブル群以外の候補が検出される可能性がある。そして、本来連携元とすべきテーブルのコピーや変形(例えば、マスタテーブルからデータを連携すべき場合に、類似項目がトランザクションテーブルに存在する場合)を連携元としてデータ連携定義を実施してしまう可能性がある。この結果、作成したデータ連携は本来連携元とすべきテーブルではなく、そのコピーや変形と依存関係を持ってしまうことが発生する。このように本来必要のないデータ連携が定義されてしまうこと、すなわち部分最適解を回避する効果がある。
なお、以上の実施の形態は、本質的に好ましい例示であって、本発明、その適用物や用途の範囲を制限することを意図するものではなく、必要に応じて種々の変更が可能である。
Claims (9)
- カラムを有するテーブルを複数含むテーブル群からカラムの参照関係を表す参照関係データを抽出する参照関係抽出部と、
前記テーブル群から抽出される2つのテーブルのカラム同士の類似度を算出し、前記類似度が閾値以上である2つのテーブルのカラム同士をスキーママッチング結果データとして抽出するスキーママッチング処理部と、
前記参照関係データと前記スキーママッチング結果データとに基づいて、複数のテーブルの各テーブルのカラムのカラム特性を判定し、判定した結果を継承関係データとして生成するデータ関係抽出部と、
前記継承関係データに基づいて、前記テーブルのテーブル特性を表すテーブルスコアを算出し、算出したテーブルスコアと前記テーブルとを対応付けた関係性情報を生成する関係性抽出部と、
前記テーブル群に含まれる検索対象の連携先テーブルを定義する連携先テーブル定義情報を取得し、前記関係性情報に基づいて、前記連携先テーブルの連携元である連携元テーブルの候補を連携元候補テーブル群として抽出するマッチング結果統合部と
を備えるデータ連携推定装置。 - 前記マッチング結果統合部は、
前記連携元候補テーブル群から、前記連携先テーブルのカラムの連携元を前記テーブル特性の異なるテーブル毎に出力する請求項1に記載のデータ連携推定装置。 - 前記データ関係抽出部は、
前記複数のテーブルの各テーブルのカラムが継承項目と被継承項目と固有項目とのいずれであるかを判定することにより、前記複数のテーブルの各テーブルのカラムの前記カラム特性を判定する請求項1または2に記載のデータ連携推定装置。 - 前記関係性抽出部は、
前記テーブル特性として、前記テーブルがマスタ系のテーブルであるかトランザクション系のテーブルであるかを表す前記テーブルスコアを算出する請求項1から3のいずれか1項に記載のデータ連携推定装置。 - 前記マッチング結果統合部は、
前記連携先テーブルのカラムの連携元のカラムとして、前記マスタ系のテーブルのカラムと前記トランザクション系のテーブルのカラムとを出力する請求項4に記載のデータ連携推定装置。 - 前記スキーママッチング処理部は、
スキーママッチング処理を実行することにより、前記類似度をスキーママッチングスコアとして算出する請求項1から5のいずれか1項に記載のデータ連携推定装置。 - 前記マッチング結果統合部は、
前記連携先テーブルのカラムの連携元がない場合、不足するカラムを有するテーブルと前記連携元候補テーブル群との結合可否を判断し、結合可能な場合に結合するためのキーとなる結合カラム群を報告する請求項1から6のいずれか1項に記載のデータ連携推定装置。 - 参照関係抽出部が、カラムを有するテーブルを複数含むテーブル群からカラムの参照関係を表す参照関係データを抽出し、
スキーママッチング処理部が、前記テーブル群から抽出される2つのテーブルのカラム同士の類似度を算出し、前記類似度が閾値以上である2つのテーブルのカラム同士をスキーママッチング結果データとして抽出し、
データ関係抽出部が、前記参照関係データと前記スキーママッチング結果データとに基づいて、複数のテーブルの各テーブルのカラムのカラム特性を判定し、判定した結果を継承関係データとして生成し、
関係性抽出部が、前記継承関係データに基づいて、前記テーブルのテーブル特性を表すテーブルスコアを算出し、算出したテーブルスコアと前記テーブルとを対応付けた関係性情報を生成し、
マッチング結果統合部が、前記テーブル群に含まれる検索対象の連携先テーブルを定義する連携先テーブル定義情報を取得し、前記関係性情報に基づいて、前記連携先テーブルの連携元である連携元テーブルの候補を連携元候補テーブル群として抽出するデータ連携推定方法。 - カラムを有するテーブルを複数含むテーブル群からカラムの参照関係を表す参照関係データを抽出する参照関係抽出処理と、
前記テーブル群から抽出される2つのテーブルのカラム同士の類似度を算出し、前記類似度が閾値以上である2つのテーブルのカラム同士をスキーママッチング結果データとして抽出するスキーママッチング処理と、
前記参照関係データと前記スキーママッチング結果データとに基づいて、複数のテーブルの各テーブルのカラムのカラム特性を判定し、判定した結果を継承関係データとして生成するデータ関係抽出処理と、
前記継承関係データに基づいて、前記テーブルのテーブル特性を表すテーブルスコアを算出し、算出したテーブルスコアと前記テーブルとを対応付けた関係性情報を生成する関係性抽出処理と、
前記テーブル群に含まれる検索対象の連携先テーブルを定義する連携先テーブル定義情報を取得し、前記関係性情報に基づいて、前記連携先テーブルの連携元である連携元テーブルの候補を連携元候補テーブル群として抽出するマッチング結果統合処理とをコンピュータに実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015011570A JP6253601B2 (ja) | 2015-01-23 | 2015-01-23 | データ連携推定装置、データ連携推定方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015011570A JP6253601B2 (ja) | 2015-01-23 | 2015-01-23 | データ連携推定装置、データ連携推定方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016136354A true JP2016136354A (ja) | 2016-07-28 |
JP6253601B2 JP6253601B2 (ja) | 2017-12-27 |
Family
ID=56512991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015011570A Expired - Fee Related JP6253601B2 (ja) | 2015-01-23 | 2015-01-23 | データ連携推定装置、データ連携推定方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6253601B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019109782A (ja) * | 2017-12-19 | 2019-07-04 | 富士通株式会社 | クエリ生成プログラム、クエリ生成方法およびクエリ生成装置 |
WO2020008848A1 (ja) * | 2018-07-03 | 2020-01-09 | 株式会社日立製作所 | データ利用支援装置、及びデータ利用支援方法 |
JP2020144457A (ja) * | 2019-03-04 | 2020-09-10 | 株式会社日立製作所 | データ選定システム、及びデータ選定方法 |
CN117352187A (zh) * | 2023-12-04 | 2024-01-05 | 四川互慧软件有限公司 | 一种患者身份证号码匹配方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004086782A (ja) * | 2002-08-29 | 2004-03-18 | Hitachi Ltd | 異種データベース統合支援装置 |
WO2014192116A1 (ja) * | 2013-05-30 | 2014-12-04 | 三菱電機株式会社 | データ連携支援装置及びデータ連携支援方法 |
-
2015
- 2015-01-23 JP JP2015011570A patent/JP6253601B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004086782A (ja) * | 2002-08-29 | 2004-03-18 | Hitachi Ltd | 異種データベース統合支援装置 |
WO2014192116A1 (ja) * | 2013-05-30 | 2014-12-04 | 三菱電機株式会社 | データ連携支援装置及びデータ連携支援方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019109782A (ja) * | 2017-12-19 | 2019-07-04 | 富士通株式会社 | クエリ生成プログラム、クエリ生成方法およびクエリ生成装置 |
JP7081137B2 (ja) | 2017-12-19 | 2022-06-07 | 富士通株式会社 | クエリ生成プログラム、クエリ生成方法およびクエリ生成装置 |
WO2020008848A1 (ja) * | 2018-07-03 | 2020-01-09 | 株式会社日立製作所 | データ利用支援装置、及びデータ利用支援方法 |
JP2020008948A (ja) * | 2018-07-03 | 2020-01-16 | 株式会社日立製作所 | データ利用支援装置、及びデータ利用支援方法 |
JP7093244B2 (ja) | 2018-07-03 | 2022-06-29 | 株式会社日立製作所 | データ利用支援装置、及びデータ利用支援方法 |
JP2020144457A (ja) * | 2019-03-04 | 2020-09-10 | 株式会社日立製作所 | データ選定システム、及びデータ選定方法 |
JP7046859B2 (ja) | 2019-03-04 | 2022-04-04 | 株式会社日立製作所 | データ選定システム、及びデータ選定方法 |
CN117352187A (zh) * | 2023-12-04 | 2024-01-05 | 四川互慧软件有限公司 | 一种患者身份证号码匹配方法 |
CN117352187B (zh) * | 2023-12-04 | 2024-01-30 | 四川互慧软件有限公司 | 一种患者身份证号码匹配方法 |
Also Published As
Publication number | Publication date |
---|---|
JP6253601B2 (ja) | 2017-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI564737B (zh) | Web search methods and devices | |
US20190074072A1 (en) | System and method for dynamic document matching and merging | |
JP6253601B2 (ja) | データ連携推定装置、データ連携推定方法及びプログラム | |
US11204707B2 (en) | Scalable binning for big data deduplication | |
US10482169B2 (en) | Recommending form fragments | |
JP6042974B2 (ja) | データ管理装置、データ管理方法及び非一時的な記録媒体 | |
CN109710603B (zh) | 数据清洗方法、系统、存储介质及电子设备 | |
JP5844895B2 (ja) | データの分散検索システム、データの分散検索方法及び管理計算機 | |
US20140280084A1 (en) | Using structured data for search result deduplication | |
US11550792B2 (en) | Systems and methods for joining datasets | |
CN104199924B (zh) | 选择具有快照关系的网络表格的方法及装置 | |
CN107735781A (zh) | 存储查询结果的方法和装置、计算设备 | |
US20170109402A1 (en) | Automated join detection | |
JP2019109782A (ja) | クエリ生成プログラム、クエリ生成方法およびクエリ生成装置 | |
CN104050264A (zh) | 一种生成sql语句的方法和装置 | |
JP2022012940A (ja) | 計算機システムおよび貢献度計算方法 | |
JP6145562B2 (ja) | 情報構造化システム及び情報構造化方法 | |
TWI547888B (zh) | A method of recording user information and a search method and a server | |
JP5954742B2 (ja) | 文書を検索する装置及び方法 | |
JP2010086437A (ja) | 検索システム | |
CN110678854B (zh) | 数据查询的方法和装置 | |
WO2016132472A1 (ja) | データ検索装置及びデータ検索方法及びデータ検索プログラム | |
CN115458103B (zh) | 医疗数据处理方法、装置、电子设备及可读存储介质 | |
TW201416890A (zh) | 文章資訊提供方法以及系統 | |
US11151158B2 (en) | Data duplication device and computer readable medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170123 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171013 |
|
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: 20171031 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171128 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6253601 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |