JP6588598B1 - データ管理装置およびデータ管理方法 - Google Patents

データ管理装置およびデータ管理方法 Download PDF

Info

Publication number
JP6588598B1
JP6588598B1 JP2018102345A JP2018102345A JP6588598B1 JP 6588598 B1 JP6588598 B1 JP 6588598B1 JP 2018102345 A JP2018102345 A JP 2018102345A JP 2018102345 A JP2018102345 A JP 2018102345A JP 6588598 B1 JP6588598 B1 JP 6588598B1
Authority
JP
Japan
Prior art keywords
data
data flow
flow path
test
analysis unit
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.)
Active
Application number
JP2018102345A
Other languages
English (en)
Other versions
JP2019207538A (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.)
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 JP2018102345A priority Critical patent/JP6588598B1/ja
Application granted granted Critical
Publication of JP6588598B1 publication Critical patent/JP6588598B1/ja
Publication of JP2019207538A publication Critical patent/JP2019207538A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】ETLプログラムに係るデータを管理することができるデータ管理装置を提供する。【解決手段】予め定められた定義情報に基づいて、ETLプログラムにおける処理のまとまりを示すステップごとに、データが流れる量が変化するステップを示すデータ量変化点であるか否かを解析し、データ量変化点においてデータが流れる先を示す遷移先のステップを解析するETLプログラム解析部と、ETLプログラム解析部で解析された遷移先のステップごとに、ETLプログラムに入力されたデータが含まれているか否かを判定し、ETLプログラムにおいてデータが流れる経路を示すデータフローパスをデータに対応付けるデータフローパス解析部と、データフローパス解析部で対応付けられたデータおよびデータフローパスを出力する出力制御部と、を設けるようにした。【選択図】図1

Description

