JP2020060953A - 分析支援装置、及び結合データ生成システム - Google Patents

分析支援装置、及び結合データ生成システム Download PDF

Info

Publication number
JP2020060953A
JP2020060953A JP2018191881A JP2018191881A JP2020060953A JP 2020060953 A JP2020060953 A JP 2020060953A JP 2018191881 A JP2018191881 A JP 2018191881A JP 2018191881 A JP2018191881 A JP 2018191881A JP 2020060953 A JP2020060953 A JP 2020060953A
Authority
JP
Japan
Prior art keywords
data
data item
unit
statement
load
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
JP2018191881A
Other languages
English (en)
Other versions
JP7070310B2 (ja
Inventor
規史 神田
Norifumi Kanda
規史 神田
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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP2018191881A priority Critical patent/JP7070310B2/ja
Publication of JP2020060953A publication Critical patent/JP2020060953A/ja
Application granted granted Critical
Publication of JP7070310B2 publication Critical patent/JP7070310B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】データ項目を結合する命令文のうち、負荷が高い命令文の負荷を軽減する。【解決手段】データを保存するデータベース装置200,300に対して発行された複数の命令文の分析を行う分析支援装置100であって、データベース装置から、複数の命令文、及び複数の命令文のそれぞれに対応する実行負荷を示す負荷情報を取得する取得部101と、構文解析により、複数の命令文のうち第1のデータ項目と第2のデータ項目とを結合する命令を含む第1の命令文を抽出する解析部102と、第1の命令文に対応する実行負荷を集計した集計負荷を求める演算部103と、集計負荷に基づいて、第1のデータ項目と第2のデータ項目とを結合する第2の命令文を生成する生成部105と、第2の命令文をデータベース装置に出力する出力部106と、を有し、データ項目を予め結合した状態でデータベースのテーブルに保存する。【選択図】図1

Description

本発明は、データベースに保存されたデータの分析を支援する装置及びプログラムに関するものである。本発明はさらに、データベースに保存されたデータの分析を支援する装置を用いて、複数のデータ項目が結合されたデータを生成するシステム及び方法に関するものである。
近年、情報技術の発展に伴い、ネットワークを介して様々なデータが収集され、蓄積されている。特に、IoT(Internet of Things)の発展により、収集されるデータの種類及びデータ量は益々増加している。収集されたデータはデータベース内のテーブルにそれぞれ保存される。保存されたデータは、所定の目的に応じて利用される。
データベースは、このような利用に供される他、データ分析者による分析にも供される。そして、収集されるデータ量の増大に伴い、データ分析者による分析を容易かつ効率化できる技術が益々重要になってきている。
例えば、特許文献1には、複数の業務システムが保有する業務情報がデータテーブルに保存されており、異なるデータテーブルに共通するデータ項目があれば、データテーブル間をリンクさせるとともに、各データテーブルのデータ項目間に関係がある場合には、当該データ項目を用いて分析用のデータテーブルを作成して、分析対象となるデータ項目の組み合わせを蓄積する技術が開示されている。
特開2018−72960号公報
特許文献1に記載の技術によれば、組み合わせてデータ分析が可能なデータ項目をデータモデルとして生成し、生成したデータモデルをデータ分析者に表示することにより、データ分析者が分析対象項目を選択するのを支援することができる。しかしながら、特許文献1に記載の技術では、データ項目名、あるいは、データ項目の種類の類似性によってデータ項目を組み合わせているため、データ分析者が、全く異なるデータ項目同士を組み合わせて分析を行うような場合、分析用のデータテーブルを利用することはできない。また、データ項目名やデータ項目の種類が類似しているデータ項目の組み合わせが、必ずしもデータ分析に有用な組み合わせであるとは限らない。
そこで、本発明の目的は、結合処理によって発生する負荷が大きく、ひいては、結合処理に時間がかかるデータ項目の組み合わせについて、データ分析に要する時間を短縮することである。
本発明のさらなる目的は、データ分析者が着目しているデータ項目と結合される頻度が高いデータ項目をデータ分析者に表示することにより、データ項目間の関連性をデータ分析者に知らしめることを通じて、データ分析を支援することにある。
上記課題を解決するために、本発明の分析支援装置は、
データを保存するデータベース装置(200,300)に対して発行された複数の命令文の分析を行う分析支援装置(100)であって、
前記データベース装置から、前記複数の命令文、及び前記複数の命令文のそれぞれに対応する実行負荷を示す負荷情報を取得する取得部(101)と、
構文解析により、前記複数の命令文のうち第1のデータ項目と第2のデータ項目とを結合する命令を含む第1の命令文を抽出する解析部(102)と、
前記第1の命令文に対応する前記実行負荷を集計した集計負荷を求める演算部(103)と、
前記集計負荷に基づいて、前記第1のデータ項目と前記第2のデータ項目とを結合する第2の命令文を生成する生成部(105)と、
前記第2の命令文を前記データベース装置に出力する出力部(106)と、
を有する。
なお、特許請求の範囲、及び本項に記載した発明の構成要件に付した括弧内の番号は、本発明と後述の実施形態との対応関係を示すものであり、本発明を限定する趣旨ではない。
本発明の分析支援装置によれば、複数のデータ項目を結合したデータをデータベース内の結合テーブルに保存することにより、複数のデータ項目を結合するデータ分析に要する時間を短縮することが可能となる。
さらに、本発明の分析支援装置によれば、データ分析者が着目しているデータ項目と結合がされる頻度が高いデータ項目をデータ分析者に表示することにより、データ項目間の関連性をデータ分析者に知らせることができる。
本発明の実施形態1の結合データ生成システムの構成を説明する図 本発明の実施形態1の結合データ生成システムの動作を説明するブロック図 本発明の実施形態1の結合データ生成システムの動作を説明するブロック図 本発明の実施形態1の結合データ生成システムの動作を説明するブロック図 本発明の実施形態1の変形例1の結合データ生成システムの構成を説明する図 本発明の実施形態2の分析支援システムの構成を説明する図 本発明の実施形態2の分析支援システムの動作を説明するブロック図 本発明の実施形態2の分析支援システムの動作を説明するブロック図 本発明の実施形態2の分析支援装置の表示部を説明する図 本発明の実施形態2の分析支援装置の表示部を説明する図
以下、本発明の実施形態について、図面を参照して説明する。
なお、本発明とは、特許請求の範囲又は課題を解決するための手段の項に記載された発明を意味するものであり、以下の実施形態に限定されるものではない。また、少なくともかぎ括弧内の語句は、特許請求の範囲又は課題を解決するための手段の項に記載された語句を意味し、同じく以下の実施形態に限定されるものではない。
特許請求の範囲の従属項に記載の構成及び方法、従属項に記載の構成及び方法に対応する実施形態の構成及び方法、並びに特許請求の範囲に記載がなく実施形態のみに記載の構成及び方法は、本発明においては任意の構成及び方法である。特許請求の範囲の記載が実施形態の記載よりも広い場合における実施形態に記載の構成及び方法も、本発明の構成及び方法の例示であるという意味で、本発明においては任意の構成及び方法である。いずれの場合も、特許請求の範囲の独立項に記載することで、本発明の必須の構成及び方法となる。
実施形態に記載した効果は、本発明の例示としての実施形態の構成を有する場合の効果であり、必ずしも本発明が有する効果ではない。
複数の実施形態がある場合、各実施形態に開示の構成は各実施形態のみで閉じるものではなく、実施形態をまたいで組み合わせることが可能である。例えば一の実施形態に開示の構成を、他の実施形態に組み合わせても良い。また、複数の実施形態それぞれに開示の構成を集めて組み合わせても良い。
発明が解決しようとする課題に記載した課題は公知の課題ではなく、本発明者が独自に知見したものであり、本発明の構成及び方法と共に発明の進歩性を肯定する事実である。
(実施形態1)
図1は、結合データ生成システム10を示している。以下の説明では、結合データ生成システムが取り扱うデータは自動車に関するデータを想定している。しかしながら、本発明の結合データ生成システムは、いかなる種類のデータの分析にも利用することができる。
車両には複数のセンサ等が搭載され、様々なデータが取得されている。取得された自動車に関するデータを分析することにより、例えば、自動車部品の開発、渋滞予測などに活用することが可能となる。例えば、GPSにより取得した車両の位置データを分析することにより、車両の移動を分析することができる。しかしながら、GPSにより取得した位置データは、車両が停止しているにも関わらず変動することがあるため、GPSによる位置データのみを利用した車両の移動を分析した場合、分析結果の精度が低くなるおそれがある。そのため、車両の移動を分析する場合には、GPSにより取得した位置データと併せて車輪の速度データ(以下、車輪速データ)を用いてデータ分析を行うことが望ましい。つまり、位置データと車輪速データとは関連性が高いといえ、これらのデータ項目を利用して分析するニーズは高いといえる。そこで、以下の例では、車両の位置データと、車輪速データとを結合する場合を例示して説明する。
図1に示す結合データ生成システム10は、分析支援装置100、データ収集装置200、及びデータべース装置300を有する。
分析支援装置100は、データ分析者がデータベース装置300に保存されたデータの分析を行う場合に、データ分析を支援する装置であり、データベース装置300にネットワークを介して接続される。分析支援装置100は、専用のハードであってもよく、あるいは、以下に説明する分析支援装置100の機能を実現するプログラムを実行する専用又は汎用CPU及びメモリ等を有するマイクロコンピュータであってもよい。
データ収集装置200は、様々な製品に搭載されたセンサ等によって取得されたデータを、ネットワークを介して収集する。図1の例では、データ収集装置200は自動車に関するデータを収集している。データ収集装置200はさらに、取集したデータをネットワークを介してデータベース装置に出力する。
データベース装置300は、データ収集装置200にて収集されたデータを保存し、蓄積する装置である。なお、図1に示す結合データ生成システム10では、データ収集装置200とデータベース装置300とは別個の独立した装置として構成されている。しかしながら、データ収集装置200とデータベース装置300とは一体的な装置として構成されてもよい。データ収集装置200及びデータベース装置300は、まとめて本発明の「データベース装置」に相当する。
1.分析支援装置
まず、結合データ生成システム10が有する分析支援装置100について説明する。分析支援装置100は、取得部101、解析部102、演算部103、記憶部104、生成部105、及び出力部106を有する。解析部102、演算部103、生成部105は、機能的には別であるが、1つの装置、例えば、CPUで実現してもよい。
取得部101は、後述するデータベース装置300のログファイル保存部303から、ログファイルを取得する。このログファイルは、データ分析者によって、データを保存するデータベース装置に対して発行された複数のSQL(本発明の「命令文」に相当)と、複数のSQLのそれぞれに対応する「実行負荷」を示す負荷情報を有している。以下の例では、負荷情報が、実行負荷としてSQLの処理時間を示している場合を説明する。取得部101は、ログファイル保存部303に自らアクセスしてログファイルを取得してもよく、あるいは、ログファイル保存部303から自動的に送信されるログファイルを受信することによって取得してもよい。また、取得部101は、ログファイルを定期的に取得してもよく、あるいは、一定の条件を満たした場合、例えば、所定量のログがログファイル保存部303に保存された場合にログファイルを取得してもよい。
なお、本明細書では、データベース言語としてSQLを使用しているが、本発明は任意のデータベース言語に適用することが可能である。
ここで、本発明の「実行負荷」とは、命令文を実行することによって発生する負荷を示すものであり、例えば、CPUの使用量(例えば、使用時間、使用コア数等)、メモリの使用量、命令文の実行を開始してから終了するまでの処理時間等が挙げられる。
解析部102は、取得部101で取得した複数のログファイルに含まれる複数のSQLの構文解析を実行する。解析部102で実行される構文解析では、既存の構文解析ライブラリを使用することができる。解析部102はさらに、構文解析を実行した複数のSQLのうち、特定のデータ項目を結合する命令(JOIN命令)を含む単数若しくは複数のSQL(本発明の「第1の命令文」に相当)を抽出する。以下の例では、特定のデータ項目として、車両の位置データ(本発明の「第1のデータ項目」に相当)と、車両の車輪速データ(本発明の「第2のデータ項目」に相当)とを結合する命令を含むSQL1を抽出する場合を説明する。
なお、本明細書では、特定の2つのデータ項目を結合する命令を含むSQL1を抽出する場合のみに着目して説明しているが、当然のことながら、解析部102は、2以上の任意のデータ項目を結合する命令を含む、任意のSQLを抽出することができる。
なお、取得部101が取得したログファイルには、データ分析者によってSQLが発行されたが、命令処理が適切に実行されなかったSQLが含まれている可能性がある。このような場合、解析部102は、命令処理が実行されなかったSQLは抽出せず、以降の演算部103で実行負荷を集計しないようにしてもよい。
演算部103は、解析部102で抽出されたSQL1に対応する「実行負荷を集計」して、集計負荷を求める。本実施形態では、抽出した各SQL1の実行負荷である処理時間を合計し、集計処理時間を求めることを想定している。ここで、後述する記憶部104に、既にSQL1に対応する集計処理時間が保存されている場合には、取得部101で新たに取得され、解析部102で抽出されたSQL1に対応する処理時間と、記憶部104に既に保存されている集計処理時間とを合計することにより、演算部103は新たな集計処理時間を求める。
ここで、本発明の「実行負荷を集計」する、とは、分析支援装置が起動してから集計時点までに取得した全ての負荷を合計することはもちろん、特定の期間に取得した負荷のみを合計してもよく、また、取得部で取得した負荷情報が示す負荷の値を合計することの他、負荷に対して特定の演算を加えた値を合計することをも含む。さらに、「集計」する、とは、複数の実行負荷の値を合計することには限定されず、実行負荷の値が1つの場合に、当該値を集計負荷とする場合をも含む。
記憶部104は、演算部103で求めたSQL1に対応する集計処理時間を保存する。この際、集計処理時間が、車両の位置データと車輪速データとを特定の結合条件を示す条件句を用いて結合するSQLの集計処理時間であることを特定して保存する。
なお、記憶部104が既にSQL1に対応する集計処理時間を保存している場合には、演算部103で求めた新たな集計処理時間の値に更新して保存する。
生成部105は、記憶部104に保存された集計処理時間に「基づいて」、車両の位置データと車輪速データとを結合した結合データをデータベース装置に保存するか否かを決定する。例えば、生成部105は、記憶部104に予め「負荷閾値」、つまり、処理時間閾値を保存しておくとともに、演算部103にて集計した集計処理時間と処理時間閾値とを比較する。そして、集計処理時間が処理時間閾値「よりも」高いと判定した場合には、結合データをデータベース装置に保存することを決定する。
そして、結合データをデータベース装置に保存することを決定した場合には、生成部105は、車両の位置データと車輪速データとを結合し、結合したデータを後述する結合テーブルに保存する命令(INSERT命令)を含むSQL2(本発明の「第2の命令文」に相当)を生成する。生成部105はさらに、車両の位置データと車輪速データとを結合した結合データを保存する結合テーブルを生成する命令(CREATE TABLE命令)を含むSQL3(本発明の「第3の命令文」)を生成する。なお、SQL2は、データ項目を結合し、結合したデータを結合テーブルに保存する命令を含んでいればよく、その他の命令や条件句をさらに含んでいてもよい。SQL3も同様である。
ここで、本発明の「基づいて」とは、集計負荷を反映して、結合テーブルをデータベース装置に保存するか否かを決定していれば足り、集計負荷の値を直接的に用いる場合の他、集計負荷以外の要素も考慮する場合も含む。
また、本発明の「負荷閾値」とは、特定の負荷を示す値の場合の他、条件に応じて所定の演算により求まる負荷を示す値も含む。本発明の「よりも」高い、とは、比較対象となる負荷閾値と同じ値を含む場合及び含まない場合の両方が含まれる。
出力部106は、生成部105で生成されたSQL2を、データ収集装置200のSQL登録部202に出力し、SQL3をデータベース装置300のデータベースエンジン302に出力する。
2.データ収集装置
次に、データ収集装置200について説明する。データ収集装置200は、データ受信部201と、SQL登録部202を有する。
データ受信部201(本発明の「受信部」に相当)は、センサ等を用いて測定又は取得されたデータをネットワークを介して受信する。図1では、データ受信部は、例えば、自動車の車載センサが測定した車輪速データ、操舵角データ、方向指示器のON/OFFを示す方向指示器データ、GPS装置が取得した車両の位置データといったデータを、複数の自動車から受信する。データ受信部201は、周期的に、あるいは、任意のタイミングで、受信したデータをデータベース装置300のデータベースエンジン302に出力する。
SQL登録部202には、分析支援装置100から出力されたSQL2の情報が登録される。SQL登録部202は、周期的に、あるいは、任意のタイミングで、登録されたSQL2をデータベース装置300のデータベースエンジン302に出力する。
3.データベース装置
データベース装置300は、データベース301、データベースエンジン302、及びログファイル保存部303を備える。
データベース(本発明の「保存部」に相当)301は複数のテーブルを有し、各テーブルには、予め設定されたデータ項目に該当するデータが保存される。テーブルは、1つのデータ項目に該当する1種類のデータ、及び、複数のデータ項目に該当する複数種類のデータのいずれも保存することができる。
データベースエンジン(本発明の「生成部」に相当)302は、データべース301に対するデータの挿入、抽出、及び、データを格納するテーブルの生成を行う。
具体的には、データベースエンジン302は、データ受信部201から出力されたデータを取得するとともに、取得したデータを、当該データのデータ項目に対応するテーブルに挿入して保存する。
データベースエンジン302はさらに、データ分析者が、インタフェース等の入力部(図示せず)を介してデータベース装置300に対してSQLを発行すると、データベース301内のテーブルから、発行されたSQLに含まれるデータ項目のデータを抽出する。抽出されたデータは、データ分析者のインタフェースに出力される。
さらに、データベースエンジン302は、分析支援装置100の出力部106からSQL3が入力されると、SQL3に基づいて、車両の位置データと車輪速データとを結合した結合テーブルをデータベース301内に生成する。
また、データベースエンジン302は、SQL登録部202から、SQL2が入力されると、SQL2が結合するデータ項目に該当するデータをデータベース301から抽出して結合するとともに、結合したデータをSQL3に基づいて生成した結合テーブルに挿入して保存する。
ログファイル保存部303は、データベース装置300に対して発行されたSQL、及び当該SQLを実行する処理時間を実行負荷としてログファイルとして保存する。
4.結合データ生成システムの動作
以下、図2−4を用いて、実施形態1の結合データ生成システム10の動作を説明する。結合データ生成システム10の動作は、大きく分けて、データ分析者によってSQLが発行されてから、分析支援装置100の記憶部104にSQLに対応する集計負荷として集計処理時間を保存するまでの動作(図2)、記憶部104に保存された集計処理時間に基づいて、データベース301に結合テーブルを生成する動作(図3)、データベース301の結合テーブルに結合データを格納する動作(図4)に分けられる。
まず、図2を用いて、分析支援装置100の記憶部104にSQLに対応する集計処理時間を保存するまでの動作を説明する。
まず、データ分析者は、所望の分析結果を得るために、データベース装置300に対してSQLを発行する(S101)。S101にて発行されたSQL、及び当該SQLを実行するのに要した処理時間を示す負荷情報は、ログファイルとしてデータベース装置300のログファイル保存部303に保存される(S102)。
分析支援装置100の取得部101は、ログファイル保存部303に保存されたログファイルを取得する(S103)。解析部102は、S103において取得部101が取得したログファイルに含まれるSQLの構文解析を実行する(S104)。そして、車両の位置データと車輪速データとを結合する命令を含むSQL1を抽出する(S105)。
次いで、演算部103は、ログファイルに含まれる負荷情報のうち、SQL1に対応する負荷情報が示す処理時間を集計して、集計処理時間を求める(S106)。S106にて求めた集計処理時間は、車両の位置データ及び車輪速データのデータ項目及びこれらのデータ項目を結合する結合条件を示す条件句に対応付けて記憶部104に保存される(S107)。位置データと車輪速データ以外のデータ項目を結合する命令を含むSQLに対応する処理時間を集計し保存する場合には、S105−S107のステップを同様に実行する。したがって、記憶部104には、結合されるデータ項目の組み合わせ毎に集計処理時間が保存されることになる。
次に、図3を用いて、記憶部104に保存された集計処理時間に基づいて、データベース301に結合テーブルを生成する動作を説明する。
分析支援装置100の生成部105は、記憶部104に保存された集計処理時間をモニタし、集計処理時間と、記憶部104に保存されている処理時間閾値とを比較する(S201)。ここで、集計処理時間が処理時間閾値よりも低いと判定した場合には、生成部105は集計処理時間のモニタを継続する。これに対し、集計処理時間が処理時間閾値よりも高いと判定した場合には、車両の位置データと車輪速データとを結合した結合データをデータベース装置300のデータベース301に保存することを決定する(S202)。そして、車両の位置データと車輪速データとを結合し、特定のテーブルに保存する命令を含むSQL2を生成する(S203)。さらに、車両の位置データと車輪速データとを結合した結合データを保存する結合テーブルを生成する命令を含むSQL3を生成する(S204)。S203、204において生成されたSQL2、3は、出力部106を介して、データ収集装置200のSQL登録部202、及びデータベース装置300のデータベースエンジン302にそれぞれ出力される(S205)。
SQL登録部202は、S205にて出力されたSQL2を登録する(S206)。また、データベースエンジン302は、S205にて出力されたSQL3に基づいて、車両の位置データと車輪速データとを結合した結合テーブルをデータベース301内に生成する(S207)。
次に、図4を用いて、データベース301の結合テーブルに結合データを保存する動作を説明する。
データ収集装置200のデータ受信部201が、自動車から車両に関する複数のデータを受信する(S301)。データ受信部201が受信したデータは、データベースエンジン302に出力され(S302)、その後、当該データのデータ項目に該当するデータベース内のテーブルにそれぞれ挿入して保存される(S303)。SQL登録部202は、図3のS206にて登録されたSQL2をデータベースエンジン302に出力する(S304)。なお、データ受信部201及びSQL登録部202は、周期的又は任意のタイミングで、受信したデータ及びSQL2をデータベースエンジン302にそれぞれ出力することができる。
次いで、データベースエンジン302は、SQL登録部202から出力されたSQL2が結合するデータ項目に該当するデータをデータベース301から抽出するとともに、抽出したデータをSQL2に基づいて結合する(S305)。そして、データベースエンジン302は、SQL2に基づいて結合したデータを図3のS207において生成した結合テーブルに挿入し、保存する(S306)。
図4に示す一連の動作では、例えば、データ受信部201は、2018年1月1日に複数のデータを自動車から受信する(S301)と、受信日の翌日(2018年1月2日)に、受信したデータをまとめてデータベースエンジン302に出力する(S302)。そして、データ受信部201から出力されたデータがデータベース内のテーブルに保存(S303)されると、SQL登録部202は、車両の位置データ及び車輪速データを結合した結合データを生成して、結合テーブルに保存する命令を含むSQL2をデータベースエンジン302に出力する(S305)。ここで、SQL2は、データ取得日時を2018年1月1日に限定する条件句を含むことにより、2018年1月1日に取得されたデータのみについて結合データを生成する命令文とすることができる。そして、データベースエンジン302は、データベース301内のテーブルから、データ取得日時が2018年1月1日である車両の位置データ及び車輪速データを抽出するとともに、これらのデータを結合した結合データを結合テーブルに保存する。これにより、過去の結合データに追加して、新たに取得されたデータの結合データを結合テーブルに蓄積することができる。
以上のとおり、実施形態1によれば、データ項目を結合する命令文のうち集計負荷が高い命令文については、当該命令文によって結合されるデータ項目を予め結合した状態で、データベースのテーブルに保存することができる。その結果、データ分析者がデータを結合して分析する際、テーブルに保存された結合データを取得することにより、データの結合に要する時間を大幅に短縮することが可能となる。
(変形例1)
上記実施形態1では、生成部105が記憶部104に保存された集計処理時間の値をモニタし、集計処理時間が処理時間閾値よりも高くなると自動的に、結合データをデータベース装置300に保存することを決定した。しかしながら、生成部105は、集計処理時間に加えて、データ分析者の指示に基づいて、結合データをデータベース装置300に保存してもよい。
本変形例1を図5に示す。図1と同じ構成については同じ符号を付し、説明は省略する。本変形例1の分析支援装置100は、図1に示す構成に加えて、メッセージ生成部107、表示部108、ユーザ指示取得部109とを備えている。なお、メッセージ生成部107、表示部108は、まとめて本発明の「メッセージ制御部」に相当する。
メッセージ生成部107は、集計処理時間に基づいて、データ分析者(本発明の「ユーザ」に相当)に対して、結合データをデータベース装置300に保存することを推奨するメッセージを生成し、表示部108は生成されたメッセージをデータ分析者に対して表示する。例えば、実施形態1と同様、生成部105は集計処理時間と処理時間閾値とを比較して、集計処理時間が処理時間閾値よりも高いと判定した場合に、メッセージ生成部107がメッセージを生成する。
ユーザ指示取得部109は、表示部108に表示されたメッセージを見たデータ分析者による指示、すなわち、結合データをデータベース装置300に保存する指示を取得する。
ユーザ指示取得部109が、結合データをデータベース装置に保存する指示を取得した場合、生成部105は、結合データをデータベース装置300に保存することを決定する。この後の処理は、実施形態1と同様である。
本変形例1によれば、データ分析者が必要とする結合テーブル及び結合データのみをデータベース装置に生成することが可能となるため、データベース内に不要な結合テーブルや結合データが生成及び保存されるのを抑制し、データベースの容量を有効に活用することが可能となる。
(変形例2)
上記実施形態1では、SQLの処理時間を集計した集計処理時間に基づいて、結合データをデータベース装置に保存するか否かを決定した。しかしながら、同じデータ項目を結合する命令を含むSQLであっても、当該SQLを発行したデータ分析者によって、そのSQLの重み、すなわち、情報の価値は異なる。
そこで、本変形例2では、SQLを発行したデータ分析者に応じて実行負荷である処理時間に重み付けをして集計し、当該データ分析者を考慮した集計負荷を求めることにより、有用なSQLによって結合されるデータ項目を結合する結合テーブルをデータベース装置に保存する。
本変形例2では、データベース装置300のログファイル保存部303は、ログファイルとして、データ分析者(本発明の「ユーザ」に相当)が発行したSQL及び当該SQLの処理時間に加えて、データベース装置300に対してSQLを発行した「データ分析者の情報」を保存する。そして、分析支援装置100の取得部101は、SQL及び当該SQLの処理時間に加えて、「データ分析者の情報」を取得する。本明細書では、「データ分析者の情報」として、データ分析者のID情報を取得する例を説明する。
ここで、本発明の「データ分析者(ユーザ)の情報」とは、各ユーザを識別する情報はもちろん、ユーザの属性や、ユーザのデータ分析にかかる経験を示す情報であってもよい。
本変形例2の記憶部104は、データ分析者のID情報と、当該データ分析者のデータ分析にかかる経験年数とを対応付けて予め保存しておく。記憶部104はさらに、データ分析者の経験年数に応じて重み付けをするウエイト量の情報を予め保存しておく。例えば、分析経験5年以上の経験を有するデータ分析者に対するウエイト量n1、及び、分析経験5年未満の経験を有するデータ分析者に対するウエイト量n2を、それぞれ保存しておく。
演算部103は、データ分析者の情報に応じて処理時間に重み付けをして、集計処理時間を求める。
例えば、取得部101が取得したログファイルに、車両の位置データと車輪速データとを結合する命令を含むSQL1に対応するログが2つ存在(SQL1−1、SQL1−2)し、SQL1−1が、データの分析経験が5年以上のデータ分析者によって発行され、処理時間がx時間のSQLであり、SQL1−2は、データの分析経験が5年未満のデータ分析者によって発行され、処理時間がy時間のSQLであるとする。このとき、実施形態1による集計負荷は(x+y)時間となる。
これに対し、本変形例2では、演算部103は、データ分析者の各ID情報に基づいて記憶部に保存されたデータ分析者の経験年数を参照するとともに、経験年数に基づくウエイト量を抽出する。そして、SQL1−1の処理時間xにはウエイト量n1を、SQL1−2の処理時間yにはウエイト量n2をそれぞれ重み付けして、集計処理時間(n1×x+n2×y)を求める。そして、重み付けをして求めた集計処理時間に基づいて、生成部106は、結合データをデータベース装置300に保存するか否かを決定する。
本変形例2によれば、データ分析者に応じて重み付けをした集計負荷に基づいて、結合テーブルの生成要否を決定することが可能となる。そして、より価値の高い結合テーブルのみをデータベース装置300に生成することにより、データベースの容量を有効に活用することが可能となる。
なお、上述した各変形例は、単独で用いることはもちろん、これらを組み合わせて用いることもできる。
(実施形態2)
実施形態2では、データ分析者によって発行されたSQLに関するログファイルを利用して、データ分析者を支援する分析支援装置を説明する。
図6は、実施形態2による分析支援装置400、及び、データ収集システム200、データベース装置300を有する分析支援システム20を示している。以下に、分析支援装置400の構成について説明する。なお、データ収集装置200、データベース装置300の各構成は実質的に実施形態1と同じであるため、詳しい説明は省略する。当然のことながら、本実施形態2の分析支援装置400は、実施形態1及び各変形例の結合データ生成システムに適用することが可能である。
1.分析支援装置
本実施形態2の分析支援装置400は、取得部401、解析部402、演算部403、記憶部404、入力部405、決定部406、及び表示部407を備える。解析部402、演算部403、決定部406は、機能的には別であるが、1つの装置、例えば、CPUで実現してもよい。
取得部401は、データベース装置300のログファイル保存部303に保存されたログファイルを取得する。ログファイルは、データ分析者からデータベース装置300に対して発行された複数のSQL(本発明の「命令文」に相当)を有している。
なお、実施形態1のログファイルには、SQLとともに、SQLの処理時間を有していたが、本実施形態2のログファイルは、発行されたSQLの情報のみを有していれば足りる。しかしながら、ログファイルは、当然のことながら、SQL以外の情報を有していてもよい。
解析部402は、取得部401で取得したログファイルに含まれる複数のSQLの構文解析を実行する。解析部402はさらに、構文解析を実行した複数のSQLのうち、特定のデータ項目を結合する命令を含む単数若しくは複数のSQL(本発明の「第1の命令文」に相当)を抽出する。実施形態1と同様、本明細書では、特定のデータ項目として、車両の位置データ(本発明の「第1のデータ項目」に相当)と、車両の車輪速データ(本発明の「第2のデータ項目」に相当)とを結合する命令を含むSQL1を抽出する場合を説明する。
演算部403は、解析部402で抽出されたSQL1の「実行頻度」を求める。以下では、SQL1が発行された回数(以下、実行回数)を実行頻度として求める例を説明する。ここで、後述する記憶部404に、既にSQL1に対応する実行回数が保存されている場合には、取得部401で新たに取得され、解析部で抽出されたSQL1の実行回数と、記憶部に既に保存されているSQL1の実行回数とを演算することにより、実行回数を求める。
ここで、「実行頻度」とは、命令文が実行された回数を直接的又は間接的に示すものであれば足り、命令文の命令処理が完了したかを問わず命令文が実行された回数の他、命令文が実行されて命令処理が完了した回数、命令文の実行回数の変化率等であってもよい。
記憶部404は、演算部403で求めたSQL1の実行回数を保存する。この際、実行回数が、車両の位置データと車輪速データとを特定の結合条件を示す条件句を用いて結合するSQLの実行回数であることを特定して保存する。なお、記憶部404が既にSQL1の実行回数を保存している場合には、演算部403で求めた新たな実行回数の値に更新して保存する。記憶部はさらに、取得部401で取得したSQLを記憶してもよい。
入力部405には、分析支援装置を使用するデータ分析者(本発明の「ユーザ」に相当)によって、分析対象として着目しているデータ項目である分析対象データ項目(本発明の「第1のデータ項目」に相当)が入力される。例えば、車両の位置データの項目が、分析対象データ項目として入力部405に入力される。
入力部(本発明の「第2の入力部」に相当)405にはさらに、後述する表示部407に表示されるデータ項目のうち、データ分析者が選択したデータ項目が入力される。
決定部406は、記憶部404に保存されたSQL1の実行回数に「基づいて」、過去に発行されたSQLにおいて分析対象データ項目と結合されたデータ項目(以下、結合実績データ項目)(本発明の「第2のデータ項目」に相当)、例えば、車両の車輪速データの項目をデータ分析者に表示するか否かを決定する。具体的には、決定部406は、記憶部404に保存された実行回数のうち、分析対象データ項目と他のデータ項目とを結合するSQLの実行回数を抽出し、その中から実行回数が高いSQL(例えば、実行回数が高い順に5つのSQL)において、分析対象データ項目と結合されたデータ項目を結合実績データ項目として、データ分析者に表示することを決定する。
あるいは、決定部406は、記憶部404に保存された実行回数のうち、分析対象データ項目と他のデータ項目とを結合するSQLの実行回数を抽出するとともに、抽出した実行回数と、記憶部404に保存されている回数閾値とを比較する。そして、実行回数が回数閾値「よりも」高いと判定した場合には、そのSQLにおいて分析対象データ項目と結合されたデータ項目を結合実績データ項目として、データ分析者に表示することを決定してもよい。
ここで、本発明の「基づいて」とは、実行頻度を反映して、第2のデータ項目をユーザに表示するか否かを決定していれば足り、実行頻度の値を直接的に用いる場合の他、実行頻度以外の要素も考慮する場合も含む。
表示部407は、決定部406において決定された結合実績データ項目をデータ分析者に表示する。なお、データ分析者に表示する結合実績データ項目は単数または複数のいずれであってもよい。また、表示部407は、結合実績データ項目と共に、分析対象データ項目と結合実績データ項目とを結合する命令を含むSQLの実行回数を表示してもよい。表示部407はさらに、分析対象データ項目と、データ分析者によって選択された結合実績データ項目とを結合するSQLを表示してもよい。
2.分析支援システムの動作
図7、8を用いて、実施形態2の分析支援システム20の動作を説明する。
図7は、分析支援装置400の記憶部404にデータ項目の組み合わせ毎に実行回数を保存する動作を示している。図7のS401乃至S405は図2のS101乃至S105に対応しているため、詳しい説明は省略する。S406において、演算部403は、S405において抽出したSQL、例えば、車両の位置データと車輪速データとを結合する命令を含むSQLの実行回数を求める。S406にて求めた実行回数は、車両の位置データと車輪速データとを結合するSQLの実行回数であることを特定して保存される(S407)。
実施形態1と同様、位置データと車輪速データ以外のデータ項目を結合する命令を含むSQLの実行回数を求めて保存する場合には、S405−S407のステップを同様に実行する。したがって、記憶部404には、結合されるデータ項目の組み合わせ毎の実行回数が保存されることになる。
図8は、記憶部404に保存された実行回数に基づいて、データ分析者に結合実績データ項目を表示する動作を示している。まず、データ分析者によって、入力部405に分析対象データ項目が入力される(S501)。次いで、決定部406は、記憶部404に保存された実行回数のうち、S501にて入力された分析対象データ項目と他のデータ項目とを結合するSQLの実行回数を抽出する(S502)。
図8に示す例では、決定部406は、分析対象データ項目と他のデータ項目とを結合するSQLの実行回数のうち、実行回数が高い上位5位のものを抽出する(S503)。そして、S503にて抽出した実行回数のSQLにおいて、分析対象データ項目と結合されたデータ項目を、結合実績データ項目としてデータ分析者に表示することを決定する(S504)。結合実績データ項目として決定されたデータ項目は、表示部407に表示される(S505)。なお、段落0067にて上述したとおり、データ分析者に表示される結合実績データ項目は実行回数に基づいて決定されていればよく、S503、S504における表示する結合実績データ項目の決定方法は、図8の例に限定されるものではない。
さらに、データ分析者によって、表示部407に表示された結合実績データ項目の中から1以上の結合実績データ項目が選択される(S506)。そして、入力部において選択された結合実績データ項目が入力された場合、分析対象データ項目と、データ分析者によって選択された結合実績データ項目とを結合するSQLを表示部に表示する(S507)。
以上のとおり、実施形態2によれば、データ分析者の分析対象データ項目と結合される頻度が高いデータ項目を、結合実績データ項目としてデータ分析者に表示することにより、データ分析者が、過去の実績に基づいて、分析対象データ項目が他のいかなるデータ項目と結合されていたかを知るのを補助し、データ分析を支援することが可能となる。
なお、実施形態1の変形例2と同様、演算部403は、データベース装置300に対してSQLを発行したデータ分析者の情報に応じて、実行回数に重み付けをしてもよい。例えば、データの分析経験が豊富なデータ分析者によって発行されたSQLに対し、データの分析経験が未熟なデータ分析者によって発行されたSQLよりも重いウエイト量を設定して実行回数を算出する。その結果、有用な結合実績データ項目を表示することが可能となる。
(変形例1)
上記実施形態2では、過去に分析対象データ項目と結合された頻度が高いデータ項目を結合実績データ項目としてデータ分析者に表示しているが、結合実績データ項目に代えて、あるいは、結合実績データ項目に加えて、分析対象データ項目と結合される頻度が高いデータ項目が保存されているデータベース内のテーブルをデータ分析者に表示してもよい。
本変形例1では、決定部406は、記憶部404に保存されたSQL1の実行回数に基づいて、過去に発行されたSQL1において分析対象データ項目と結合されたデータ項目が属するテーブルTを表示部407に表示するか否かを決定する。
なお、1つのテーブルに複数のデータ項目が保存されている場合には、分析対象データ項目と、テーブルに保存されたデータ項目それぞれとを結合するSQLの実行回数を合計するとともに、合計した実行回数に基づいて、テーブルを表示部407に表示するか否かを決定してもよい。
(変形例2)
実施形態2では、表示部407に結合実績データ項目を表示して、データ分析者によるデータ項目の選択を支援する構成を説明した。本変形例では、結合実績データ項目に加えて、あるいは、結合実績データ項目に代えて、それ以外の情報をデータ分析者に表示することにより、データ分析をより一層支援する構成を説明する。実施形態2と同様、図6を用いて本変形例を説明する。
解析部402は、取得部401で取得したログファイルに含まれる複数のSQLの構文解析を実行し、特定のデータ項目と共に使用される特定の「条件句」を含む単数若しくは複数のSQL(本発明の「第2の命令文」に相当)を抽出する。以下の説明では、データ項目として車両の位置データと、特定の条件句として論理和(OR)とを含むSQL1を抽出する場合を説明する。
ここで、本発明の「条件句」とは、命令文において条件を指定するために使用されるものであり、論理演算子(例えば、論理和(OR)、論理積(AND)、否定(NOT)等)や比較演算子(例えば、等号(=)、不等号(<,>)等)はもちろん、これらの論理演算子や比較演算子と共に使用される条件や集合も含まれる。
演算部403は、解析部402で抽出されたSQL1の実行回数(本発明の「第2の実行頻度」に相当)を求める。実施形態2と同様、記憶部404に、既にSQL1の実行回数が保存されている場合には、取得部401で新たに取得され、解析部402で抽出されたSQL1の実行回数と、記憶部404に既に保存されているSQL1の実行回数とを演算することにより、実行回数を求める。
記憶部404は、演算部403で求めたSQL1の実行回数を保存する。この実行回数は、車両の位置データと論理和(OR)とを含むSQLの実行回数であることを特定して保存される。
決定部406は、記憶部404に保存されたSQL1の実行回数に基づいて、過去に発行されたSQLにおいて分析対象データ項目と共に使用された条件句、例えば、論理和の条件句をデータ分析者に表示するか否かを決定する。具体的には、決定部406は、記憶部404に保存された実行回数のうち、条件句による条件の下で分析対象データ項目と他のデータ項目とを結合するSQLの実行回数を抽出し、その中から実行回数が高いSQLにおいて使用される条件句を表示部407に表示することを決定する。実施形態2と同様、実行回数と回数閾値とを比較し、比較結果に基づいて、条件句をデータ分析者に表示することを決定してもよい。
表示部407は、決定部406において決定された条件句を表示する。入力部405には、表示部407に表示される条件句のうち、データ分析者によって選択された条件句が入力される。そして、入力部405に、選択された条件句が入力された場合、表示部407はさらに、分析対象データ項目と、データ分析者によって選択された条件句とを含むSQLを表示する。
図9は、データ分析者によって分析対象データ項目が入力され、さらに、結合実績テーブル、結合実績データ項目、及び条件句が表示された画面の一例を示している。
図9の例では、データ分析者は、分析対象データ項目として「データ列C_1」を入力している。その結果、「データ列C_1」と結合される頻度が高いデータ項目が保存されたテーブルとして、「テーブルA」「テーブルM」「テーブルJ」が表示され、「データ列C_1」と結合される頻度が高いデータ項目として、「データ列A_1」「データ列A_9」「データ列M_6」が表示されている。さらに、「データ列C_1」と共に使用される頻度が高い条件句として、「内部」「左外部」「完全外部」が表示され、データを集約する条件句として、データ収集の「時期(Month)」や「地域(Area)」が表示されている。なお、各項目の右側の棒グラフは、各項目の実行頻度を示している。例えば、集約条件句として、データ収集の「時期」は「地域」の約2倍の頻度で使用されていることを示している。
なお、図9に示す条件句のうち、「内部(INNER JOIN)」とは、積集合のことであり、SQLにおいて先に記載したテーブル名をL、後に記載したテーブル名をRとすると、L∩Rである。「両テーブルで識別子と時刻が同じである」といった結合条件に基づき両テーブルの行同士を結合したものを出力する。結合条件を適用した結果、テーブルR側に結合対象行がなかったテーブルLの行と、テーブルL側に結合対象行がなかったテーブルRの行は出力されない。
「左外部(LEFT OUTER JOIN)」とは、差集合L−Rに積集合L∩Rを加えたものである。積集合に加えて、結合条件を適用した結果、結合対象行がなかったテーブルLの行もテーブルRの行と結合しない形で出力される。
また、「完全外部(FULL OUTER JOIN)」とは、和集合L∪Rである。結合条件に合致した両テーブルの行は結合された条件で出力され、加えて結合条件に合致しなかったテーブルLおよびテーブルRの行も他方と結合しない形で出力される。
当然のことながら、条件句は、これらの例に限定されるものではない。
データ分析者は、図9に示す画面に表示された結合実績テーブル、結合実績データ項目、及び条件句から、データ分析に使用する項目をそれぞれ選択する。図10は、データ分析者が、図9に示す画面を用いて、データ分析に使用する項目を選択した後の画面を示す一例である。図10では、結合実績テーブルから「テーブルA」、結合実績データ項目から「A_1」「A_9」、条件句として「地域(Area)」が選択されており、これらを全て含むSQLが画面下部に表示されている。
以上の変形例1、2によれば、データ分析者の分析対象データ項目と結合される頻度が高いテーブルや条件句をデータ分析者に表示することにより、データ分析者は、過去の実績に基づいて、分析対象データ項目が他のいかなるテーブルや条件句と結合されていたかを知るのを補助し、データ分析を支援することが可能となる。
本実施形態2による分析支援装置の発明の部分は、以下の通りである。
(発明1)
データを保存するデータベース装置に対して発行された複数の命令文の分析を行う分析支援装置(400)であって、
前記データベース装置から、前記複数の命令文を取得する取得部(401)と、
構文解析により、前記複数の命令文のうち第1のデータ項目と第2のデータ項目とを結合する命令を含む第1の命令文を抽出する解析部(402)と、
前記第1の命令文の第1の実行頻度を求める演算部(403)と、
当該分析支援装置を使用するユーザにより前記第1のデータ項目が入力される入力部(405)と、
前記第1の実行頻度に基づいて、前記第2のデータ項目を表示することを決定する決定部(406)と、
前記第2のデータ項目を表示する表示部(407)と、
を備える、分析支援装置(400)。
(発明2)
前記決定部は、前記第2のデータ項目が属するテーブルを表示することを決定し、
前記表示部は、前記テーブルを表示する、
発明1記載の分析支援装置。
(発明3)
前記解析部はさらに、前記複数の命令文のうち、前記第1のデータ項目と条件句を含む第2の命令文を抽出し、
前記演算部は、前記第2の命令文の第2の実行頻度を求め、
前記決定部は、前記第2の実行頻度に基づいて、前記条件句を表示することを決定し、
前記表示部は、前記条件句を表示する、
発明1記載の分析支援装置。
(発明4)
前記表示部に表示されるとともに前記ユーザにより選択された前記第2のデータ項目が入力される第2の入力部(405)をさらに備え、
前記第2の入力部に前記第2のデータ項目が入力された場合、前記表示部は前記第1の命令文を表示する、
発明1記載の分析支援装置。
(発明5)
前記表示部に表示されるとともに前記ユーザにより選択された前記条件句が入力される第2の入力部(405)をさらに備え、
前記第2の入力部に前記条件句が入力された場合、前記表示部は前記第2の命令文を表示する、
発明3の分析支援装置。
(発明6)
データを保存するデータベース装置に対して発行された複数の命令文の分析を行う分析プログラムであって、
前記データベース装置から、前記複数の命令文を取得するステップと、
構文解析により、前記複数の命令文のうち第1のデータ項目と第2のデータ項目とを結合する命令を含む第1の命令文を抽出するステップと、
前記第1の命令文の第1の実行頻度を求めるステップと、
当該分析支援装置を使用するユーザにより前記第1のデータ項目が入力されるステップと、
前記第1の実行頻度に基づいて、前記第2のデータ項目を表示することを決定するステップと、
前記第2のデータ項目を表示するステップと、
を含む、分析支援プログラム。
(総括)
以上、本発明の各実施形態における結合データ生成システム、分析支援装置の特徴について説明した。
上記実施形態で使用した用語は例示であるので、同義の用語、あるいは同義の機能を含む用語に置き換えてもよい。
実施形態の説明に用いたブロック図は、装置等の構成を機能毎に分類及び整理したものである。これらの機能ブロックは、ハードウェア又はソフトウェアの任意の組み合わせで実現される。また、機能を示したものであることから、かかるブロック図は方法の発明、及び当該方法を実現するプログラムの発明の開示としても把握できるものである。
なお、本発明の結合データ生成方法は、製造方法の発明であるため、結合データの生成方法についてはもちろん、当該方法によって生成された結合データに対しても権利範囲が及ぶことに留意されたい。
各実施形態に記載した処理、フロー、及び方法として把握できる機能ブロックについては、一のステップで他のステップの結果を利用する関係にある等の制約がない限り、順序を入れ替えても良い。
各実施形態、及び本発明で使用する「第1」「第2」の用語は、同種の2以上の構成や方法を区別するために使用しており、順序や優劣を限定するものではない。
本発明は、各実施形態で説明した構成及び機能を有する専用のハードウェアで実現できるだけでなく、メモリやハードディスク等の記憶媒体に記憶した本発明を実現するためのプログラム、及びこれを実行可能な専用又は汎用CPU及びメモリ等を有する汎用のハードウェアとの組み合わせとしても実現できる。
専用や汎用のハードウェアの記憶媒体(外部記憶装置(ハードディスク、USBメモリ、CD/BD等)、内部記憶装置(RAM、ROM等))に格納されるプログラムは、記憶媒体を介して、あるいは記憶媒体を介さずにサーバから通信回線を経由して、専用又は汎用のハードウェアに提供することもできる。これにより、プログラムのアップグレードを通じて常に最新の機能を提供することができる。
本明細書においては、主として自動車に関するデータの結合データ生成システム及び分析支援装置を説明したが、任意のデータを結合するシステム及び分析支援装置に適用することが可能である。
10 結合データ生成システム、100 分析支援装置、200 データ収集装置、300 データベース装置、101 取得部、102 解析部、103 演算部、104 記憶部、105 生成部、106 出力部、107 メッセージ生成部、108 表示部、109 ユーザ指示取得部、201 データ受信部、301 データベース

Claims (8)

  1. データを保存するデータベース装置(200,300)に対して発行された複数の命令文の分析を行う分析支援装置(100)であって、
    前記データベース装置から、前記複数の命令文、及び前記複数の命令文のそれぞれに対応する実行負荷を示す負荷情報を取得する取得部(101)と、
    構文解析により、前記複数の命令文のうち第1のデータ項目と第2のデータ項目とを結合する命令を含む第1の命令文を抽出する解析部(102)と、
    前記第1の命令文に対応する前記実行負荷を集計した集計負荷を求める演算部(103)と、
    前記集計負荷に基づいて、前記第1のデータ項目と前記第2のデータ項目とを結合する第2の命令文を生成する生成部(105)と、
    前記第2の命令文を前記データベース装置に出力する出力部(106)と、
    を有する、分析支援装置(100)。
  2. 負荷閾値を記憶する記憶部(104)をさらに備え、
    前記生成部は、前記集計負荷と前記負荷閾値とを比較し、前記集計負荷が前記負荷閾値よりも高い場合に、前記第2の命令文を生成する、
    請求項1記載の分析支援装置。
  3. 前記集計負荷に基づいて、当該分析支援装置のユーザに対して、前記第1のデータ項目と前記第2のデータ項目とを結合した結合データを前記データベース装置に保存することを推奨するメッセージを生成して表示するメッセージ制御部(107,108)と、
    前記ユーザによる、前記結合データを前記データベース装置に保存する指示を取得するユーザ指示取得部(109)と、
    を備え、
    前記生成部は、前記指示を取得した場合に、前記第2の命令文を生成する、
    請求項1記載の分析支援装置。
  4. 前記取得部はさらに、前記データベース装置に対して前記複数の命令文のそれぞれを発行したユーザの情報を取得し、
    前記演算部は、前記ユーザの情報に応じて前記実行負荷に重み付けをして前記集計負荷を求める、
    請求項1記載の分析支援装置。
  5. 前記生成部はさらに、前記第1のデータ項目と前記第2のデータ項目とを結合した結合データを保存する結合テーブルを生成する第3の命令文を生成し、
    前記出力部は、前記第3の命令文を前記データベース装置に出力する、
    請求項1記載の分析支援装置。
  6. データを保存するデータベース装置に対して発行された複数の命令文の分析を行う分析支援プログラムであって、
    前記データベース装置から、前記複数の命令文、及び前記複数の命令文のそれぞれに対応する実行負荷を示す負荷情報を取得するステップと、
    構文解析により、前記複数の命令文のうち第1のデータ項目と第2のデータ項目とを結合する命令を含む第1の命令文を抽出するステップと、
    前記第1の命令文に対応する前記実行負荷を集計した集計負荷を求めるステップと、
    前記集計負荷に基づいて、前記第1のデータ項目と前記第2のデータ項目とを結合する第2の命令文を生成するステップと、
    前記第2の命令文を前記データベース装置に出力するステップと、
    を含む、分析支援プログラム。
  7. データを保存するデータベース装置(200,300)と、前記データベース装置に対して発行された複数の命令文の分析を行う分析支援装置(100)と、を有する結合データ生成システム(10)であって、
    前記分析支援装置は、
    前記データベース装置から、前記複数の命令文、及び前記複数の命令文のそれぞれに対応する実行負荷を示す負荷情報を取得する取得部(101)と、
    構文解析により、前記複数の命令文のうち第1のデータ項目と第2のデータ項目とを結合する命令を含む第1の命令文を抽出する解析部(102)と、
    前記第1の命令文に対応する前記実行負荷を集計した集計負荷を求める演算部(103)と、
    前記集計負荷に基づいて、前記第1のデータ項目と前記第2のデータ項目とを結合する第2の命令文を生成する生成部(105)と、
    前記第2の命令文を前記データベース装置に出力する出力部(106)と、
    を有し、
    前記データベース装置(200,300)は、
    前記データを受信する受信部(201)と、
    前記第2の命令文に基づいて、前記データのうち、前記第1のデータ項目に該当する第1のデータ、及び前記第2のデータ項目に該当する第2のデータを結合した結合データを保存する保存部(301)と、
    を有する、結合データ生成システム(10)。
  8. データを保存するデータベース装置(200,300)と、前記データベース装置に対して発行された複数の命令文の分析を行う分析支援装置(100)と、を有する結合データ生成システムで実行される結合データ生成方法(10)であって、
    前記分析支援装置において、
    前記データベース装置から、前記複数の命令文、及び前記複数の命令文のそれぞれに対応する実行負荷を示す負荷情報を取得するステップと、
    構文解析により、前記複数の命令文のうち第1のデータ項目と第2のデータ項目とを結合する命令を含む第1の命令文を抽出するステップと、
    前記第1の命令文に対応する前記実行負荷を集計した集計負荷を求めるステップと、
    前記集計負荷に基づいて、前記第1のデータ項目と前記第2のデータ項目とを結合する第2の命令文を生成するステップと、
    前記第2の命令文を前記データベース装置に出力するステップと、
    前記データベース装置において、
    前記データを受信するステップと、
    前記第2の命令文に基づいて、前記データのうち、前記第1のデータ項目に該当する第1のデータ、及び前記第2のデータ項目に該当する第2のデータを結合した結合データを保存するステップと、
    を含む、結合データ生成方法。
JP2018191881A 2018-10-10 2018-10-10 分析支援装置、及び結合データ生成システム Active JP7070310B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018191881A JP7070310B2 (ja) 2018-10-10 2018-10-10 分析支援装置、及び結合データ生成システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018191881A JP7070310B2 (ja) 2018-10-10 2018-10-10 分析支援装置、及び結合データ生成システム

Publications (2)

Publication Number Publication Date
JP2020060953A true JP2020060953A (ja) 2020-04-16
JP7070310B2 JP7070310B2 (ja) 2022-05-18

Family

ID=70219960

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018191881A Active JP7070310B2 (ja) 2018-10-10 2018-10-10 分析支援装置、及び結合データ生成システム

Country Status (1)

Country Link
JP (1) JP7070310B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0916617A (ja) * 1995-06-30 1997-01-17 Omron Corp データベースチューニング支援方法及び装置
JP2004272747A (ja) * 2003-03-11 2004-09-30 Hitachi Information Systems Ltd データベースのデータ取得方法及び取得システム
JP2007066017A (ja) * 2005-08-31 2007-03-15 Internatl Business Mach Corp <Ibm> データベースに対するアクセスを制御するシステム、およびその方法
WO2015025386A1 (ja) * 2013-08-21 2015-02-26 株式会社日立製作所 データ処理システム、データ処理方法およびデータ処理装置
JP2016162016A (ja) * 2015-02-27 2016-09-05 富士通株式会社 管理情報取得プログラム、管理情報取得方法及び管理情報取得装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0916617A (ja) * 1995-06-30 1997-01-17 Omron Corp データベースチューニング支援方法及び装置
JP2004272747A (ja) * 2003-03-11 2004-09-30 Hitachi Information Systems Ltd データベースのデータ取得方法及び取得システム
JP2007066017A (ja) * 2005-08-31 2007-03-15 Internatl Business Mach Corp <Ibm> データベースに対するアクセスを制御するシステム、およびその方法
WO2015025386A1 (ja) * 2013-08-21 2015-02-26 株式会社日立製作所 データ処理システム、データ処理方法およびデータ処理装置
JP2016162016A (ja) * 2015-02-27 2016-09-05 富士通株式会社 管理情報取得プログラム、管理情報取得方法及び管理情報取得装置

Also Published As

Publication number Publication date
JP7070310B2 (ja) 2022-05-18

Similar Documents

Publication Publication Date Title
US8868580B2 (en) Data profiling
US9727438B2 (en) Evaluating dataflow graph characteristics
US9811557B2 (en) Optimizing query statements in relational databases
CN104778185B (zh) 异常结构化查询语言sql语句确定方法及服务器
US7747585B2 (en) Parallel uncompression of a partially compressed database table determines a count of uncompression tasks that satisfies the query
WO2014089190A1 (en) Integrating event processing with map-reduce
US20150095719A1 (en) Data preprocessing device and method thereof
US20180046561A1 (en) System, controller, method, and program for executing simulation jobs
US7747449B2 (en) Method and computer system for providing a cost estimate for sizing a computer system
US8244570B2 (en) Business flow analysis method and apparatus
US20100077382A1 (en) Computer-readable recording medium string a bug detection support program, similar structure identification information list output program, bug detection support apparatus, and bug detection support method
EP2199905A1 (en) Lifecycle management and consistency checking of object models using application platform tools
US9600786B2 (en) Optimizing analytic flows
CN102393842A (zh) 指令处理装置和指令处理方法
US20160357844A1 (en) Database apparatus, search apparatus, method of constructing partial graph, and search method
US20060175393A1 (en) Analysis technique of computer system
JP7070310B2 (ja) 分析支援装置、及び結合データ生成システム
CN106649584B (zh) 一种主从式数据库系统中的索引处理方法和装置
CN110298581B (zh) 确定风险指标值的方法及装置
CN101697170A (zh) 一种动态选择数据库的方法和装置
CN110580170A (zh) 软件性能风险的识别方法及装置
US11580131B2 (en) Methods and apparatus for monitoring configurable performance indicators
KR20160123160A (ko) 복합소재 구조물 해석 시스템 및 그 방법
CN110569155A (zh) 数据处理方法及其系统、电子设备和介质
CN110083624A (zh) 流数据处理方法、设备、数据处理设备、计算机介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210413

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220307

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220418

R151 Written notification of patent or utility model registration

Ref document number: 7070310

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151