JP2021174079A - データ管理システムおよびデータ管理方法 - Google Patents

データ管理システムおよびデータ管理方法 Download PDF

Info

Publication number
JP2021174079A
JP2021174079A JP2020075064A JP2020075064A JP2021174079A JP 2021174079 A JP2021174079 A JP 2021174079A JP 2020075064 A JP2020075064 A JP 2020075064A JP 2020075064 A JP2020075064 A JP 2020075064A JP 2021174079 A JP2021174079 A JP 2021174079A
Authority
JP
Japan
Prior art keywords
database
inquiry
unit
data management
program
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
Application number
JP2020075064A
Other languages
English (en)
Other versions
JP2021174079A5 (ja
JP7495269B2 (ja
Inventor
晃 ▲高▼木
Akira Takagi
元伸 齊藤
Motonobu Saito
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2020075064A priority Critical patent/JP7495269B2/ja
Priority claimed from JP2020075064A external-priority patent/JP7495269B2/ja
Priority to PCT/JP2021/006488 priority patent/WO2021215101A1/ja
Publication of JP2021174079A publication Critical patent/JP2021174079A/ja
Publication of JP2021174079A5 publication Critical patent/JP2021174079A5/ja
Application granted granted Critical
Publication of JP7495269B2 publication Critical patent/JP7495269B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • 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/25Integrating or interfacing systems involving database management systems
    • 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/28Databases characterised by their database models, e.g. relational or object models

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

Abstract

【課題】解析結果から得られる問い合わせ内容の違いに応じて、データを配置すべきデータベースを決定し、データに対する問い合わせの処理時間を従来よりも短縮させる。【解決手段】既存データベース部が有する第1のデータベースに格納されるテーブルに問い合わせを行う問い合わせプログラムまたは第1のデータベースのスキーマを解析する解析部と、問い合わせプログラムまたは第1のデータベースのスキーマの解析結果に基づいて、第1のデータベースに格納されるテーブルを第1のデータベース以外の第2のデータベースに配置する配置処理部と、第1のデータベースに格納されるテーブルに対する問い合わせプログラムの処理時間よりも、第2のデータベースに配置したテーブルに対する問い合わせプログラムの処理時間のほうが短い場合に、配置を既存データベース部に反映する配置反映部と、を有する。【選択図】 図1

Description

本発明は、データ管理システムおよびデータ管理方法に関する。
近年のデータベース技術の発展により、従来のようなリレーショナルモデルだけではなく、データ特性に応じて、種々のデータベースモデル(キーバリュー、グラフ等)が使われるようになってきた。一方で、複数のデータベースモデルをそれぞれ別々のデータベースとして扱うことの難しさから、それらを統合的に扱うことのできるマルチモデルデータベースが開発されている。例えば、特許文献1では、インメモリのキーバリューストアに、RDB(Relational Database)に格納されたデータ群の複製を作成し、外部からの問い合わせに対して、可能な限りインメモリのキーバリューストアを用いて対応することで、問い合わせの処理時間の短縮を図っている。
US2017147664A1
しかし、既存のデータベース群を用いて運用しているシステムについて、新規のマルチモデルデータベースへと移行することが難しい。処理性能を発揮するためには、データ特性やデータ操作といった問い合わせ内容を考慮して最適なデータベースモデルのデータベースにデータを再配置する必要がある。特許文献1では、このような問い合わせ内容を考慮してデータベースモデルのデータベースにデータを再配置することについて言及されていない。例えば、データベースが保持するテーブルに対するクエリまたはデータベースのスキーマを解析し、リストテーブルや階層テーブル等、辿る操作が多いテーブルはグラフモデルへ配置し、ID等の主キーでしか検索しないデータはキーバリューモデルへ配置し、複数のキーにおける検索や、複雑な検索、結合操作が多いテーブルはリレーショナルモデルへ配置することについては記載されていない。このように、特許文献1では、データ特性やデータ操作といった問い合わせ内容の違いに応じて、配置すべきデータベースを決定し、テーブルに対する問い合わせの処理時間を従来よりも短縮させることについては開示されていない。
本発明の一側面は、解析結果から得られる問い合わせ内容の違いに応じて、データを配置すべきデータベースを決定し、データに対する問い合わせの処理時間を従来よりも短縮させることが可能なデータ管理システムおよびデータ管理方法を提供することを目的とする。
本発明の一態様にかかるデータ管理システムは、既存データベース部が有する第1のデータベースに格納されるテーブルに問い合わせを行う問い合わせプログラムまたは前記第1のデータベースのスキーマを解析する解析部と、前記問い合わせプログラムまたは前記第1のデータベースのスキーマの解析結果に基づいて、前記第1のデータベースに格納されるテーブルを前記第1のデータベース以外の第2のデータベースに配置する配置処理部と、前記第1のデータベースに格納されるテーブルに対する前記問い合わせプログラムの処理時間よりも、前記第2のデータベースに配置した前記テーブルに対する問い合わせプログラムの処理時間のほうが短い場合に、前記配置を前記既存データベース部に反映する配置反映部と、を有することを特徴とするデータ管理システムとして構成される。
本発明の一態様によれば、解析結果から得られる問い合わせ内容の違いに応じて、データを配置すべきデータベースを決定し、データに対する問い合わせの処理時間を従来よりも短縮させることができる。
本実施例におけるデータ管理装置の機能構成例を示すブロック図である。 データ管理装置のコンピュータの概略図である。 実行実績テーブルの例を示す図である。 試行判定テーブルを示す図である。 処理時間判定テーブルを示す図である。 配置対応テーブルの例を示す図である。 第1種データベースの例を示す図である。 第2種データベースの例を示す図である。 第3種データベースの例を示す図である。 問い合わせ形式変換部が、SQL形式の問い合わせプログラムから非SQL形式の問い合わせプログラムに変換する一例を示す図である。 本システムで行われる問い合わせプログラムの実行実績を蓄積する処理(実行実績蓄積処理)の処理手順を示すフローチャートである。 データベース部に記憶されているテーブルの再配置を行う処理(再配置処理)の処理手順を示すフローチャートである。
以下、図面を参照して本発明の実施形態を説明する。以下の記載および図面は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略および簡略化がなされている。本発明は、他の種々の形態でも実施する事が可能である。特に限定しない限り、各構成要素は単数でも複数でも構わない。
図面において示す各構成要素の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面に開示された位置、大きさ、形状、範囲などに限定されない。
以下の説明では、「テーブル」、「リスト」等の表現にて各種情報を説明することがあるが、各種情報は、これら以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「XXテーブル」、「XXリスト」等を「XX情報」と呼ぶことがある。識別情報について説明する際に、「識別情報」、「識別子」、「名」、「ID」、「番号」等の表現を用いた場合、これらについてはお互いに置換が可能である。
同一あるいは同様な機能を有する構成要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。ただし、これらの複数の構成要素を区別する必要がない場合には、添字を省略して説明する場合がある。
また、以下の説明では、プログラムを実行して行う処理を説明する場合があるが、プログラムは、プロセッサ(例えばCPU(Central Processing Unit)、GPU(Graphics Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)および/またはインターフェースデバイス(例えば通信ポート)等を用いながら行うため、処理の主体がプロセッサとされてもよい。同様に、プログラムを実行して行う処理の主体が、プロセッサを有するコントローラ、装置、システム、計算機、ノードであってもよい。プログラムを実行して行う処理の主体は、演算部であれば良く、特定の処理を行う専用回路(例えばFPGA(Field-Programmable Gate Array)やASIC(Application Specific Integrated Circuit))を含んでいてもよい。
プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバまたは計算機が読み取り可能な記憶メディアであってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサと配布対象のプログラムを記憶する記憶資源を含み、プログラム配布サーバのプロセッサが配布対象のプログラムを他の計算機に配布してもよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
以下に本実施の形態にかかる修理支援システムおよび修理支援方法をATMに適用した場合について詳細に説明するが、この例に限らず、様々な装置や機器に適用することができる。
図1は、本実施例におけるデータ管理装置10の機能構成例を示すブロック図である。図1に示すように、データ管理装置10は、SQL(Structured Query Language)等の問い合わせ形式(第1の問い合わせ形式)でデータベースが保持するテーブルに対して問い合わせを行う問い合わせ入力プログラム(第1の問い合わせプログラム)の入力を受け付ける問い合わせ入力部101と、上記問い合わせ入力プログラムの実行実績や当該プログラムで用いられるデータベースおよびテーブルを管理するデータ配置管理部102と、上記問い合わせ形式を非SQL(Non Structured Query Language)等の上記問い合わせ形式とは異なる問い合わせ形式(第2の問い合わせ形式)のプログラム(第2の問い合わせプログラム)に変換し、変換した上記異なる問い合わせ形式の問い合わせプログラムによりデータベースが保持するテーブルに問い合わせを行い、その結果を出力する問い合わせ形式変換部105と、問い合わせ形式変換部105から出力された上記異なる問い合わせ形式の問い合わせプログラムが問い合わせした結果を、上記異なる問い合わせ形式から上記問い合わせ形式に変換する問い合わせ結果変換部106と、上記問い合わせ形式に変換された問い合わせの結果を、問い合わせ入力プログラムに対する問い合わせ結果として出力する問い合わせ結果出力部111と、を有する。
データ配置管理部102は、問い合わせ入力部101が受け付けた問い合わせ入力プログラムの実行実績を記憶する実行実績テーブル103と、データ管理装置10に記憶されたテーブルのなかで再配置の試行対象とするテーブルを決定するための試行判定テーブル1031と、実行実績テーブル103の処理時間をテーブルごとに集計した処理時間判定テーブル1032と、試行判定テーブル1031により決定されたテーブルを、当該テーブルを保持するモデルのデータベースから変換されたモデルのデータベースを保持する試行データベース部118と、テーブルとテーブルを保持するモデルのデータベースの対応関係を記憶する配置対応テーブル104とを有する。また、データ管理装置10は、リレーショナルモデルのデータベースから構成される第1種データベース108と、キーバリューモデルのデータベースから構成される第2種データベース109と、グラフモデルのデータベースから構成される第3種データベース110とを記憶するデータベース部107を有する。
また、データ管理装置10は、データ配置管理部102で管理されている問い合わせ入力プログラムの問い合わせ形式や問い合わせ内容を解析する問い合わせ解析部112と、データ配置管理部102で管理されている問い合わせ入力プログラムで用いられるテーブルを保持するモデルのデータベースの構造を解析するデータスキーマ解析部113と、上記再配置の試行対象と決定されたテーブルの再配置を試行するか否かを判定するデータ配置試行判定部114と、データ配置試行判定部114により再配置を試行すると判定されたテーブルの再配置を試行するデータ配置試行部115と、データ配置試行部115により再配置が試行されたテーブルに対する問い合わせを試行する問い合わせ試行部116と、問い合わせ試行部116により再配置が試行されたテーブルに問い合わせが行われたときの処理時間が、再配置が試行される前のテーブルに対する問い合わせを行ったときの平均的な処理時間よりも短い場合に、再配置が試行される前のテーブルを、再配置が試行されたテーブルを保持するモデルのデータベースに反映する処理時間判定部117と、を有する。
また、データ管理装置10は、データ配置試行部115により再配置されたデータベースを記憶する試行データベース部118を有する。図1では、一例として、再配置が試行されたテーブルを保持するモデルのデータベースとして、キーバリューモデルのデータベースから構成される第2種データベース119と、グラフモデルのデータベースから構成される第3種データベース120とが記憶されている。
データ管理装置10は、例えば、図2(コンピュータの概略図)に示すような、CPU201と、メモリ202と、HDD(Hard Disk Drive)等の外部記憶装置203と、CD(Compact Disk)やDVD(Digital Versatile Disk)等の可搬性を有する記憶媒体208に対して情報を読み書きする読書装置207と、キーボードやマウス等の入力装置206と、ディスプレイ等の出力装置205と、通信ネットワークに接続するためのNIC(Network Interface Card)等の通信装置204と、これらを連結するシステムバス等の内部通信線(システムバスという)209と、を備えた一般的なコンピュータ200により実現できる。
例えば、データ管理装置10に記憶されたデータベースやテーブルは、CPU201がメモリ202または外部記憶装置203から読み出して利用することにより実現可能である。また、データ管理装置10が有する問い合わせ入力部101、データ配置管理部102、問い合わせ形式変換部105、問い合わせ結果変換部106、問い合わせ結果出力部111、問い合わせ解析部112、データスキーマ解析部113、データ配置試行判定部114、データ配置試行部115、問い合わせ試行部116、処理時間判定部117は、CPU201が外部記憶装置203に記憶されている所定のプログラムをメモリ202にロードして実行することにより実現可能である。データ管理装置10は、CPU201が入力装置206を動作させて問い合わせ入力部101の入力機能を実現してもよい。データ管理装置10は、CPU201が出力装置205を動作させて問い合わせ結果出力部111の出力機能を実現してもよい。また、データ管理装置10は、CPU201が通信装置204を動作させて通信機能を実現可能な通信部を有していてもよい。
上述した所定のプログラムは、読書装置207を介して記憶媒体208から、あるいは、通信装置204を介してネットワークから、外部記憶装置203に記憶(ダウンロード)され、それから、メモリ202上にロードされて、CPU201により実行されるようにしてもよい。また、読書装置207を介して、記憶媒体208から、あるいは通信装置204を介してネットワークから、メモリ202上に直接ロードされ、CPU201により実行されるようにしてもよい。
以下では、データ管理装置10の各部が、ハードウェアとしては一般的なコンピュータに設けられているが、これらの全部または一部が、クラウドのような1または複数のコンピュータに分散して設けられ、互いに通信することにより同様の機能を実現してもよい。データ管理装置10の各部の動作、保持するデータの例については、フローチャートを用いて説明する。
図3は、実行実績テーブル103の例を示す図である。図3に示すように、実行実績テーブル103は、問い合わせプログラムを識別するための問い合わせIDと、当該問い合わせIDで識別される問い合わせの具体的な内容である問い合わせとが対応付けて記憶されている。図3では、例えば、問い合わせID「1」〜「6」の問い合わせは、「テーブルA」に対して「部品ID」を主キーとした問い合わせが行われたことを示している。後述するように、「部品ID」のようなID等の主キーでの検索が一定数以上多いテーブルは、所定の条件を満たした場合にはキーバリューモデルのデータベースへの配置が試行される。
また、図3において、問い合わせID「7」の問い合わせは、「WITH RECURSIVE」から始まっており、「UNION ALL」以下に示すように「テーブルB」に対する再帰操作が行われたことを示している。後述するように、リストデータや階層データ等、「WITH RECURSIVE」のような再帰操作をはじめとした辿る操作が一定数以上多いテーブルは、所定の条件を満たした場合にはグラフモデルへの配置が試行される。
さらに、問い合わせID「8」の問い合わせは、「JOIN」に示すように「テーブルB」と「テーブルC」との結合操作が行われたことを示している。後述するように、少なくとも複数のキーにおける検索や、一定数以上の条件を組み合わせた複雑な検索、結合操作が一定数以上あるテーブルはリレーショナルモデルへの配置が試行される。
図3では、さらに、問い合わせIDで識別された問い合わせプログラムごとに、当該問い合わせの処理時間が記憶されている。例えば、問い合わせID「1」の問い合わせは、0.51秒の処理時間がかかったことを示している。当該処理時間は、データ配置管理部102が、問い合わせ形式変換部105の問い合わせ結果に含まれる処理時間を受け取り、実行実績テーブル103に書き込む。
図4は、試行判定テーブル1031を示す図である。図4に示すように、試行判定テーブル1031は、データベースを解析して得られたテーブルのテーブル名および当該テーブルに対するアクセス方法と、当該テーブルの再配置を試行するか否かを判定するための閾値とが対応付けて記憶されている。図4では、例えば、データスキーマ解析部113がデータベースを解析した結果、テーブルAに対する問い合わせは「主キー検索」が60%であり、「再帰検索」が25%であり、「その他」が15%であったことを示している。また、テーブルAの再配置を試行する条件は、アクセス方法のうちのいずれかの方法が「55%」を超えた場合であることを示している。
また、図4では、テーブルAに対してアクセス方法「主キー検索」が60%となりしきい値を超えているため、テーブルAは、キーバリューモデルのデータベース(第2種データベース119)への再配置が試行される。また、テーブルBに対してアクセス方法「再帰検索」が75%となりしきい値を超えているため、テーブルBは、グラフモデルのデータベース(第3種データベース120)への再配置が試行される。
図5は、処理時間判定テーブル1032を示す図である。図5に示すように、処理時間判定テーブル1032は、データベースを解析して得られたテーブルのテーブル名と、当該テーブルに対する処理時間の平均値である平均処理時間とが対応付けて記憶されている。図5では、例えば、テーブルAの平均的な処理時間は、0.55秒であったことを示している。問い合わせ解析部112は、実行実績テーブル103の処理時間をテーブルごとに集計してその平均値を算出し、当該平均処理時間に書き込む。
図6は、配置対応テーブル104の例を示す図である。図6(a)は、テーブル再配置前の配置対応テーブル104aを示している。また、図6(b)は、テーブル再配置後の配置対応テーブル104bを示している。これらの図に示すように、テーブル再配置前の配置対応テーブル104は、データベース部107に記憶されているテーブルのテーブル名と、当該テーブル名のテーブルが格納されているデータベースのデータベース名と、当該データベース名のデータベースのモデルとが対応付けて記憶されている。図6(a)では、例えば、テーブル名「テーブルC」のテーブルは、データベース名「データベースX」であるリレーショナルモデルのデータベースに格納されていることを示している。また、図6(b)では、例えば、テーブル名「テーブルC」のテーブルが、データベース名「データベースY」のキーバリューモデルのデータベースに再配置され、格納されたことを示している。処理時間判定部117は、問い合わせ解析部112が算出した上記処理時間の平均値と、問い合わせ試行部116が問い合わせを行ったときの処理時間とを比較し、後者が前者よりも短くなっている場合に、テーブルの再配置を反映し、配置対応テーブル104のデータベース名を更新する。
図7は、第1種データベースの例を示す図である。図7に示すように、第1種データベース701は、「部品ID」を主キーとしたリレーショナルデータベースが記憶されている。また、図8は、第2種データベースの例を示す図である。図8に示すように、第2種データベース801は、部署ID「1」、部署名「A社」を頂点とするツリー構造のキーバリューデータベースが記憶されている。また、図9は、第3種データベースの例を示す図である。図9に示すように、第3種データベース901は、「社員ID」により識別されるノードを頂点とするグラフデータベースが記憶されている。
図10は、問い合わせ形式変換部105が、SQL形式の問い合わせ入力プログラムから非SQL形式の問い合わせ入力プログラムに変換する一例を示す図である。図10(a)では、SQL形式の問い合わせ入力プログラムをキーバリューモデルに変換したときのクエリの一例、図10(b)では、SQL形式の問い合わせ入力プログラムをグラフモデルに変換したときのクエリの一例を示している。問い合わせ形式変換部105は、SQL形式の問い合わせ入力プログラムから、非SQL形式に変換した問い合わせ入力プログラムによりデータベース部107のデータベースに問い合わせを行う。問い合わせ結果変換部106は、その問い合わせの結果をSQL形式に変換し、問い合わせ結果出力部111が、問い合わせ入力プログラムに対する問い合わせ結果を出力する。
図11は、本システムで行われる問い合わせプログラム101の実行実績を蓄積する処理(実行実績蓄積処理)の処理手順を示すフローチャートである。実行実績蓄積処理では、まず、問い合わせ入力部101は、問い合わせプログラム101の入力を受け付ける(S1101)。データ配置管理部102は、問い合わせプログラムを解析し、図3に示した実行実績テーブル103に解析した問い合わせプログラムを登録する(S1102)。
問い合わせ形式変換部105は、SQL形式の問い合わせ入力プログラムから非SQL形式の問い合わせ入力プログラムに変換して問い合わせを行い、当該問い合わせの処理時間を含む問い合わせの結果を出力する(S1103)。問い合わせ結果変換部106は、当該問い合わせの結果を、非SQL形式からSQL形式に変換し、問い合わせ結果出力部111に出力する。また、問い合わせ形式変換部105は、上記処理時間を含む問い合わせの結果をデータ配置管理部102に出力し、データ配置管理部102が、当該処理時間を実行実績テーブル103に書き込んで登録する(S1104)。
図12は、データベース部に記憶されているテーブルの再配置を行う処理(再配置処理)の処理手順を示すフローチャートである。再配置処理は、定期または不定期で実行実績テーブル103に一定数以上のプログラムが登録された場合に実行される。
まず、問い合わせ解析部112は、問い合わせ入力プログラムの問い合わせ形式や問い合わせ内容を解析し、実行実績テーブル103の処理時間をテーブルごとに集計してその平均値を算出し、当該平均処理時間に書き込む(S1201)。続いて、データスキーマ解析部113は、問い合わせ入力プログラムで用いられるテーブルを保持するデータベースの構造およびアクセス方法を解析してアクセス方法の割合を算出し、当該アクセス方法の割合を、試行判定テーブル1031のアクセス方法に書き込む(S1202)。データ配置試行判定部114は、試行判定テーブル1031のしきい値を参照し、テーブルの再配置を試行するか否かを判定する。データ配置試行部115は、データ配置試行判定部114が、テーブルの再配置を試行すると判定したテーブル、例えば、上記アクセス方法の割合がしきい値を超えているテーブルを読み出し、読み出したテーブルを、当該テーブルを保持するモデルのデータベースから、当該モデルとは異なる他のモデルのデータベースに再配置する(S1203)。
問い合わせ試行部116は、データ配置試行部115により再配置されたテーブルに対する問い合わせを行う(S1204)。例えば、問い合わせ試行部116は、問い合わせ形式変換部105がSQL形式から変換した非SQL形式の問い合わせ入力プログラムを読み出して、問い合わせを行う。
処理時間判定部117は、問い合わせ試行部116が問い合わせしたときの処理時間が、再配置が試行される前のテーブルに対する問い合わせをしたときの平均的な処理時間よりも短い場合に、再配置が試行される前のテーブルを、再配置が試行されたテーブルを保持するモデルのデータベースに反映する(S1205)。
このように、本システムでは、既存データベース部(例えば、データベース部107)が有する第1のデータベース(例えば、第1種データベース108)に格納されるテーブルに問い合わせを行う問い合わせプログラムまたは上記第1のデータベースのスキーマを解析する解析部(例えば、問い合わせ解析部112、データスキーマ解析部113)と、上記問い合わせプログラムまたは上記第1のデータベースのスキーマの解析結果に基づいて、上記第1のデータベースに格納されるテーブルを上記第1のデータベース以外の第2のデータベース(例えば、試行データベース部118)に配置する配置処理部(例えば、データ配置試行部115)と、上記第1のデータベースに格納されるテーブルに対する上記問い合わせプログラムの処理時間よりも、上記第2のデータベースに配置したテーブルに対する問い合わせプログラムの処理時間のほうが短い場合に、上記配置を上記既存データベース部に反映する配置反映部(例えば、処理時間判定部117)と、を有するので、
例えば、再配置処理において、ユーザアプリケーション等のプログラムから発行されるクエリ(問い合わせ内容)および既存データベース部に格納されるデータスキーマ(データ特性)を解析し、データ配置試行部において、処理時間が短くなるようにテーブルの再配置を行うことができ、上記解析結果から得られる問い合わせ内容の違いに応じて、データを配置すべきデータベースを決定し、データに対する問い合わせの処理時間を従来よりも短縮させることができる。
上記配置処理部は、上記第1のデータベースに格納されるテーブルに対する問い合わせが、一定数以上の辿る操作を含む場合には、グラフモデルの上記第2のデータベースに上記テーブルを配置し、上記第1のデータベースに格納されるテーブルに対する問い合わせが、一定数以上の主キーでの検索を含む場合には、キーバリューモデルの上記第2のデータベースに上記テーブルを配置し、上記第1のデータベースに格納されるテーブルに対する問い合わせが、少なくとも複数のキーにおける検索、一定数以上の条件を組み合わせた複雑な検索、一定数以上の結合操作のいずれかを含む場合には、リレーショナルモデルの上記第2のデータベースに上記テーブルを配置する。したがって、このような問い合わせ内容の違いに応じて、データを配置すべきデータベースを決定し、データに対する問い合わせの処理時間を従来よりも短縮させることができる。
10 データ管理装置
101 問い合わせ入力部
102 データ配置管理部
103 実行実績テーブル
1031 試行判定テーブル
1032 処理時間判定テーブル
104 配置対応テーブル
105 問い合わせ形式変換部
106 問い合わせ結果変換部
107 データベース部
111 問い合わせ結果出力部
112 問い合わせ解析部
113 データスキーマ解析部
114 データ配置試行判定部
115 データ配置試行部
116 問い合わせ試行部
117 処理時間判定部
118 試行データベース部

Claims (8)

  1. 既存データベース部が有する第1のデータベースに格納されるテーブルに問い合わせを行う問い合わせプログラムまたは前記第1のデータベースのスキーマを解析する解析部と、
    前記問い合わせプログラムまたは前記第1のデータベースのスキーマの解析結果に基づいて、前記第1のデータベースに格納されるテーブルを前記第1のデータベース以外の第2のデータベースに配置する配置処理部と、
    前記第1のデータベースに格納されるテーブルに対する前記問い合わせプログラムの処理時間よりも、前記第2のデータベースに配置した前記テーブルに対する問い合わせプログラムの処理時間のほうが短い場合に、前記配置を前記既存データベース部に反映する配置反映部と、
    を有することを特徴とするデータ管理システム。
  2. 前記配置処理部は、前記第1のデータベースに格納されるテーブルに対する問い合わせが、一定数以上の辿る操作を含む場合には、グラフモデルの前記第2のデータベースに前記テーブルを配置する、
    ことを特徴とする請求項1に記載のデータ管理システム。
  3. 前記配置処理部は、前記第1のデータベースに格納されるテーブルに対する問い合わせが、一定数以上の主キーでの検索を含む場合には、キーバリューモデルの前記第2のデータベースに前記テーブルを配置する、
    ことを特徴とする請求項1に記載のデータ管理システム。
  4. 前記配置処理部は、前記第1のデータベースに格納されるテーブルに対する問い合わせが、少なくとも複数のキーにおける検索、一定数以上の条件を組み合わせた複雑な検索、一定数以上の結合操作のいずれかを含む場合には、リレーショナルモデルの前記第2のデータベースに前記テーブルを配置する、
    ことを特徴とする請求項1に記載のデータ管理システム。
  5. コンピュータで行われるデータ管理システムであって、
    解析部が、既存データベース部が有する第1のデータベースに格納されるテーブルに問い合わせを行う問い合わせプログラムまたは前記第1のデータベースのスキーマを解析し、
    配置処理部が、前記問い合わせプログラムまたは前記第1のデータベースのスキーマの解析結果に基づいて、前記第1のデータベースに格納されるテーブルを前記第1のデータベース以外の第2のデータベースに配置し、
    配置反映部が、前記第1のデータベースに格納されるテーブルに対する前記問い合わせプログラムの処理時間よりも、前記第2のデータベースに配置した前記テーブルに対する問い合わせプログラムの処理時間のほうが短い場合に、前記配置を前記既存データベースに反映する、
    ことを特徴とするデータ管理方法。
  6. 前記配置処理部は、前記第1のデータベースに格納されるテーブルに対する問い合わせが、一定数以上の辿る操作を含む場合には、グラフモデルの前記第2のデータベースに前記テーブルを配置する、
    ことを特徴とする請求項5に記載のデータ管理方法。
  7. 前記配置処理部は、前記第1のデータベースに格納されるテーブルに対する問い合わせが、一定数以上の主キーでの検索を含む場合には、キーバリューモデルの前記第2のデータベースに前記テーブルを配置する、
    ことを特徴とする請求項5に記載のデータ管理方法。
  8. 前記配置処理部は、前記第1のデータベースに格納されるテーブルに対する問い合わせが、少なくとも複数のキーにおける検索、一定数以上の条件を組み合わせた複雑な検索、一定数以上の結合操作のいずれかを含む場合には、リレーショナルモデルの前記第2のデータベースに前記テーブルを配置する、
    ことを特徴とする請求項5に記載のデータ管理方法。
JP2020075064A 2020-04-21 2020-04-21 データ管理システムおよびデータ管理方法 Active JP7495269B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020075064A JP7495269B2 (ja) 2020-04-21 データ管理システムおよびデータ管理方法
PCT/JP2021/006488 WO2021215101A1 (ja) 2020-04-21 2021-02-19 データ管理システムおよびデータ管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020075064A JP7495269B2 (ja) 2020-04-21 データ管理システムおよびデータ管理方法

Publications (3)

Publication Number Publication Date
JP2021174079A true JP2021174079A (ja) 2021-11-01
JP2021174079A5 JP2021174079A5 (ja) 2023-02-16
JP7495269B2 JP7495269B2 (ja) 2024-06-04

Family

ID=

Also Published As

Publication number Publication date
WO2021215101A1 (ja) 2021-10-28

Similar Documents

Publication Publication Date Title
CN107463632B (zh) 一种分布式NewSQL数据库系统和数据查询方法
US6832227B2 (en) Database management program, a database managing method and an apparatus therefor
US9805077B2 (en) Method and system for optimizing data access in a database using multi-class objects
US7698253B2 (en) Method and system for reducing host variable impact on access path selection
US8364751B2 (en) Automated client/server operation partitioning
JP4071816B1 (ja) 合成関係演算を利用したマルチオペレーション・プロセッシングを用いたデータベースのクエリー処理システム
US20230325386A1 (en) Query plan cache in database systems
US11354313B2 (en) Transforming a user-defined table function to a derived table in a database management system
US20180011897A1 (en) Data processing method having structure of cache index specified to transaction in mobile environment dbms
CN111078705A (zh) 基于Spark平台建立数据索引方法及数据查询方法
CN114443680A (zh) 数据库管理系统、相关装置、方法和介质
CN114443615A (zh) 数据库管理系统、相关装置、方法和介质
US10997175B2 (en) Method for predicate evaluation in relational database systems
JP4109305B1 (ja) マルチオペレーション・プロセッシングを用いたデータベースのクエリー処理システム
US8548980B2 (en) Accelerating queries based on exact knowledge of specific rows satisfying local conditions
Chao-Qiang et al. RDDShare: reusing results of spark RDD
US8832157B1 (en) System, method, and computer-readable medium that facilitates efficient processing of distinct counts on several columns in a parallel processing system
WO2021215101A1 (ja) データ管理システムおよびデータ管理方法
JP7495269B2 (ja) データ管理システムおよびデータ管理方法
CN112818010B (zh) 数据库查询方法及装置
JP3538322B2 (ja) データベース管理システムおよび問合せの処理方法
US20240143566A1 (en) Data processing method and apparatus, and computing system
JP3668243B2 (ja) データベース管理システム
US20080162876A1 (en) dedicated hardware processor for structured query language (sql) transactions
CN113051441A (zh) 实体对象的存储设计及管理方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230208

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240215

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240523