本発明はデータ管理装置およびデータ管理方法に関し、例えばETL(Extract / Transform / Load)プログラムに係るデータに適用して好適なものである。
近年、企業内に散在する情報資産を統合、分析などするデータマネジメントが注目され、様々な形式のデータを統合して活用するために、ETLプログラムが導入されている。
ETLプログラムでは、基幹系システムからデータを抽出し、抽出したデータをデータウェアハウスで利用しやすいように変換し、データウェアハウスに流し込む処理が行われる。
近時、ETL処理をしてデータを提供するデータ管理システムからデータを取得する際に、データの取得単位に関わらず効率的なデータ取得を可能とする技術が提案されている(特許文献1参照)。
特開2016−091317号公報
特定のデータが他のデータ資産に及ぼす影響などの調査をするためにデータの流れを追跡したいとき、ETLプログラムの負荷テスト、性能テスト等のテストに用いるデータ(テストデータ)を作成したいとき等、ETLプログラムに係るデータの管理においては、ETLプログラムにおけるデータの流れを把握する必要がある。
ここで、特許文献1に記載の技術では、効率的にデータを取得することはできるが、ETLプログラムにいてどのように各データが流れているかは把握されていない。
また、ETLプログラムにおける各ステップ(予め定義された処理のまとまり)において、JavaScript(登録商標)の実行、SQL(Structured Query Language)の実行、外部プログラムの呼び出しなどができるため、機械的に厳密な静的解析により各データの流れを把握することは困難である。
このように、ETLプログラムの特徴として、処理の過程でデータの加工を行うことが多く、かつ、複数の分岐を経由するため、任意のステップに到達するための条件は複雑となり、ETLプログラムにおけるデータの流れを把握するために、時間がかかってしまうという問題がある。
本発明は以上の点を考慮してなされたもので、ETLプログラムに係るデータを管理することができるデータ管理装置、データ管理方法などを提案しようとするものである。
かかる課題を解決するため本発明においては、予め定められた定義情報に基づいて、ETL(Extract/Transform/Load)プログラムにおける処理のまとまりを示すステップごとに、データが流れる量が変化するステップを示すデータ量変化点であるか否かを解析し、前記データ量変化点においてデータが流れる先を示す遷移先のステップを解析するETLプログラム解析部と、前記ETLプログラム解析部で解析された遷移先のステップごとに、前記ETLプログラムに入力されたデータが含まれているか否かを判定し、前記ETLプログラムにおいて前記データが流れる経路を示すデータフローパスを前記データに対応付けるデータフローパス解析部と、前記データフローパス解析部で対応付けられたデータおよびデータフローパスを出力する出力制御部と、を設けるようにした。
また本発明においては、ETLプログラム解析部が、予め定められた定義情報に基づいて、ETL(Extract/Transform/Load)プログラムにおける処理のまとまりを示すステップごとに、データが流れる量が変化するステップを示すデータ量変化点であるか否かを解析し、前記データ量変化点においてデータが流れる先を示す遷移先のステップを解析する第1のステップと、データフローパス解析部が、前記ETLプログラム解析部で解析された遷移先のステップごとに、前記ETLプログラムに入力されたデータが含まれているか否かを判定し、前記ETLプログラムにおいて前記データが流れる経路を示すデータフローパスを前記データに対応付ける第2のステップと、出力制御部が、前記データフローパス解析部で対応付けられたデータおよびデータフローパスを出力する第3のステップと、を設けるようにした。
上記構成によれば、対応付けられたデータおよびデータフローパスが出力されるので、例えば、ユーザは、ETLプログラムにおけるデータの流れを把握できるようなる。
本発明によれば、ETLプログラムに係るデータを管理することができる。
第1の実施の形態によるデータ管理システムに係る構成の一例を示す図である。 第1の実施の形態による解析結果管理テーブルの一例を示す図である。 第1の実施の形態によるデータフローパス管理テーブルの一例を示す図である。 第1の実施の形態による特徴管理テーブルの一例を示す図である。 第1の実施の形態によるデータ解析処理に係るフローチャートの一例を示す図である。 第1の実施の形態によるETLプログラム解析処理に係るフローチャートの一例を示す図である。 第1の実施の形態によるデータフローバランス解析処理に係るフローチャートの一例を示す図である。 第1の実施の形態によるデータフローパス解析処理に係るフローチャートの一例を示す図である。 第1の実施の形態による特徴抽出処理に係るフローチャートの一例を示す図である。 第1の実施の形態によるテストデータの生成に関する処理に係るフローチャートの一例を示す図である。 第1の実施の形態によるテストデータ生成処理に係るフローチャートの一例を示す図である。 第1の実施の形態によるテストデータ検証処理に係るフローチャートの一例を示す図である。 第1の実施の形態による入力ファイル登録画面の一例を示す図である。 第1の実施の形態によるETLプログラムの一例を示す図である。 第1の実施の形態によるデータフローパスの判定方法を説明するための図である。 第1の実施の形態によるデータフローパスの判定方法を説明するための図である。 第1の実施の形態による統計処理エンジンを説明するための図である。 第1の実施の形態による解析結果表示画面の一例を示す図である。 第1の実施の形態による生成条件設定画面の一例を示す図である。
以下図面について、本発明の一実施の形態を詳述する。
本実施の形態では、特定のデータが他のデータ資産に及ぼす影響などの調査をするためにデータの流れを追跡したいとき、ETLプログラムの負荷テスト、性能テスト等のテストに用いるデータ(テストデータ)を作成したいとき等に、ETLプログラムにおけるデータの流れを把握可能な構成について説明する。
例えば、データ・アーキテクチャの複雑化に伴い、様々なデータがどのように利用され、関連し合っているかを追跡して管理することの重要性が高まっている。ETLプログラムにおけるデータの流れを把握することは、特定のデータが他のデータ資産に及ぼす影響を理解するために役立つ。
また、例えば、ETLプログラムを組み込んだシステムの開発では、顧客から受領した実データに基づいてテストデータを作成し、負荷テスト、性能テスト等のテストを実施する手法がとられている。テストの際は、受領した実データに基づいてデータ量およびデータフローバランスを調節し、テストの内容に応じた様々なバリエーションのテストデータを作成してテストすることで、システムの品質向上が図られている。
この際、一般的には、作成したテストデータをETLプログラムに処理させることで、各ステップの入出力データ量を取得することができるため、この情報に基づいてテストデータ作成者は、データフローバランスを確認する。目的のバランスになっていない場合、各ステップの処理を解析して条件を洗い出し、テストデータを条件に合うように再作成(または修正)する。
上述したように、ETLプログラムの特徴として、処理の過程でデータの加工を行うことが多く、かつ複数の分岐を経由するため、任意のステップに到達するための条件は複雑となり、テストデータの作成には非常に工数がかかる。また、各ステップの延長でJavaScript(登録商標)の実行、SQL(Structured Query Language)の実行、外部プログラムの呼び出しなどができるため、機械的に厳密な静的解析を行うことは困難である。
この点、ETLプログラムにおけるデータの流れを把握することで、ETLプログラムのテストにおいて、任意のデータフローバランスのテストデータを容易に作成することができる。
本実施の形態では、ETLプログラムにおけるデータの流れの把握に係る構成(データ管理)について主に説明する。
(1)第1の実施の形態
図1において、1は全体として第1の実施の形態によるデータ管理システムを示す。
データ管理システム1は、データ管理装置10、入力装置11、出力装置12などを含んで構成される。
データ管理装置10は、サーバ装置等の計算機(コンピュータ)であり、CPU(Central Processing Unit)100、主記憶装置110、補助記憶装置120等を含んで構成される。
CPU100は、プロセッサ、マイクロプロセッサ、コプロセッサ、マイクロコントローラなどである。主記憶装置110は、例えば、RAM(Random Access Memory)、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)などの半導体メモリである。補助記憶装置120は、HDD(Hard Disk Drive)等の磁気ディスク、MO(Magneto-Optical Disk)等の光ディスク、磁気テープ、フラッシュメモリ等の半導体メモリなどである。
データ管理装置10の機能(ETLプログラム解析部111、データフローバランス解析部112、データフローパス解析部113、特徴抽出部114、テストデータ生成部115、テストデータ検証部116、インタフェース部117など)は、例えば、CPU100がプログラムを主記憶装置110に読み出して実行すること(ソフトウェア)により実現されてもよいし、専用の回路などのハードウェアにより実現されてもよいし、ソフトウェアとハードウェアとが組み合わされて実現されてもよい。また、データ管理装置10の機能の一部は、データ管理装置10と通信可能な他のコンピュータにより実現されてもよい。
ETLプログラム解析部111は、例えば、予め定められた定義情報に基づいて、ETLプログラムにおける処理のまとまりを示すステップごとに、データが流れる量が変化するステップを示すデータ量変化点であるか否かを解析し、データ量変化点においてデータが流れる先を示す遷移先のステップを解析する。
データフローバランス解析部112は、例えば、ETLプログラム解析部111により解析されたデータ量変化点ごとに、ETLプログラムに入力されたデータが遷移先のステップに流れる量および遷移先のステップに流れない量をデータフローバランスとして求める。
データフローパス解析部113は、例えば、ETLプログラム解析部111で解析された遷移先のステップごとに、ETLプログラムに入力されたデータが含まれているか否かを判定し、ETLプログラムにおいてデータが流れる経路を示すデータフローパスをデータに対応付ける。
特徴抽出部114は、例えば、ETLプログラムに入力されたデータのうち、同じデータフローパスが対応付けられたデータの集合の各々について、データの項目ごとに特徴を抽出する。
テストデータ生成部115は、例えば、特徴抽出部114により抽出された項目の特徴に基づいて、テストデータを生成する。
テストデータ検証部116は、例えば、テストデータ生成部115により生成されたテストデータをデータフローバランス解析部112に処理させて求められたデータフローバランスが生成条件のデータフローバランスを満たしているか否かを判定する。また、テストデータ検証部116は、生成条件のデータフローバランスを満たしていないと判定した場合、テストデータ生成部115により生成されたテストデータ(なお、後述の仮テストデータであってもよいし、教師データであってもよい。)が一定量を超えたか否かを判定する。
なお、テストデータ検証部116により一定量を超えていないと判定された場合、テストデータ生成部115は、特徴抽出部114により抽出された項目の特徴に基づいて、更にテストデータを生成する。他方、テストデータ検証部116により一定量を超えたと判定された場合、特徴抽出部114は、入力されたデータと、テストデータ生成部115により生成されたテストデータとのうち、同じデータフローパスが対応付けられたデータの集合の各々について、データの項目ごとに特徴を抽出する。
インタフェース部117は、入力装置11からの入力を制御したり(入力制御部の一例)、出力装置12への出力を制御したりする(出力制御部の一例)。インタフェース部117は、例えば、データフローパス解析部113で対応付けられたデータおよびデータフローパスを出力装置12に出力する。
なお、データ管理装置10の機能の詳細については、図5〜図12を用いて後述する。
また、補助記憶装置120は、各種の情報(解析結果管理テーブル121、データフローパス管理テーブル122、特徴管理テーブル123等)を記憶する。なお、解析結果管理テーブル121、データフローパス管理テーブル122、特徴管理テーブル123については、図2〜図4を用いて後述する。
入力装置11は、ユーザが操作可能なキーボード、ポインティングデバイス等の外部装置であり、ネットワーク、ケーブルなどの通信経路13を介してデータ管理装置に接続される。
出力装置12は、ディスプレイ、プリンタ、スピーカ等の外部装置であり、通信経路13を介してデータ管理装置10に接続される。例えば、出力装置12は、各種の画面(後述の入力ファイル登録画面20、解析結果表示画面70、生成条件設定画面80など)を表示したり、(例えば、データフローパス解析部113で対応付けられたデータおよびデータフローパス)を紙などの媒体に印刷したりする。
なお、データ管理装置10は、入力装置11および出力装置12を含んで構成されるノートパソコン、タブレット端末等であってもよい。
図2は、解析結果管理テーブル121の一例を示す図である。
解析結果管理テーブル121には、ETLプログラム解析部111で抽出されたステップに係る情報と、データフローバランス解析部112で算出されたデータフローに係る情報とが格納される。
より具体的には、解析結果管理テーブル121には、ETLプログラムを識別可能な名称を示すETLプログラム名、データ量(レコード数)が変化するステップを示すデータ量変化点、データ量変化点からの遷移先のステップを示す遷移先ステップ、各ステップで推移するデータ量の割合を示すデータフローバランスの情報が対応付けられて格納されている。本例では、ETLプログラム名およびデータ量変化点が複合主キーとして用いられる。
図3は、データフローパス管理テーブル122の一例を示す図である。
データフローパス管理テーブル122には、データフローパス解析部113で抽出されたデータフローパスに係る情報が格納される。
より具体的には、データフローパス管理テーブル122には、ETLプログラム名、データ入力が行われるステップを識別可能な名称を示すデータ入力ステップ名、データを識別可能な名称を示すデータ名、データを識別可能なデータID、データフローパスの情報が対応付けられて格納されている。本例では、ETLプログラム名、データ入力ステップ名、データ名、およびデータIDが複合主キーとして用いられる。
図4は、特徴管理テーブル123の一例を示す図である。
特徴管理テーブル123には、特徴抽出部114で抽出された特徴に係る情報が格納される。
より具体的には、特徴管理テーブル123には、ETLプログラム名、データ入力ステップ名、データフローパス、カラム名、特徴(関数)の情報が対応付けられて格納されている。本例では、ETLプログラム名、データ入力ステップ名、データフローパス、およびカラム名が複合主キーとして用いられる。
図5は、ETLプログラムに入力されるデータの流れを解析する処理(データ解析処理)に係るフローチャートの一例を示す図である。
まず、インタフェース部117は、ETLプログラムおよび実データの入力を受け付ける(ステップS100)。例えば、インタフェース部117は、出力装置12に表示される入力ファイル登録画面20を介して、ETLプログラムおよび実データの入力を受け付ける。なお、入力ファイル登録画面20については、図13を用いて説明する。
ここで、実データとは、顧客のシステム環境にある実際のデータをいい、一または複数の項目の情報を含む複数のレコードを含んで構成される。実データの項目については、特に限定されるものではないが、本実施の形態では、予定ID、予定開始日時、予定完了日時、実績ID、実績開始日時、実績完了日時、工数、および緊急度であるケースを例に挙げて適宜説明する。
図13は、入力ファイル登録画面20の一例を示す図である。
入力ファイル登録画面20では、画面上部に、解析対象のETLプログラムを入力するためのファイルパス入力欄21および参照ボタン22が設けられている。ファイルパス入力欄21には、ETLプログラム(ファイル)が格納されている場所を示すファイルパスが入力される。参照ボタン22では、ファイルシステムを参照してETLプログラムのファイルを選択可能である。
例えば、ユーザは、入力装置11を操作して、参照ボタン22をクリックしてファイルシステムを参照し、ETLプログラムのktrファイルを選択することで、選択されたktrファイルのファイルパスがファイルパス入力欄21にセットされる。
また、入力ファイル登録画面20では、画面下部に、解析対象の実データを入力するためのデータ入力ステップ入力欄23とファイルパス入力欄24と参照ボタン25とユニークキー入力欄26とが設けられている。データ入力ステップ入力欄23には、実データの入力を行うステップの名称(データ入力ステップ名)が入力される。ファイルパス入力欄24には、実データ(ファイル)が格納されている場所を示すファイルパスが入力される。参照ボタン25では、ファイルシステムを参照して実データのファイルを選択可能である。ユニークキー入力欄26には、実データのユニークキーの列名(例えば、実データの予定ID)が入力される。なお、列名は、1つの項目により指定されることも、複数の項目により指定されることもある。
例えば、ユーザは、入力装置11を操作して、ETLプログラムのデータ入力ステップ名、実データ、およびユニークキーを入力する。データ入力ステップが複数ある場合、ユーザは、必要に応じて行を追加ボタン27により追加し、データ入力ステップに対応する実データおよび実データのユニークキーを指定する。
なお、入力については、ファイルからの入力に限られるものではなく、例えば、DB(database)からの入力であってもよい。この場合、ファイルパスに代えて、DBへのアクセス情報(DBのIPアドレス、ユーザ名、パスワード、テーブル名)を入力可能とする。
ユーザは、入力ファイル登録ボタン28をクリックすることで、実データの解析を指示する(後述のETLプログラム解析処理が開始される)。
続いて、ETLプログラム解析処理が行われる(ステップS200)。なお、詳細については図6を用いて後述するが、ETLプログラム解析処理では、ETLプログラムのステップの組み合わせパターンからデータ量変化点が洗い出される。
続いて、データフローバランス解析処理が行われる(ステップS300)。なお、詳細については図7を用いて後述するが、データフローバランス解析処理では、ETLプログラムに実データを処理させ、各ステップの入出力データ量から各データ量変化点のデータフローバランスが算出される。
続いて、特徴抽出処理が行われる(ステップS400)。なお、詳細については図9を用いて後述するが、特徴抽出処理では、同じデータフローパスのデータ群に対して統計処理が行われ、データフローパスごとのデータの特徴が抽出される。
続いて、インタフェース部117は、解析処理の結果(解析結果)を出力装置12に出力し(ステップS500)、データ解析処理を終了する。例えば、インタフェース部117は、データフローバランスおよび各レコードのデータフローパスが含まれる解析結果表示画面70を出力装置12に表示する。解析結果表示画面70については、図18を用いて後述する。
図6は、ETLプログラム解析処理に係るフローチャートの一例を示す図である。
まず、ETLプログラム解析部111は、入力されたETLプログラムを開く(ステップS210)。例えば、ETLプログラム解析部111は、入力ファイル登録画面20を介して指定されたETLプログラムを開く。
続いて、ETLプログラム解析部111は、ETLプログラムのステップ(ステップ定義)ごとに、ステップS220〜ステップS240を繰り返す。ETLプログラム解析部111は、全てのステップについて処理を行うと、ETLプログラム解析処理を終了する。ステップ定義とは、ETLプログラムに含まれるステップをテキストで定義したものである。なお、ステップ定義については、図14を用いて説明する。
図14は、ETLプログラムの一例(ステップ定義30の一例)を示す図である。
ステップ定義30では、XML(Extensible Markup Language)形式で定義した例を示すが、例えば、C、Java(登録商標)、Pythonなどのプログラミング言語、SQL文、XML形式、JSON(JavaScript Object Notation)形式などの形式であってもよい。
ステップ定義30には、ステップのタイプ、遷移元のステップの名称、遷移先のステップの名称などが記述されている。例えば、<type>識別子に「FilterRows」が指定されていた場合、このステップは、2つの分岐を持つ条件分岐ステップであり、条件判定が「True」の場合は<send_true_to>識別子で指定されているステップに遷移し、「False」の場合は<send_false_to>識別子で指定されているステップに遷移することを表す。
ステップS220では、ETLプログラム解析部111は、ステップ定義を構文解析し、ステップの情報(例えば、処理対象のステップのタイプ、遷移元(処理対象)のステップの名称、および遷移先のステップの名称)を取得する。
ステップS230では、ETLプログラム解析部111は、システムが保持しているデータ量変化点を示すステップの組合せを示す情報(予め定められた定義情報)に基づいて、データ量変化点のステップであるか否かを判定する。ETLプログラム解析部111は、データ量変化点のステップであると判定した場合、ステップS240に処理を移し、データ量変化点のステップでないと判定した場合、処理対象を次のステップ定義に変更してステップS220に処理を移す。
付言するならば、データ量変化点については、1つのステップ定義により識別されることも、複数のステップ定義(複数のステップの組合せ)により識別されることもある。
ステップS240では、ETLプログラム解析部111は、取得したステップの情報を解析結果管理テーブル121に格納し、処理対象を次のステップ定義に変更してステップS220に処理を移す。この際、ETLプログラム解析部111は、全てのステップ定義について処理を行ったと判定した場合、ETLプログラム解析処理を終了する。
図7は、データフローバランス解析処理に係るフローチャートの一例を示す図である。
まず、データフローバランス解析部112は、ETLプログラムを実行する(ステップS310)。より具体的には、データフローバランス解析部112は、入力ファイル登録画面20で指定されたデータ(入力データ)、および/または、後述のステップS700で生成されたテストデータを使用し、ETLプログラムを実行する。
続いて、データフローバランス解析部112は、データ量変化点ごとに、ステップS320〜ステップS340を繰り返す。
ステップS320では、データフローバランス解析部112は、データ量変化点のステップにおいて既存のETLツールにより測定された入出力データ量に基づいて、データフローバランスを算出する。例えば、図2に示すように、データ量変化点がステップ「A」であり、遷移先のステップとしてステップ「B」,「C」,「D」がある場合、ステップ「A」に入力されたデータ量が「100」であり、ステップ「B」に流れたデータ量が「10」であり、ステップ「C」に流れたデータ量が「10」であり、ステップ「D」に流れたデータ量が「10」であり、破棄されたデータ量が「70」であったとする。このとき、データフローバランス解析部112は、ステップ「A」について、「A−B」間のデータフローバランスについては、「10(=(10/100)×100)」を算出する。同様に、データフローバランス解析部112は、「A−C」間のデータフローバランスとして「10」、「A−D」間のデータフローバランスとして「10」、「A」で終了のデータフローバランスとして「70」を算出する。
ステップS330では、データフローバランス解析部112は、算出したデータフローバランスの情報を解析結果管理テーブル121に格納する。
続いて、データフローパス解析処理が行われ(ステップS340)、処理対象を次のデータ量変化点に変更し、ステップS320に処理を移す。ETLプログラム解析部111は、全てのデータ量変化点について処理を行ったと判定した場合、データフローバランス解析処理を終了する。なお、詳細については図8を用いて後述するが、データフローパス解析処理では、入力データの各レコードに対して、どのデータ量変化点を辿ったかを示すラベル(データフローパス)が紐付けられる。
図8は、データフローパス解析処理に係るフローチャートの一例を示す図である。データフローパス解析処理では、入力データのレコードごと、かつ、データ量変化点の遷移先のステップごとに、処理が行われる。
まず、データフローパス解析部113は、入力データごとに処理対象とするために、入力データのレコードからユニークキー(入力ファイル登録画面20で指定された列名の情報)を取得する(ステップS341)。
続いて、データフローパス解析部113は、遷移先のステップごとに、ステップS342およびステップS343を繰り返す。
ステップS342では、データフローパス解析部113は、遷移先のステップへの出力データに、取得したユニークキーのレコードが含まれているか否かを判定する。なお、データフローパスの判定方法については、図15および図16を用いて説明する。
データフローパス解析部113は、含まれていると判定した場合、ステップS343に処理を移し、含まれていないと判定した場合、処理対処を次の遷移先のステップに変更し、ステップS342に処理を移す。
図15は、データフローパスの判定方法(分岐パターンの判定方法)を説明するための図である。
例えば、ETLプログラム40は、データ入力ステップ41、データ量変化点Aステップ42、データ量変化点Aステップ42の遷移先のステップB43、ステップC44、ステップD45で構成されているものとする。これは、データ量変化点Aステップ42が分岐ステップであることを意味する。
また、データ入力ステップ41からの入力データ421には、ユニークキーとして「key1」を持つデータID「1」のデータ、ユニークキーとして「key2」を持つデータID「2」のデータ、ユニークキーとして「key3」を持つデータID「3」のデータ、ユニークキーとして「key4」を持つデータID「4」のデータが含まれているものとする。
ここで、実際に入力データ421を使用してETLプログラム40を実行した場合、ステップB43への出力データ422には、ユニークキーとして「key1」を持つデータと「key2」を持つデータとが含まれているとする。また、ステップC44への出力データ423には、ユニークキーとして「key3」を持つデータが含まれているとする。また、ステップD45への出力データには、ユニークキーとして「key1」を持つデータが含まれているとする。また、ユニークキーとして「key4」を持つデータは、データ量変化点Aステップ42より先に遷移しなかったとする。
上述のケースにおいて、データID「1」のデータに紐付くデータフローパスは、「AB,AD」、データID「2」のデータに紐付くデータフローパスは、「AB」、データID「3」のデータに紐付くデータフローパスは、「AC」、データID「4」のデータに紐付くデータフローパスは、「A/」として、データフローパス管理テーブル(カラム抜粋)46(データフローパス管理テーブル122)に格納される。
なお、データID「1」のように、同時に複数の分岐に推移するデータである場合、複数のデータフローパスが紐付く。また、データID「4」のように、フィルターなどによりその先に推移しないデータである場合、「/(スラッシュ)」でパスの終わりを表現する。
また、データフローパスにおいては、複数のデータ量変化点を経由する場合、−(ハイフン)でパスを繋げて表現する。例えば、「AB−EG−ST」のように表現する。
図16は、データフローパスの判定方法(結合パターンの判定方法)を説明するための図である。
ETLプログラム50は、例えば、データ入力1ステップ51、データ入力2ステップ52、データ量変化点Aステップ53、データ量変化点Aステップ53の遷移先のステップB54で構成されるものとする。これは、データ量変化点Aステップ53が結合ステップであることを意味する。
また、データ入力1ステップ51からの入力データ531には、ユニークキーAとして「key1」を持つデータID「1」のデータ、ユニークキーAとして「key2」を持つデータID「2」のデータ、ユニークキーAとして「key3」を持つデータID「3」のデータが含まれているものとする。また、データ入力2ステップからの入力データ532には、ユニークキーBとして「key4」を持つデータID「4」のデータ、ユニークキーBとして「key5」を持つデータID「5」のデータが含まれているものとする。
ここで、実際に入力データ531を使用してETLプログラム50を実行した場合、ステップB54への出力データ533には、ユニークキーAとして「key1」、ユニークキーBとして「key4」を持つデータと、ユニークキーAとして「key2」、ユニークキーBとして「key5」を持つデータとが含まれているとする。また、ユニークキーAとして「key3」を持つデータは、データ量変化点Aステップ53より先に遷移しなかったとする。
上述のケースにおいて、データID「1」のデータに紐付くデータフローパスは、「AB」、データID「2」のデータに紐付くデータフローパスは、「AB」、データID「3」のデータに紐付くデータフローパスは、「A/」、データID「4」のデータに紐付くデータフローパスは、「AB」、データID「5」のデータに紐付くデータフローパスは、「AB」として、データフローパス管理テーブル(カラム抜粋)55(データフローパス管理テーブル122)に格納される。
ステップS343では、データフローパス解析部113は、遷移先のステップの情報をデータフローパスとしてデータフローパス管理テーブル122に格納し、処理対処を次の遷移先のステップに変更し、ステップS342に処理を移す。
なお、データフローパス解析部113は、処理対処を次の遷移先のステップに変更する際、全てのデータ量変化点の遷移先のステップについて処理を行ったと判定した場合、次のレコードに処理対象を変更し、ステップS341に処理を移す。また、このとき、データフローパス解析部113は、全てのレコードについて処理を行ったと判定した場合、データフローパス解析処理を終了する。
図9は、特徴抽出処理に係るフローチャートの一例を示す図である。特徴抽出処理では、データフローパスごと、かつ、レコードのカラムごとに、処理が行われる。
まず、特徴抽出部114は、データフローパスごとに処理対象とするために、同じデータフローパスが紐付けられたレコードの集合を取得する(ステップS410)。
続いて、特徴抽出部114は、レコードのカラムごとに、ステップS420およびステップS430を繰り返す。
ステップS420では、特徴抽出部114は、カラムごとのデータの特徴を統計処理エンジンにより抽出する。統計処理エンジンとは、入力したデータの集合に対して統計処理(公知技術の組合せ)を行い、例えば、データの集合が持つデータの特徴を関数として出力するものである。統計処理エンジンとしては、C、Java、Python等の実行エンジン、DBMS、ETLツールなどがある。統計処理エンジンについては、図17を用いて説明する。
図17は、統計処理エンジンを説明するための図である。
統計処理エンジン61は、適用する統計処理(統計処理A,B,C,Dなど)を必要に応じて切り替えることが可能である。統計処理エンジン61は、例えば、データ62の型によって最適な統計処理を選択する機能を有する。統計処理エンジン61は、データ62が数値データである場合は、平均値と標準偏差とからデータの分布を取得する。統計処理エンジン61は、データ62が文字列データである場合は、取り得る文字のバリエーションと文字数の傾向とを取得する。統計処理エンジン61は、データ62が日付データである場合は、取り得る日時と時刻の範囲とオーダーとを取得する。統計処理エンジン61は、取得した結果を特徴(関数)63として出力する。特徴(関数)63は、例えば、特徴の範囲でランダムに値を出力するものである。
なお、外から統計処理を追加する仕組みを有していてもよい。
ステップS430では、特徴抽出部114は、抽出したデータの特徴を特徴管理テーブル123に格納し、処理対処を次のカラムに変更し、ステップS420に処理を移す。
なお、特徴抽出部114は、処理対処を次のカラムに変更する際、全てのカラムについて処理を行ったと判定した場合、次のデータフローパスに処理対象を変更し、ステップS410に処理を移す。また、このとき、特徴抽出部114は、全てのデータフローパスについて処理を行ったと判定した場合、特徴抽出処理を終了する。なお、特徴抽出処理が終了すると、入力データについての一連の解析処理が終了し、図18に示すように解析結果表示画面70が出力される。
図18は、解析結果表示画面70の一例を示す図である。
解析結果表示画面70では、画面上部に、データフローバランスの解析結果を表示するためのデータフローバランス表示領域71が設けられている。例えば、データフローバランス表示領域71には、ETLプログラムの概略図(ステップ、パス等)72が表示され、データ量変化点のステップには星マーク73が付され、データフローバランスが算出されたパスは、太線で表示される。
付言するならば、データ量変化点のステップは、星マーク73の表示態様に限定されるものではなく、その他の表示態様により強調表示されてもよい。また、データフローバランスが算出されたパスは、太線で表示される表示態様に限られるものではなく、その他の表示態様により強調表示されてもよい。
また、太線にマウスカーソル74を当てると、ポップアップでデータフローバランスの情報75が表示される。詳細ボタン76をクリックすると、データフローバランス詳細画面77(例えば、別画面)にデータフローバランスの詳細が表示される。データフローバランス詳細画面77では、データフローごとのデータの割合がリストとして表示される。
星マーク73(データ量変化点)をクリックすると、データ量変化点詳細画面78(例えば、別画面)にデータ量変化点の詳細が表示される。データ量変化点詳細画面78では、各データ量変化点の入力データのレコード、各遷移先のステップへの出力データのレコード、各レコードに紐付くデータフローパスがリストとして表示される。
また、解析結果表示画面70では、画面下部に、データフローパスの解析結果を表示するためのデータフローパス表示領域79が設けられている。例えば、データ入力ステップごとの入力データのレコードと、各レコードに紐付くデータフローパスとがリストとして表示される。
このように、解析結果表示画面70では、例えば、ETLプログラムのステップのうち、ETLプログラム解析部111で解析されたデータ量変化点とデータ量変化点における遷移先のステップとが識別可能に表示され、かつ、データフローパス解析部113で対応付けられたデータおよびデータフローパスが表示される。かかる表示によれば、ユーザは、データ量変化点および遷移先のステップとデータのデータフローパスとを容易に対応付けて視認することができるようになるので、ETLプログラムにおけるデータの流れを的確かつ迅速に把握できるようになる。
図10は、テストデータの生成に関する処理に係るフローチャートの一例を示す図である。
まず、インタフェース部117は、テストデータの生成条件の入力を受け付ける(ステップS600)。例えば、インタフェース部117は、出力装置12に表示される生成条件設定画面80を介して、テストデータの生成条件の入力を受け付ける。生成条件設定画面80については、図19を用いて説明する。
図19は、生成条件設定画面80の一例を示す図である。
生成条件設定画面80では、画面上部に、データフローバランスの解析結果を表示するためのデータフローバランス表示領域81が設けられる。ユーザは、テストデータの生成条件を入力する際、この解析結果を参考にすることができる。
生成条件設定画面80では、画面下部に、生成条件を入力するための生成条件入力領域82が設けられる。生成条件入力領域82には、データ入力ステップごとに、生成するテストデータのデータ量(サイズ、レコード数など)を入力するためのデータ量入力欄83と、データフローパスごとに、データの割合を入力するためのデータ割合入力欄84と、設定した生成条件でテストデータの作成を指示するためのテストデータ生成ボタン85とが設けられている。
例えば、ユーザは、データ量入力欄83に生成を所望するデータ量を入力することができる。この際、ユーザは入力データステップごとに入力可能であり、デフォルトでは登録した実データのデータ量が入力されている。例えば、ユーザは、必要なテストデータのデータ量を、生成データ量として「10GB」、「100MB」のように入力することができる。
また、例えば、ユーザは、データ割合入力欄84に任意のデータフローパスのデータの割合を入力することができる。この際、入力データステップごとに入力可能であり、デフォルトではデータフローパス管理テーブル122から算出された各データフローパスのデータの割合が入力されている。例えば、ユーザは、必要なテストデータのデータフローバランスを、各データフローパスのデータの割合として「10%」、「20%」のように入力することができる。
このように、生成条件設定画面80では、データフローバランス解析部112で求められたデータフローバランスが生成条件のデータフローバランスの初期値として設定され、初期値を変更可能な画面が表示される。例えば、実データが顧客のシステム環境の縮小版のデータであるときは、データフローバランスを入力することなく、テストデータを生成できるようになる。また、データフローバランスの変更が可能であるので、所望のデータフローバランスとしてテストを行うことができるようになる。
続いて、テストデータ生成処理が行われる(ステップS700)。なお、詳細については図11を用いて後述するが、テストデータ生成処理では、生成条件を満たすように、各データフローパスのデータの特徴に従ってテストデータが自動生成される。
続いて、テストデータ検証処理が行われる(ステップS800)。なお、詳細については図12を用いて後述するが、テストデータ検証処理では、自動生成したテストデータをETLプログラムに処理させ、生成条件を満たすテストデータが得られたか否か、得られなかった場合、テストデータ生成処理で生成され、データフローパスが再設定されたデータ(教師データ)が一定量溜まっているか否かが判定される。
生成条件を満たすテストデータが得られた場合、ステップS1000に処理が移され、得られなかった場合、一定量の新しい教師データが溜まっているときは、ステップS900に処理が移され、一定量の新しい教師データが溜まっていないときは、ステップS700に処理が移される。付言するならば、一定量の新しい教師データが溜まっていないときは、前回と同じ特徴を用いてテストデータが再生成されるが、同じ特徴であっても特徴の範囲内でランダムにテストデータが生成されるので、基本的には、生成されるテストデータは、前回と異なるテストデータ(類似したテストデータ、近似したテストデータ)となる。
ステップS900では、蓄積された新しい教師データが用いられて特徴抽出処理が行われ、その後、ステップS700に処理が移される。つまり、データフローパスごとのデータの特徴が再抽出され、再抽出した新しい特徴を用いてテストデータが再生成される。なお、特徴抽出処理については、図9に示すものと同じであるので、その説明については、省略する。
ステップS1000では、インタフェース部117は、生成されたテストデータをファイルとして出力または出力装置12に出力し、テストデータの生成に関する処理を終了する。
図11は、テストデータ生成処理に係るフローチャートの一例を示す図である。テストデータ生成処理では、データフローパスごと、かつ、レコードのカラムごとに、ステップS710およびステップS720が行われる。
ステップS710では、テストデータ生成部115は、カラムに対応する特徴(関数)を特徴管理テーブル123から取得する。
ステップS720では、テストデータ生成部115は、生成条件を満たすように、特徴(関数)を用いてテストデータを生成する。
なお、テストデータ生成部115は、処理対処を次のカラムに変更する際、全てのカラムについて処理を行ったと判定した場合、次のデータフローパスに処理対象を変更し、ステップS710に処理を移す。また、このとき、テストデータ生成部115は、全てのデータフローパスについて処理を行ったと判定した場合、ステップS730に処理を移す。
付言するならば、例えば、生成条件が10レコード分のデータ量(データの項目が3つからなるテストデータが10レコード必要)である場合、テストデータ生成部115は、第1の項目についての特徴(関数)を用いてランダムにデータを10個生成し、第2の項目についての特徴(関数)を用いてランダムにデータを10個生成し、第3の項目についての特徴(関数)を用いてランダムにデータを10個生成することで、生成条件に指定されたデータ量のテストデータを生成する。
ステップS730では、テストデータ生成部115は、生成したテストデータを仮テストデータとして保存し、テストデータ生成処理を終了する。
図12は、テストデータ検証処理に係るフローチャートの一例を示す図である。
まず、テストデータ検証部116は、データフローバランス解析部112にて、生成されたテストデータ(仮テストデータ)をETLプログラムに処理させ、各ステップの入出力データ量から各データ量変化点のデータフローバランスを算出する(ステップS810)。なお、データフローバランス解析部112の処理については、図7に示す処理と同じであるので、その説明については省略する。
続いて、テストデータ検証部116は、データフローパス解析部113にて、生成されたテストデータの各レコードに対して、どのデータ量変化点を辿ったかを示すラベル(データフローパス)を紐付けさせ、教師データとする(ステップS820)。なお、データフローパス解析部113の処理については、図8に示す処理と同じであるので、その説明については省略する。
続いて、テストデータ検証部116は、データフローバランスが生成条件を満たしているか否かを判定する(ステップS830)。テストデータ検証部116は、データフローバランスが生成条件を満たしていると判定した場合、ステップS730で格納した仮テストデータをテストデータとしてテストデータ検証処理を終了し、データフローバランスが生成条件を満たしていないと判定した場合、ステップS840に処理を移す。
データフローバランスが生成条件を満たしているか否かについては、解析されたデータフローバランスと指定されたデータ量の割合とが完全に一致しているか否かにより判定されてもよいし、所定の範囲内(例えば、±1%の範囲内)で一致しているか否かにより判定されてもよい。なお、かかる一致条件については、システム管理者により設定されてもよいし、ユーザにより設定されてもよい。
ステップS840では、テストデータ検証部116は、新しい教師データが一定量溜まっているか否かを判定する。テストデータ検証部116は、新しい教師データが一定量溜まっていると判定した場合、テストデータ検証処理を終了し、ステップS900に処理を移し、新しい教師データが一定量溜まっていないと判定した場合、テストデータ検証処理を終了し、ステップS700に処理を移す。なお、一定量については、任意に変更可能である。
上述したように、任意のデータフローバランスのテストデータを容易に作成できるようにすることで、テストデータの作成工数が削減される。また、データフローバランスを満たす様々なバリエーションのテストデータを使って短期間でテストすることが可能となり、ETLプログラムの品質が向上する。
上述した構成の主な特徴について、以下に説明する。
(第1の特徴)
データ管理システム1では、ETLプログラムのトップレベルのステップに着目し、入力データの各レコードがどのデータ量変化点を通過したかをデータフローパスとして定義する。データ量変化点とは、入出力でデータ量が変化するステップのことである。
(第2の特徴)
データ管理システム1では、顧客から受領した実データをETLプログラムに処理させることで動的解析を行い、レコードとデータフローパスとを紐付けたデータを取得する。例えば、紐付けられた(対応付けられた)データおよびデータフローパスが出力されることで、ユーザは、ETLプログラムにおけるデータの流れを把握できるようなる。
(第3の特徴)
データ管理システム1では、同じデータフローパスを持つデータごとに、データの特徴を統計解析などの公知技術を用いて抽出する。
(第4の特徴)
データ管理システム1では、ユーザからテストデータの生成条件(生成データ量、任意のデータフローパスのデータの割合)を受け取ると、データフローパスをキーとして、データの特徴を持つ仮テストデータを生成条件を満たすように生成する。
(第5の特徴)
データ管理システム1では、仮テストデータをETLプログラムに処理させることで動的解析を行い、生成条件を満たしているか検証する。また、ここで得られた検証データについては、教師データとして再利用される。
(第6の特徴)
データ管理システム1では、生成条件を満たすデータが得られない場合、第3の特徴または第4の特徴を再試行する。仮テストデータの生成を何度も行うことで教師データが溜まるため、特徴抽出の精度が上がることが期待できる。また、一定量の教師データが溜まっていない場合は、特徴を抽出しても大きな改善は期待できないため、特徴抽出を行わずに仮テストデータを生成する。かかる処理によれば、処理時間を短縮し、かつ、特徴抽出の精度を向上することができる。
(第7の特徴)
データ管理システム1では、生成条件を満たすデータが得られた場合、仮テストデータを正式なテストデータとして出力する。
上述した構成によれば、例えば、入力データの各レコードおよびデータフローパスと、データフローパスおよびデータの特徴とを紐付けて管理することにより、任意のデータフローバランスのテストデータを自動生成することが可能になる。
また、例えば、データの集合とその特徴とをデータフローパスというラベルとして表現することで、ユーザに簡易なユーザインタフェースを提供できるようになる。
また、例えば、生成したテストデータの検証をデータフローパスを利用して実施し、検証時のデータは学習データとして再利用できるので、効率的にテストデータを生成することができる。
本実施の形態によれば、ETLプログラムに係るデータを管理することができる。
(2)他の実施の形態
なお上述の実施の形態においては、本発明をデータ管理システム1に適用するようにした場合について述べたが、本発明はこれに限らず、この他種々のデータ管理システム、データ管理装置、データ管理方法などに広く適用することができる。
また上述の実施の形態においては、データフローバランス解析部112は、データ量変化点のステップにおいて既存のETLツールにより測定された入出力データ量に基づいて、データフローバランスを算出する場合について述べたが、本発明はこれに限らず、データフローバランス解析部112は、データ量変化点のステップにおいて、入出力データ量を測定し、データフローバランスを算出するようにしてもよい。
また上述の実施の形態においては、特徴抽出部114は、カラムごとのデータの特徴を統計処理エンジンにより抽出する場合について述べたが、統計処理エンジンは、特徴抽出部114に含まれていてもよいし、含まれていなくてもよい。
また上述の実施の形態においては、テストデータ生成部115で生成されたテストデータをファイルとして出力する場合について述べたが、本発明はこれに限らず、テストデータ生成部115で生成されたテストデータを他のコンピュータに送信するようにしてもよい。
また上述の実施の形態においては、テストデータ検証部116は、データフローバランスが生成条件を満たしていると判定した場合、ステップS730で格納された仮テストデータをテストデータとする場合について述べたが、本発明はこれに限らず、テストデータ検証部116は、正しいデータフローパスが対応付けられた仮テストデータをテストデータとするようにしてもよい。
また上述の実施の形態においては、説明の便宜上、XXテーブルを用いて各種のデータを説明したが、データ構造は限定されるものではなく、XX情報などと表現してもよい。
また、上記の説明において各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記憶装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また上述した構成については、本発明の要旨を超えない範囲において、適宜に、変更したり、組み替えたり、組み合わせたり、省略したりしてもよい。
1……データ管理システム、10……データ管理装置、11……入力装置、12……出力装置、100……CPU、110……主記憶装置、111……ETLプログラム解析部、112……データフローバランス解析部、113……データフローパス解析部、114……特徴抽出部、115……テストデータ生成部、116……テストデータ検証部、117……インタフェース部、120……補助記憶装置、121……解析結果管理テーブル、122……データフローパス管理テーブル、123……特徴管理テーブル。

