(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023001510
(43)【公開日】2023-01-06
(54)【発明の名称】データ管理装置、及びデータ管理方法
(51)【国際特許分類】
G06F 16/28 20190101AFI20221226BHJP
【FI】
G06F16/28
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2021102283
(22)【出願日】2021-06-21
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000176
【氏名又は名称】一色国際特許業務法人
(72)【発明者】
【氏名】▲高▼木 晃
(72)【発明者】
【氏名】齊藤 元伸
(72)【発明者】
【氏名】望月 義則
(72)【発明者】
【氏名】武田 直之
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175CA08
5B175CA09
(57)【要約】 (修正有)
【課題】各データベースにおけるデータを、そのデータ処理の特性に応じて適切なデータベースに記憶させるデータ管理装置及びデータ管理方法を提供する。
【解決手段】データ管理装置と、各データベース装置とが、通信ネットワークにより通信可能に接続されるデータ管理システムにおいて、データ管理装置10は、データベースから取得した、所定項目の処理対象データを解析することにより、将来の所定期間に生成される所定項目のデータを算出し、算出したデータを含むデータベースにおいて実行されるデータ処理の特性を推定するデータ処理模擬プログラムと、推定したデータ処理の特性に基づき、複数の異なるデータ処理性能を有するデータベースのうち、所定項目のデータを記憶させるデータベースを特定するデータ配置提案作成プログラムと、特定したデータベースに、処理対象データを含むデータを記憶させるデータ配置実行プログラムと、を備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
プロセッサ及びメモリを有し、
データベースから取得した、所定項目の処理対象データを解析することにより、将来の所定期間に生成される前記所定項目のデータを算出し、前記算出したデータを含むデータベースにおいて実行されるデータ処理の特性を推定するデータ処理模擬部と、
前記推定したデータ処理の特性に基づき、複数の異なるデータ処理性能を有するデータベースのうち、前記所定項目のデータを記憶させるデータベースを特定するデータ配置提案作成部と、
前記特定したデータベースに、前記処理対象データを含むデータを記憶させるデータ配置実行部と、
を備える、データ管理装置。
【請求項2】
前記データ処理模擬部は、前記算出したデータを記憶させた試行データベースを作成し、作成した試行データベースに対してデータ処理を実行することにより、前記データ処理の特性を推定する、請求項1に記載のデータ管理装置。
【請求項3】
前記データ処理模擬部は、前記データ処理の特性として、前記将来の所定期間における、データ処理に要する時間、データ処理の実行頻度、又はデータの更新頻度の少なくともいずれかを推定し、
前記データ配置提案作成部は、前記推定したデータ処理の特性に基づき、前記算出したデータに係るデータ更新処理性能、データ圧縮性能、又はデータ集計性能の少なくともいずれかを表すパラメータ値を算出し、算出したパラメータ値に応じて、前記所定項目のデータを記憶させるデータベースを特定する、
請求項1に記載のデータ管理装置。
【請求項4】
前記データ処理模擬部は、前記データ処理の特性として、前記将来の所定期間における、データの更新頻度を推定し、
前記データ配置提案作成部は、前記推定したデータの更新頻度を表すパラメータ値が所定の閾値を超えるか否かを判定し、当該パラメータ値が当該閾値を超える場合には、前記所定項目のデータを記憶させるデータベースとして行指向のデータベースを特定する、
請求項3に記載のデータ管理装置。
【請求項5】
前記データ処理模擬部は、前記データ処理の特性として、前記将来の所定期間における、データの更新頻度と行単位でのデータ処理に要する時間とを推定し、
前記データ配置提案作成部は、前記推定したデータの更新頻度を表すパラメータ値が所定の閾値を超えるか否かを判定し、当該パラメータ値が当該閾値を超える場合には、前記行単位でのデータ処理に要する時間を表すパラメータ値が所定の閾値を超えるか否かを判定し、当該パラメータ値が当該閾値を超える場合には、前記所定項目のデータを記憶させるデータベースとして行指向のデータベースを特定すると共に前記所定項目のデータ処理を行うデータベースとして列指向のデータベースを特定する、
請求項4に記載のデータ管理装置。
【請求項6】
前記データ処理模擬部は、前記データ処理の特性として、前記将来の所定期間における、時系列データに対するデータ処理に要する時間を推定し、
前記データ配置提案作成部は、前記推定したデータ処理に要する時間を表すパラメータ値が所定の閾値を超えるか否かを判定し、当該パラメータ値が当該閾値を超えない場合には、前記所定項目のデータを記憶させるデータベースとして、時系列データベースを特定する、
請求項3に記載のデータ管理装置。
【請求項7】
前記データ処理模擬部は、前記データ処理の特性として、前記将来の所定期間における、列単位でのデータ処理に要する時間を推定し、
前記データ配置提案作成部は、前記推定したデータ処理に要する時間を表すパラメータ値が所定の閾値を超えるか否かを判定し、当該パラメータ値が当該閾値を超えない場合には、前記所定項目のデータを記憶させるデータベースとして、列指向データベースを特定する、
請求項3に記載のデータ管理装置。
【請求項8】
前記特定したデータベースに関する情報を画面に表示するデータ配置提案出力部を備える、請求項1に記載のデータ管理装置。
【請求項9】
所定形式のクエリを作成し、作成したクエリに対して所定の変換を行うことにより、データ処理性能が異なる複数のデータベースのそれぞれに対応したクエリをそれぞれ生成し、生成したクエリを前記複数のデータベースのそれぞれに送信することにより、前記複数のデータベースから前記送信した各クエリに対する応答データを受信するクエリ送信部と、
受信した各前記応答データを前記所定形式に変換するクエリ結果形式変換部とを備え、
前記データ処理模擬部は、前記変換した各応答データを、前記所定項目の処理対象データとして取得する、
請求項1に記載のデータ管理装置。
【請求項10】
情報処理装置が、
データベースから取得した、所定項目の処理対象データを解析することにより、将来の所定期間に生成される前記所定項目のデータを算出し、前記算出したデータを含むデータベースにおいて実行されるデータ処理の特性を推定するデータ処理模擬処理と、
前記推定したデータ処理の特性に基づき、複数の異なるデータ処理性能を有するデータベースのうち、前記所定項目のデータを記憶させるデータベースを特定するデータ配置提案作成処理と、
前記特定したデータベースに、前記処理対象データを含むデータを記憶させるデータ配置実行処理と、
を実行する、データ管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ管理装置、及びデータ管理方法に関する。
【背景技術】
【0002】
近年のデータベース技術の発展により、従来のようなリレーショナルモデルだけではなく、処理するデータの特性に応じて、キーバリュー及びグラフ等の様々なデータベースモデルが使われるようになってきた。そこで、これらのデータベースモデルを統合的に扱うことのできるマルチモデルデータベースが開発されている。
【0003】
しかし、既存のデータベース群を用いて運用しているシステムを、新規のマルチモデルデータベースへと移行することは難しい。そこで、マルチモデルデータベースを扱う技術として、例えば特許文献1には、行指向データベースと、行指向データベースから変換される列指向データベースとを記憶する記憶装置と、記憶装置を制御する制御装置とを備え、制御装置は、行指向データベースに含まれる複数のレコードを複数のグループに分け、グループごとにそのグループを列指向データベースのフォーマットに従った列グループに変換する情報処理システムが記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、データベースは単にデータを記憶するためのものではなく、データ参照及びデータ集計といった種々のデータ処理の対象でもある。データ構造が異なればそのデータ処理の特性も異なってくる。特に、IoT(Internet Of Things)システムの普及により、大規模なデータを集計し分析する機会が増えており、処理対象のデータ量が増加しているという現状がある。特許文献1に記載のような技術では、このような点を充分に考慮してマルチモデルデータベースを管理できる仕組みとはなっていない。
【0006】
本発明はこのような現状に鑑みてなされたものであり、その目的は、各データベースにおけるデータを、そのデータ処理の特性に応じて適切なデータベースに管理させることが可能なデータ管理装置、及びデータ管理方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するための本発明の一つは、プロセッサ及びメモリを有し、データベースから取得した、所定項目の処理対象データを解析することにより、将来の所定期間に生成される前記所定項目のデータを算出し、前記算出したデータを含むデータベースにおいて実行されるデータ処理の特性を推定するデータ処理模擬部と、前記推定したデータ処理の特性に基づき、複数の異なるデータ処理性能を有するデータベースのうち、前記所定項目のデータを記憶させるデータベースを特定するデータ配置提案作成部と、前記特定したデータベースに、前記処理対象データを含むデータを記憶させるデータ配置実行部と、を備える、データ管理装置、とする。
【0008】
また、上記課題を解決するための本発明の一つは、情報処理装置が、データベースから取得した、所定項目の処理対象データを解析することにより、将来の所定期間に生成される前記所定項目のデータを算出し、前記算出したデータを含むデータベースにおいて実行
されるデータ処理の特性を推定するデータ処理模擬処理と、前記推定したデータ処理の特性に基づき、複数の異なるデータ処理性能を有するデータベースのうち、前記所定項目のデータを記憶させるデータベースを特定するデータ配置提案作成処理と、前記特定したデータベースに、前記処理対象データを含むデータを記憶させるデータ配置実行処理と、を実行する、データ管理方法、とする。
【発明の効果】
【0009】
本発明によれば、各データベースにおけるデータを、そのデータ処理の特性に応じて適切なデータベースに記憶させることができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0010】
【
図1】本実施形態に係るデータ管理システムの構成の一例を示す図である。
【
図2】データ管理装置が備える機能(プログラム)の一例を示す図である。
【
図3】データ名称及び所在対応テーブルの一例を示す図である。
【
図4】データ管理装置及びデータベース装置の各情報処理装置が備えるハードウェアの一例を示す図である。
【
図5】データ収集処理の一例を説明するフロー図である。
【
図6】クエリ実行処理の詳細を説明するフロー図である。
【
図7】処理対象データ解析処理を説明するフロー図である。
【
図8】データ再配置処理の一例を説明するフロー図である。
【
図10】配置案作成処理の詳細を説明するフロー図である。
【発明を実施するための形態】
【0011】
図1は、本実施形態に係るデータ管理システム1の構成の一例を示す図である。データ管理システム1は、データ管理装置10と、複数のデータベース装置20とを含んで構成される。
【0012】
データベース装置20はそれぞれ、データベースを記憶している。各データベース装置20が記憶しているデータベースの種類は異なっている。なお、データベースの種類が異なっている場合、そのデータベースに対するデータ問い合わせ(クエリ)及びそれに対するクエリ応答のデータ形式も異なる。
【0013】
本実施形態では、リレーショナルデータベースを記憶しているデータベース装置20aと、時系列データベースを記憶しているデータベース装置20bと、列指向データベースを記憶しているデータベース装置20cとがあるものとする。
【0014】
データ管理装置10は、異なる種類のデータベースを記憶しているデータベース装置20のそれぞれに対して、データ処理の問い合わせ処理(クエリ)及び、問い合わせに対するクエリ応答の受信処理を行う。また、データ管理装置10は、受信したクエリ応答に基づき、データベース装置20のそれぞれのデータベースを他のデータベースに再配置する提案の処理を行う。
【0015】
なお、データ管理装置10、及び各データベース装置20の間は、例えば、有線LAN(Local Area Network)、無線LAN、インターネット、又は専用線等の通信ネットワーク30により通信可能に接続される。
【0016】
図2は、データ管理装置10が備える機能(プログラム)の一例を示す図である。
【0017】
まず、データ管理装置10は、データベース装置20が記憶している、異なるデータ処理性能を有するデータベース(以下、データベース群という)に関して、ユーザからのデータ処理の指定を受け付ける。データ管理装置10は、このデータ処理に関して、データベース群を統一的に(本実施形態では単一のリレーショナルデータベースとして扱うような方法で)に処理する。
【0018】
具体的には、データ管理装置10は、データ処理内容入力プログラム201、データ処理内容管理プログラム202、クエリ送信プログラム2035、クエリ結果形式変換プログラム208、及びクエリ結果出力プログラム209の各プログラムを記憶している。
【0019】
データ処理内容入力プログラム201は、ユーザから、データベース群に対して行う処理の対象となるデータ(処理対象データ)の入力をユーザから受け付ける。
【0020】
データ処理内容管理プログラム202は、処理対象データを含む、データベース群の各項目のデータに対して行うデータ処理の情報を記憶する。このデータ情報は、例えば、データ処理の種類(データ集計、データ参照、データ更新等)、データ処理の対象となるデータの範囲、又は、データ処理の実行周期等である。
【0021】
クエリ送信プログラム2035は、クエリ生成プログラム203、クエリ解析プログラム204、データ管理プログラム205、クエリ形式変換プログラム207を備える。
【0022】
クエリ生成プログラム203は、データ処理内容管理プログラム202で記憶した処理対象データに関する、各データベース装置20に対して要求する所定形式のコマンド(クエリ)を生成する。クエリは、例えば、各データベース装置20から、各データ項目(例えば、所定行のデータ、所定列のデータ、所定の時系列データ)のデータの取得を要求するコマンドである。
【0023】
クエリ解析プログラム204は、クエリ生成プログラム203が生成したクエリを解析し、当該クエリが処理対象とするデータの所在(例えば、各データベース装置20のネットワーク上の位置)を特定する。なお、このデータの所在は、テーブル管理プログラム205が備えるデータ名称及び所在対応テーブル206が記憶している。
【0024】
(データ名称及び所在対応テーブル)
ここで、
図3は、データ名称及び所在対応テーブル206の一例を示す図である。データ名称及び所在対応テーブル206は、各処理対象データに係る(データベース上の)データ項目を特定する情報(例えば、データ項目の名称)が設定されるデータ名称2061、そのデータ項目のデータを有するデータベースの場所(例えば、データベース装置20のネットワーク上の位置)を特定する情報が設定される所在2062、及び、そのデータベースの種類が設定される種類2063の各データ項目を有する。なお、種類2063には、例えば、行指向であるリレーショナルデータベース(RDB:Relational Data Base)、列指向DB、行指向DB、又は時系列DBといった情報が設定される。
【0025】
次に、
図2に示すようにクエリ形式変換プログラム207は、クエリ解析プログラム204が特定したデータの所在等に基づき、クエリの処理要求先の各データベース装置20(データベース)に応じた変換を行ったクエリをそれぞれ生成し、生成したクエリを各データベース装置20に送信する。
【0026】
次に、クエリ結果形式変換プログラム208は、各データベース装置20から受信した、各クエリに対する応答(クエリ応答)を所定形式(クエリ生成プログラム203における形式と同じ形式)に変換する。
【0027】
クエリ結果出力プログラム209は、クエリ結果形式変換プログラム208により変換されたクエリ応答の内容をファイルに出力し又は画面に表示する。
【0028】
次に、データ管理装置10は、クエリ応答に含まれる各データベース装置20のデータ(各データ項目における処理対象データ)の傾向を分析することにより、処理対象データを含む各項目のデータを、各データベース装置20のうちいずれのデータベース装置20に記憶すべきか、すなわちデータの再配置をユーザに提案し及び実行する。
【0029】
具体的には、データ管理装置10は、データ処理対象解析プログラム210、データベース候補管理プログラム211、データ処理模擬プログラム212、データ再配置提案作成プログラム213、データ配置提案出力プログラム214、及びデータ配置実行プログラム215の各プログラムを記憶している。
【0030】
データ処理対象解析プログラム210は、各データベース装置20から取得した処理対象データに基づき、データ処理内容管理プログラム202が示すデータ処理に関する解析を実行する。例えば、データ処理対象解析プログラム210は、処理対象データに係る各データベース装置20のデータの更新範囲、データの更新頻度、データ更新の所要時間、又はデータ更新の実行周期等を算出する。
【0031】
データベース候補管理プログラム211は、データベース群における各種類のデータベースのテンプレート(以下、データベース候補という)を記憶している。
【0032】
データ処理模擬プログラム212は、データ処理対象解析プログラム210の解析結果に基づき、ユーザから指定された、将来の所定期間に生成される各データベース装置20の各データ項目のデータ(ダミーデータ)を算出(予測)する。そして、データ処理模擬プログラム212は、算出したデータを含むデータベースにおいて実行されるデータ処理の特性を推定する。
【0033】
具体的には、データ処理模擬プログラム212は、データベース候補に基づき、ダミーデータを記憶させた試行データベースを作成し、作成した試行データベースに対してデータ処理を実行することにより、そのデータ処理の特性を推定する。
【0034】
なお、推定されるデータ処理の特性は、例えば、将来の所定期間における、データ処理に要する時間、データ処理の実行頻度、又はデータ処理の対象となるデータの更新頻度である。
【0035】
データ再配置提案作成プログラム213は、データ処理模擬プログラム212の実行結果に基づき、各データベース装置20のうち、処理対象データに係るデータ項目のデータを記憶させるデータベース装置20(データベース)の情報(データベースの配置案)を作成する。
【0036】
本実施形態では、データ再配置提案作成プログラム213は、データ処理模擬プログラム212が推定したデータ処理の特性に基づき、試行データベースのデータに係るデータ更新処理性能、データ圧縮性能、及びデータ集計性能を表す各パラメータ値の高さに応じて、データベースの配置案)を作成する。
【0037】
データ配置提案出力プログラム214は、データ再配置提案作成プログラム213が作成した配置案を画面に表示する。
【0038】
データ配置実行プログラム215は、データ配置提案出力プログラム214が表示した配置案のうちユーザから指定された配置案を実行し、配置案が示すデータベースに、処理対象データに係るデータ項目のデータを記憶させる。
【0039】
さらに、データ管理装置10は、通信プログラム216を記憶している。通信プログラム216は、各データベース装置20とのデータ送受信を制御する。
【0040】
ここで、
図4は、データ管理装置10及びデータベース装置20の各情報処理装置が備えるハードウェアの一例を示す図である。各情報処理装置は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、又はGPU(Graphics Processing Unit)等のプロセッサ101と、ROM(Read Only Memory)、又はRAM(Random Access Memory)等のメモリ102と、ハードディスクドライブ(Hard Disk Drive)、フラッシ
ュメモリ(Flash Memory)、又はSSD(Solid State Drive)等の記憶装置103と、
キーボード、マウス、カードリーダ、若しくはタッチパネル等の入力装置104と、又は、液晶ディスプレイ(Liquid Crystal Display: LCD)、音声出力装置(スピーカ)、若
しくは印字装置等の出力装置105と、ネットワークインタフェースカード(Network Interface Card: NIC)、無線通信モジュール、USB(Universal Serial Interface)モ
ジュール、又はシリアル通信モジュール等の通信装置106とを備える。なお、各情報処理装置は、上記のような物理的なハードウェアを備える計算機であってもよいし、物理的な計算機を論理的に分割した計算機の単位(仮想サーバ)でもよい。また、各情報処理装置は、1台または複数の計算機クラスタ上で実行されるタスク(プロセスやコンテナ)であってもよい。
【0041】
上記各情報処理装置の機能は、各情報処理装置のハードウェアによって、又は、各情報処理装置のプロセッサ101がメモリ102又は記憶装置103に格納されているプログラムを読み出して実行することにより実現される。また上記のプログラムは、例えば、記録媒体に記録して配布することができる。
【0042】
次に、データ管理システム1で行われる処理について説明する。
データ管理システム1は、データベース装置20のデータベース群からデータを取得するデータ収集処理S1と、取得したデータを解析する処理対象データ解析処理S301と、解析結果に基づき、データベース群における各データベースをデータベース装置20のいずれに再配置するかを決定する再配置処理S2とを実行する。
まず、データ収集処理S1について説明する。
【0043】
<データ収集処理>
図5は、データ収集処理S1の一例を説明するフロー図である。データ収集処理S1は、例えば、ユーザから所定の入力があった場合、所定のタイミングで(例えば、所定の時刻、所定の時間間隔)、又はデータベース装置20のデータベースが更新された場合等に開始される。
【0044】
データ管理装置10のデータ処理内容入力プログラム201は、ユーザから、データベース群に対して行うデータ処理の入力を受け付ける(S101)。
【0045】
すなわち、データ処理内容入力プログラム201は、データ処理の種類の入力を受け付ける。例えば、データ処理内容入力プログラム201は、データの参照、又はデータの集計の旨の指定を受け付ける。
【0046】
また、データ処理内容入力プログラム201は、データ処理の方法及び内容の入力を受け付ける。例えば、データ処理内容入力プログラム201は、データ処理を行うデータベ
ース、データ処理を行うデータベース上の範囲、そのデータ範囲のうち実際に処理対象となるデータの出現周期(例えば、データの集計周期)、データ処理の実行周期、又は、データ処理に使用する関数(例えば、平均値の算出又は合計値の算出の関数)の入力を受け付ける。
【0047】
データ処理内容管理プログラム202は、データ処理内容入力プログラム201で入力された情報を記憶する(S102)。
【0048】
クエリ生成プログラム203は、S101で入力されたデータ処理を実現するためのクエリを生成する(S103)。このクエリは、所定の形式(以下、標準形式という)に基づくコマンドであり、例えば、SQL(Structured Query Language)に基づく。
【0049】
データ管理装置10は、S103で生成したクエリに基づき各データベース装置20に対するデータ処理を実行し、各データベース装置20から受信したクエリ応答の内容を画面に表示し又はファイルに出力するクエリ実行処理を行う(S104)。なお、S101で実行周期等の実行条件が入力された場合は、データ管理装置10は、S102で入力された実行条件にてクエリ実行処理S104を実行する。クエリ実行処理S104の詳細は次述する。
以上でデータ収集処理S1は終了する。
【0050】
<クエリ実行処理>
図6は、クエリ実行処理S104の詳細を説明するフロー図である。クエリ解析プログラム204は、まず、S103で生成及び送信したクエリを解析し、クエリが示す処理対象データ(具体的には、データ項目名)を特定する(S201)。
【0051】
クエリ解析プログラム204は、S201で特定した各処理対象データの所在(データベース)を特定する(S202)。例えば、クエリ解析プログラム204は、S201で特定した各処理対象データのデータ項目名を取得し、データ名称及び所在対応テーブル206の各レコードを参照することで、上記取得したデータ項目名のデータが格納されているデータベース装置20(データベース)を特定する。
【0052】
クエリ形式変換プログラム207は、S202で特定した各データベースの種類(例えば、データ名称及び所在対応テーブル206の種類2063)に応じて、S103で送信したクエリを、当該各データベースに対応した形式のクエリに変換する。そして、クエリ形式変換プログラム207は、変換した各クエリを、各データベース装置20に送信する(S203)。
【0053】
各クエリを受信したデータベース装置20は、当該クエリが示すデータ処理を行い、その処理結果(処理対象データを含むクエリ応答)をデータ管理装置10に送信する。
【0054】
クエリ結果形式変換プログラム208は、各データベース装置20から受信したクエリ応答のデータ形式を標準形式に変換する(S204)。
【0055】
クエリ結果出力プログラム209は、S204の変換により作成されたクエリ応答の内容を画面に表示し、又は所定のファイルに出力する(S205)。以上でクエリ実行処理S104は終了する。
【0056】
次に、処理対象データ解析処理S301について説明する。
<処理対象データ解析処理>
図7は、処理対象データ解析処理S301を説明するフロー図である。処理対象データ
解析処理S301は、ユーザから所定の入力があった場合、データ管理装置10がデータベース装置20から処理対象データを受信した場合、又は、所定のタイミング(例えば、所定の時刻、所定の時間間隔)にて、繰り返し実行される。
【0057】
すなわち、データ処理対象解析プログラム210は、データ管理装置10がこれまでに蓄積した処理対象データを解析する。
【0058】
例えば、データ処理対象解析プログラム210は、処理対象データに係るデータ項目又はデータベースの更新頻度を算出する。また、例えば、データ処理対象解析プログラム210は、処理対象データの値の分布を表す分布関数を算出することで、更新されるデータの値の分布を算出する。また、例えば、データ処理対象解析プログラム210は、処理対象データの値の時系列変化の傾向を解析してその傾向を表す予測関数を算出する。
以上で処理対象データ解析処理S301は終了する。
【0059】
<データ再配置処理>
図8は、データ再配置処理S2の一例を説明するフロー図である。データ再配置処理S2は、例えば、ユーザから所定の入力があった場合、又は、所定のタイミング(例えば、所定の時刻、所定の時間間隔)で実行される。
【0060】
まず、データ処理模擬プログラム212は、データの再配置の判断の基準となる将来の期間(以下、ユーザ設定期間という。例えば、3年後以降。)を設定する。ユーザ設定期間は、ユーザ入力によって設定されてもよいし、データ処理模擬プログラム212が自動的に設定してもよい。ユーザ設定期間は、連続した期間であってもよいし、周期的に繰り返される複数の時間帯であってもよい。
【0061】
そして、データ処理模擬プログラム212は、処理対象データ解析処理S301による解析結果に基づき、ユーザ設定期間における、各データベース装置20のデータベースにおけるデータ内容を推定する、すなわちダミーデータを作成する(S401)。例えば、データ処理模擬プログラム212は、S301で算出した更新頻度、予測関数、又は分布関数等に基づき、ユーザ設定期間における、各データベース装置20のデータベースに設定されるべき各データ値又はデータ値の変動を算出する。
【0062】
データ処理模擬プログラム212は、データベース候補管理プログラム211を呼び出すことで各データベース候補を取得し、取得した各データベース候補に係る、空情報のデータベース(試行データベース)を作成する。そして、データ処理模擬プログラム212は、作成した各試行データベースに、S401で推定したデータ(ダミーデータ)を設定する(S402)。
【0063】
データ処理模擬プログラム212は、S402で設定を行った各試行データベースに対して、S101で設定したデータ処理を実行する(S403)。この際、データ処理模擬プログラム212は、実行したデータ処理に要した処理時間をそれぞれ測定する。また、データ処理模擬プログラム212は、各試行データベースのデータ処理の実行に関して、当該データ処理の実行頻度(本実施形態では実行周期とする)、及び、当該データ処理の対象となったデータの更新頻度を記憶する。
【0064】
データ再配置提案作成プログラム213は、S403で算出した処理時間、実行頻度、及び更新頻度に基づき配置案を作成する配置案作成処理を実行する(S404)。配置案作成処理S404の詳細は後述する。
【0065】
データ配置提案出力プログラム214は、配置案作成処理S404で作成した配置案を
表示すると共に、表示した配置案を実行するか否かの入力をユーザから受け付ける再配置提案画面に表示する(S405)。
【0066】
(再配置提案画面)
図9は、再配置提案画面300の一例を示す図である。再配置提案画面300は、処理対象データに係るデータ項目のリストであるデータ名表示欄301と、当該データ項目に係るデータの配置先のデータベース(データベース装置)である再配置先表示欄302と、その配置先に対する再配置を実行するか否かの実行確認欄303とを備える。
【0067】
そして、
図8に示すように、データ配置実行プログラム215は、ユーザから、その配置案を実行する旨の入力を受け付けた処理対象データに対して、S405で作成した配置案を実行する(S406)。具体的には、データ配置実行プログラム215は、各処理対象データに係るデータ項目のデータを、現在の各データベース装置20から、配置先の各データベース装置20に送信する(その際、データ形式の変換も行われる)。以上でデータ再配置処理S2は終了する。
ここで、配置案作成処理S404の詳細を説明する。
【0068】
図10は、配置案作成処理S404の詳細を説明するフロー図である。
データ再配置提案作成プログラム213は、S403で測定した処理対象データに係る処理時間が所定の閾値より大きいか否かを判定する(S501)。処理時間が所定の閾値より大きい場合は(S501:YES)、データ再配置提案作成プログラム213はS502の処理を実行し、処理時間が所定の閾値より大きくない場合は(S501:NO)、データ再配置提案作成プログラム213はS503の処理を実行する。
【0069】
S502においてデータ再配置提案作成プログラム213は、所定の警告情報を画面に表示し、配置案作成処理S404は終了する。
【0070】
S503においてデータ再配置提案作成プログラム213は、処理対象データの更新頻度(データ更新処理性能を表すパラメータ値)が、所定の閾値より高いか否かを判定する。更新頻度が所定の閾値より高い場合は(S503:YES)、データ再配置提案作成プログラム213はS507の処理を実行し、更新頻度が所定の閾値より高くない場合は(S503:NO)、データ再配置提案作成プログラム213はS504の処理を実行する。
【0071】
S504においてデータ再配置提案作成プログラム213は、処理対象データに関して、S403で算出した実行周期に対する、S403で算出した時系列DBへの(時系列データに対する)データ処理時間の割合(データ圧縮性能を表すパラメータ値)が所定の閾値より高いか否かを判定する。
【0072】
実行周期に対するデータ処理時間の割合が所定の閾値より高くない場合(データ圧縮性能が高い場合)は(S504:NO)、データ再配置提案作成プログラム213は、処理対象データを、時系列DBを備えるデータベース装置20に配置することを提案する情報を生成し(S505)、配置案作成処理S404は終了する。
【0073】
実行周期に対するデータ処理時間の割合が所定の閾値より高い場合は(S504:YES)、データ再配置提案作成プログラム213は、処理対象データを、列指向DBを備えるデータベース装置20に配置することを提案する情報を生成し(S506)、配置案作成処理S404は終了する。
【0074】
なお、S605においてデータ再配置提案作成プログラム213は、処理対象データに
関して、S403で算出した実行周期に対する、S403で算出した列指向DBに対するデータ処理時間の割合(データ集計性能を表すパラメータ値)が所定の閾値より低いか否かを判定し、当該割合が所定の閾値より低い場合(データ集計性能が高い場合)にのみ、処理対象データを、列指向DBを備えるデータベース装置20に配置することを提案する情報を生成してもよい。
【0075】
次に、S507においてデータ再配置提案作成プログラム213は、処理対象データに関して、S403で算出した実行周期に対する、S403で算出したRDBへの(行単位での)データ処理時間の割合(データ更新機能を表すパラメータ)が所定の閾値より高いか否かを判定する。
【0076】
実行周期に対するデータ処理時間の割合が所定の閾値より高い場合は(S507:YES)、データ再配置提案作成プログラム213は、処理対象データを行指向DBを備えるデータベース装置20(すなわち、RDBを備えるデータベース装置20)に配置するが、そのデータ処理は列指向DBを用いて行うことを提案する情報を生成し(S509)、配置案作成処理S404は終了する。
【0077】
実行周期に対するデータ処理時間の割合が所定の閾値以下ある場合は(S507:NO)、データ再配置提案作成プログラム213は、処理対象データを、行指向DBを備えるデータベース装置20(すなわち、RDBを備えるデータベース装置20)に配置することを提案する情報を生成し(S508)、配置案作成処理S404は終了する。
【0078】
以上のように、本実施形態のデータ管理装置10は、データベースから取得した、所定データ項目の処理対象データを解析することにより、将来期間に生成されるそのデータ項目のデータを算出し、算出したデータを含むデータベースにおいて実行されるデータ処理の特性を推定し、推定したデータ処理の特性に基づき、データベース群のうち、そのデータ項目のデータを記憶させるデータベースを特定して、そのデータベースに、処理対象データを含むデータを記憶させる。
【0079】
すなわち、本実施形態のデータ管理装置10は、処理対象データに関する将来のデータ処理予測を行ってダミーデータを作成することでデータ処理の特性を推定し、その推定結果に基づいて、データを配置すべきデータベースを特定する。これにより、各データベースにおけるデータを、そのデータ処理の特性に応じて適切なデータベースに管理させることができる。
【0080】
特に、本実施形態のデータ管理装置10は、ダミーデータを記憶させた試行データベースを作成し、作成した試行データベースに対してデータ処理を実行することにより、データ処理の特性を推定する。このように、データベースを実際に作成することで、データ処理の特性を正確に推定することができる。
【0081】
また、本実施形態のデータ管理装置10は、将来期間におけるデータ処理時間、データ処理の実行頻度、データ更新頻度に基づき、ダミーデータに係るデータ更新処理性能、データ圧縮性能、データ集計性能を表すパラメータ値を算出し、これに応じてデータベースを特定する。これにより、各データベースが備えるデータ処理性能の特徴に応じて、適切なデータベースを特定することができる。
【0082】
例えば、本実施形態のデータ管理装置10は、将来期間におけるデータの更新頻度を推定し、データ更新頻度を表すパラメータ値が所定閾値を超える場合には、行指向のデータベース(RDB等)を特定する。これにより、更新性能が高い行指向のデータベースの特性を活用することができる。
【0083】
さらにこの場合、本実施形態のデータ管理装置10は、データ更新頻度を表すパラメータ値が所定閾値を超える場合であって、将来期間における行単位でのデータ処理に要する時間を表すパラメータ値が所定の閾値を超える場合には、行指向のデータベースを記憶先とするが、データ処理は列指向のデータベースを用いるものとして特定する。これにより、更新性能が高い行指向のデータベース及び列単位のデータ処理能力が高い列指向のデータベースの双方のメリットを活用することができる。
【0084】
また、本実施形態のデータ管理装置10は、将来期間における、時系列データに対するデータ処理に要する時間を表すパラメータ値が所定の閾値を超えない場合には、時系列データベースを特定する。これにより、データ圧縮性能に優れる時系列データベースの特性を活用することができる。
【0085】
また、本実施形態のデータ管理装置10は、将来期間における、列単位でのデータ処理に要する時間を表すパラメータ値が所定の閾値を超えない場合には、列指向データベースを特定する。これにより、(列単位での)データ集計性能に優れる列指向データベース(例えば、RDB)の特性を活用することができる。
【0086】
また、本実施形態のデータ管理装置10は、再配置先として特定したデータベースに関する情報を画面に表示することで、再配置を行うかをユーザに確認させることができる。
【0087】
また、本実施形態のデータ管理装置10は、標準形式のクエリに対して変換を行った、各データベース群に対応したクエリをそれぞれ生成し、生成したクエリをデータベース群に送信することにより、データベース群から応答データを受信し、受信した各応答データを標準形式に変換する。そして、データ管理装置10は、この変換した各応答データを、処理対象データとして取得する。
【0088】
これにより、対応形式が異なるデータベースが存在する場合でも、その形式に関係なく容易に、統一した標準形式のデータを取得し、配置先のデータベースを迅速に特定することができる。
【0089】
本発明は上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲内で、任意の構成要素を用いて実施可能である。以上説明した実施形態や変形例はあくまで一例であり、発明の特徴が損なわれない限り、本発明はこれらの内容に限定されるものではない。また、上記では種々の実施形態や変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【0090】
例えば、本実施形態の各装置が備える各機能の一部は他の装置に設けてもよいし、別装置が備える機能を同一の装置に設けてもよい。
【0091】
また、データ管理装置10が管理するデータベースの種類は本実施形態で説明したものに限らず、他の種類のデータベースでもよい。
【0092】
また、本実施形態では、一つのデータベース装置20に対して1種類のデータベースが格納されていることを前提としたが、一つのデータベース装置20に対して複数種類のデータベースが格納され、データ管理装置10が、データベース装置20の各データベースにアクセスする形態であってもよい。
【0093】
また、データ管理装置10は、データ集計性能、データ圧縮性能、及びデータ集計性能
をデータの処理時間、データの更新時間、及びデータの更新周期に基づき算出するものとしたが、その他のパラメータを用いてこれらの性能を算出してもよい。
【0094】
また、データ管理装置10は、データ集計性能、データ圧縮性能、及びデータ集計性能以外の性能を算出してもよい。
【0095】
また、データ管理装置10は、標準形式としてSQL形式を採用したが、その他の形式にしてもよい。
【符号の説明】
【0096】
1 データ管理システム、10 データ管理装置、20 データベース装置、212 データ処理模擬プログラム、213 データ再配置提案作成プログラム、215 データ配置実行プログラム