Claims (8)

  1. 予め定められた定義情報に基づいて、ETL(Extract/Transform/Load)プログラムにおける処理のまとまりを示すステップごとに、データが流れる量が変化するステップを示すデータ量変化点であるか否かを解析し、前記データ量変化点においてデータが流れる先を示す遷移先のステップを解析するETLプログラム解析部と、
    前記ETLプログラム解析部で解析された遷移先のステップごとに、前記ETLプログラムに入力されたデータが含まれているか否かを判定し、前記ETLプログラムにおいて前記データが流れる経路を示すデータフローパスを前記データに対応付けるデータフローパス解析部と、
    前記データフローパス解析部で対応付けられたデータおよびデータフローパスを出力する出力制御部と、
    を備えることを特徴とするデータ管理装置。
  2. 前記出力制御部は、前記ETLプログラムのステップのうち、前記ETLプログラム解析部で解析されたデータ量変化点と前記データ量変化点における遷移先のステップとを識別可能に表示し、かつ、前記データフローパス解析部で対応付けられたデータおよびデータフローパスを表示する、
    ことを特徴とする請求項1に記載のデータ管理装置。
  3. 前記ETLプログラムに入力されたデータのうち、同じデータフローパスが対応付けられたデータの集合の各々について、データの項目ごとに特徴を抽出する特徴抽出部と、
    前記特徴抽出部により抽出された項目の特徴に基づいて、テストデータを生成するテストデータ生成部と、
    を備えることを特徴とする請求項1に記載のデータ管理装置。
  4. 前記ETLプログラム解析部により解析されたデータ量変化点ごとに、前記ETLプログラムに入力されたデータが遷移先のステップに流れる量および遷移先のステップに流れない量をデータフローバランスとして求めるデータフローバランス解析部と、
    前記テストデータ生成部により生成されたテストデータをデータフローバランス解析部に処理させて求められたデータフローバランスが生成条件のデータフローバランスを満たしているか否かを判定するテストデータ検証部と、
    を備えることを特徴とする請求項3に記載のデータ管理装置。
  5. 前記テストデータ検証部は、前記生成条件のデータフローバランスを満たしていないと判定した場合、前記テストデータ生成部により生成されたテストデータが一定量を超えたか否かを判定し、
    前記特徴抽出部は、前記テストデータ検証部により前記一定量を超えたと判定された場合、前記入力されたデータと、前記テストデータ生成部により生成されたテストデータとのうち、同じデータフローパスが対応付けられたデータの集合の各々について、データの項目ごとに特徴を抽出する、
    ことを特徴とする請求項4に記載のデータ管理装置。
  6. 前記テストデータ検証部は、前記生成条件のデータフローバランスを満たしていないと判定した場合、前記テストデータ生成部により生成されたテストデータが一定量を超えたか否かを判定し、
    前記テストデータ生成部は、前記テストデータ検証部により前記一定量を超えていないと判定された場合、前記特徴抽出部により抽出された項目の特徴に基づいて、更にテストデータを生成する、
    ことを特徴とする請求項4に記載のデータ管理装置。
  7. 前記出力制御部は、前記データフローバランス解析部で求められたデータフローバランスを前記生成条件のデータフローバランスの初期値として設定し、前記初期値を変更可能な画面を表示する、
    ことを特徴とする請求項4に記載のデータ管理装置。
  8. ETLプログラム解析部が、予め定められた定義情報に基づいて、ETL(Extract/Transform/Load)プログラムにおける処理のまとまりを示すステップごとに、データが流れる量が変化するステップを示すデータ量変化点であるか否かを解析し、前記データ量変化点においてデータが流れる先を示す遷移先のステップを解析する第1のステップと、
    データフローパス解析部が、前記ETLプログラム解析部で解析された遷移先のステップごとに、前記ETLプログラムに入力されたデータが含まれているか否かを判定し、前記ETLプログラムにおいて前記データが流れる経路を示すデータフローパスを前記データに対応付ける第2のステップと、
    出力制御部が、前記データフローパス解析部で対応付けられたデータおよびデータフローパスを出力する第3のステップと、
    を備えることを特徴とするデータ管理方法。
JP2018102345A 2018-05-29 2018-05-29 データ管理装置およびデータ管理方法 Active JP6588598B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018102345A JP6588598B1 (ja) 2018-05-29 2018-05-29 データ管理装置およびデータ管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018102345A JP6588598B1 (ja) 2018-05-29 2018-05-29 データ管理装置およびデータ管理方法

Publications (2)

Publication Number Publication Date
JP6588598B1 true JP6588598B1 (ja) 2019-10-09
JP2019207538A JP2019207538A (ja) 2019-12-05

Family

ID=68159729

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018102345A Active JP6588598B1 (ja) 2018-05-29 2018-05-29 データ管理装置およびデータ管理方法

Country Status (1)

Country Link
JP (1) JP6588598B1 (ja)

Also Published As

Publication number Publication date
JP2019207538A (ja) 2019-12-05

Similar Documents

Publication Publication Date Title
KR101384405B1 (ko) 해석 방법, 해석 장치 및 해석 프로그램
JP4717945B2 (ja) 業務分析プログラムおよび業務分析装置
JP4941040B2 (ja) テスト仕様書生成プログラム、およびテスト仕様書生成装置
US9910870B2 (en) System and method for creating data models from complex raw log files
JP5535062B2 (ja) ウェブログの時系列分析のためのデータ格納および照会方法及びその方法を実行するシステム
JP2011517823A (ja) 照会処理視覚化システム、照会処理を視覚化する方法及びコンピュータ・プログラム
JP4627539B2 (ja) 負荷試験システムおよび負荷試験データ作成方法、ならびにそのプログラム
US20160162539A1 (en) Computer executable method of generating analysis data and apparatus performing the same and storage medium for the same
Kruse et al. Estimating Data Integration and Cleaning Effort.
US20230186018A1 (en) Method for generating online report using form structure definition db, and computer program for same
US20190325258A1 (en) Early feedback of schematic correctness in feature management frameworks
JP6588598B1 (ja) データ管理装置およびデータ管理方法
JP6160503B2 (ja) 情報入力システム及びプログラム
WO2020018223A1 (en) Binding query scope to directory attributes
US20210397745A1 (en) Data providing server device and data providing method
JP6204923B2 (ja) アセスメント装置、アセスメントシステム、アセスメント方法、及びプログラム
JP6001173B2 (ja) データ分析装置、rdfデータの拡張方法、およびデータ分析プログラム
JP2010128870A (ja) データ処理装置
JP6455087B2 (ja) 帳票情報処理プログラム、帳票情報処理装置、および帳票情報処理方法
JP2007122440A (ja) 情報分析装置、および情報分析方法、並びにコンピュータ・プログラム
JP2019159778A (ja) 情報処理装置,制御プログラムおよび情報処理方法
Esser et al. Using graph data structures for event logs
JP2018060477A (ja) 見積装置、プログラム
JP2009211128A (ja) シミュレーション装置及びシミュレーション方法及びプログラム
JP4805491B2 (ja) 辞書管理プログラム及びコンピュータシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190116

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190912

R150 Certificate of patent or registration of utility model

Ref document number: 6588598

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150