JP2016520890A - メタデータ管理のシステム - Google Patents

メタデータ管理のシステム Download PDF

Info

Publication number
JP2016520890A
JP2016520890A JP2016502060A JP2016502060A JP2016520890A JP 2016520890 A JP2016520890 A JP 2016520890A JP 2016502060 A JP2016502060 A JP 2016502060A JP 2016502060 A JP2016502060 A JP 2016502060A JP 2016520890 A JP2016520890 A JP 2016520890A
Authority
JP
Japan
Prior art keywords
version
data
node
metadata
processing system
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
JP2016502060A
Other languages
English (en)
Other versions
JP6618461B2 (ja
Inventor
ヨースト,グレッグ
ラディポイヴィッチ,ドゥサン
Original Assignee
アビニシオ テクノロジー エルエルシー
アビニシオ テクノロジー エルエルシー
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 アビニシオ テクノロジー エルエルシー, アビニシオ テクノロジー エルエルシー filed Critical アビニシオ テクノロジー エルエルシー
Publication of JP2016520890A publication Critical patent/JP2016520890A/ja
Application granted granted Critical
Publication of JP6618461B2 publication Critical patent/JP6618461B2/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/90Details of database functions independent of the retrieved data types
    • G06F16/904Browsing; Visualisation therefor
    • 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/21Design, administration or maintenance of databases
    • G06F16/219Managing data history or versioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Software Systems (AREA)

Abstract

コンピュータ記憶媒体に符号化されたコンピュータプログラムを含む、メタデータ管理のための方法、システム、および装置。方法の1つは、第1のノードを選択するユーザ入力を受け取る工程を含む。この方法は、第1のオブジェクトの第1のデータ系統を受け取る工程を含み、第1のオブジェクトはタイプを有し、第1のデータ系統は、第1のオブジェクトと1つまたは複数のデータセットまたは変換との間の関係を記述する。この方法は、第2のノードを選択するユーザ入力を受け取る工程を含む。この方法は、第2のオブジェクトの第2のデータ系統を受け取る工程を含み、第2のオブジェクトは第1のオブジェクトと同じタイプを有する。この方法は、第1のノードおよび第1のデータ系統と、第2のノードおよび第2のデータ系統との比較を行う工程を含む。この方法は、その比較に基づいてレポートを生成する工程を含む。

Description

優先権の主張
本願は、2013年3月15日に出願された米国特許出願第61/790,074号に対する優先権を主張し、同出願の内容は参照によりすべてが本明細書に組み込まれる。
本明細書の記載は、データ処理システムの複数のバージョンを維持し、比較するためのシステムに関する。
企業は、データウェアハウジング(warehousing)、顧客関係管理、データマイニングなどの複雑なデータ処理システムを使用してデータを管理している。多くのデータ処理システムでは、データは、データベースファイル、運用システム、フラットファイル、インターネット等の多くの種々のデータソースから引き出されて中央の保存場所に入れられる。しばしば、データは変換されてからデータシステムに投入される。変換は、例えば、浄化、統合、および抽出を含む。データや、その入手元、およびデータシステムに記憶されたデータに行われた変換を追跡するために、メタデータを使用することができる。メタデータ(「データについてのデータ」と呼ばれることもある)は、他のデータの属性、形式、由来、履歴、相互関係等を記述するデータである。メタデータの管理は複雑なデータ処理システムでは中心的な役割を果たすことがある。
時に、データベースのユーザは、あるデータがどのようにして種々のデータソースから得られるのかを調べたいことがある。例えば、データベースのユーザは、データセットやデータオブジェクトがどのように生成されたのか、またはどの入手元からデータセットやデータオブジェクトが取り込まれたのかを知りたいことがある。データセットをそれが得られる入手元までさかのぼって追跡することをデータ系統(lineage)の追跡(または「上流データ系統の追跡」)と呼ぶ。時に、データベースのユーザは、あるデータセットがどのように使用されてきたのか(「下流データ系統の追跡」または「インパクト解析」と呼ばれる)、例えばどのアプリケーションが所与のデータセットを読み出したかを調べたいことがある。データベースのユーザは、データセットがどのように他のデータセットに関係するかを知ることに関心を持つこともある。例えば、ユーザは、データセットに変更が加えられているのか、どの出力表が影響を受けるのかを知りたい場合がある。
一般に、本明細書に記載される主題の革新的な態様の1つは、ノードを含む第1のグラフ中の第1のノードを選択するユーザ入力を受け取る動作を含みうる方法として実施することができる。上記方法は、第1のノードに関連付けられた第1のオブジェクトの第1のデータ系統を受け取る動作も含み、第1のオブジェクトはタイプを有し、第1のデータ系統は、第1のオブジェクトと1つまたは複数のデータセットまたは変換との間の関係を記述する。上記方法は、ノードを含む第2のグラフから第2のノードを選択するユーザ入力を受け取る工程も含む。上記方法は、第2のノードに関連付けられた第2のオブジェクトの第2のデータ系統を受け取る動作も含み、第2のオブジェクトは第1のオブジェクトと同じタイプを有し、第2のデータ系統は、第1のオブジェクトと1つまたは複数の他のデータセットまたは変換との間の関係を記述する。上記方法は、第1のノードおよび第1のデータ系統と、第2のノードおよび第2のデータ系統との比較を行う動作も含む。上記方法は、比較に基づいてレポートを生成する動作も含む。
この態様の他の実施形態は、それに対応するコンピュータシステム、装置、および1つまたは複数のコンピュータ記憶装置に記録されたコンピュータプログラムを含み、それぞれが上記方法の動作を行うように構成される。1つまたは複数のコンピュータのシステムは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせをシステムにインストールし、それが動作時にシステムに動作を行わせることによって特定の動作を行うように構成することができる。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行されるとその装置に動作を行わせる命令を含むことによって特定の動作を行うように構成することができる。
上記および他の実施形態はそれぞれ、任意選択により、以下の特徴の1つまたは複数を単独で、または組み合わせで含むことができる。第1のノードのタイプは、データセットのフィールド、データセットの列、データセット、または変換、からなる群の1つとすることができる。グラフは、データ処理システムの構成要素を表すノードと、データ処理システムの構成要素間のデータの流れを表す有向エッジとを含むことができる。差分は、第1のオブジェクトと第2のオブジェクトとの間の構造的な差分に限定されてもよい。第1のオブジェクトはオブジェクトの第1のバージョンであり、第2のオブジェクトは当該オブジェクトの第2のバージョンであってもよい。上記方法は、第1のバージョンのオブジェクトに対応する一意のタグと参照表とを使用して第1のバージョンのオブジェクトにアクセスする工程も含むことができる。上記方法は、第2のバージョンのオブジェクトに対応する一意のタグと参照表とを使用して第2のバージョンのオブジェクトにアクセスする工程も含むことができる。第1のバージョンのオブジェクトと第2のバージョンのオブジェクトとは、改訂の履歴において祖先−子孫(ancestor-descendant)の関係を有する場合もある。第1のバージョンのオブジェクトと第2のバージョンのオブジェクトとは、改訂の履歴において共通の祖先を有するが、どちらのバージョンのオブジェクトも他方のバージョンのオブジェクトの子孫ではない場合もある。第1のバージョンのオブジェクトと第2のバージョンのオブジェクトは、同時に用いられているデータ処理システムの各実装を記述する場合もある。
態様は、以下の利点の1つまたは複数を備えることができる。一部の実装は、多構成要素のデータ処理システム内の変化のインパクト解析を可能にすることができる。一部の実装は、多構成要素のデータ処理システムの代替バージョン同士の比較を容易にすることができる。一部の実装は、複雑な多構成要素のデータ処理システムの保守管理を容易にすることができる。一部の実装は、多構成要素のデータ処理システムの開発および保守管理の費用を低減することができる。
本発明の他の特徴および利点は以下の説明および特許請求の範囲から明らかになろう。
データ処理システムの複数のバージョンについてのメタデータを管理するシステムのブロック図である。 データ処理システムを記述する2つのバージョンのメタデータ間の差分を反映したデータ系統グラフの一例を示す図である。 データ処理システムを記述する2つのバージョンのメタデータ間の差分を反映したデータ系統グラフの一例を示す図である。 データ処理システムを記述する2つのバージョンのメタデータ間の差分を反映したデータ系統グラフの一例を示す図である。 2つの異なるアプリケーションのデータセットを比較するレポートの一例を示す図である。 2つのデータセットを比較するレポートの一例を示す図である。 ディレクトリを比較するレポートの一例を示す図である。 フィールドまたは列を比較するレポートの一例を示す図である。 データ処理システムを記述する2つのバージョンのメタデータ間の差分を反映したデータ系統表の一例を示す図である。 データ処理システムのバージョン同士を比較するデータ系統の表現を生成する例示的処理のフローチャートである。
メタデータはデータを記述するデータである。メタデータは技術的な内容である場合があり、すなわちデータ構造の仕様、例えばデータ構造のレコード形式、画像の大きさ、画像の色深度等を記述することができる。メタデータは業務に関連する場合もあり、すなわち、データについての非構造的情報、例えば、データ構造のレコードのシステム、画像が撮影された時刻、撮影者の名前等を提供する場合もある。
メタデータは、基礎となるシステムやデータソースの変更に応じて変化する場合がある。1つのシステムが複数バージョンのメタデータを記憶する場合がある。ユーザが、変更後のメタデータを以前のバージョンのメタデータと比較したい、または複数バージョンのメタデータ同士を比較したい場合がある。
実装によっては、構成要素間に依存関係がある多構成要素のコンピューティングシステムについての複数バージョンのメタデータを比較することができる。ユーザは、バージョン間の変化が及ぼすシステム規模の影響を判定することができる。そのような技術のいくつかを使用して、メタデータの枝分かれしたバージョンや並行関係にあるバージョン(例えば、異なる地理的場所に配置されたデータ処理システムのインスタンスを表す)を比較することができる。複数バージョンのメタデータのデータ系統を単一のインターフェースで比較することができる。例えば、データ系統の図式表現を色分けして、それらメタデータバージョンによって記述されるコンピューティングシステムの構成要素のうちバージョン間で同じである構成要素、または異なる構成要素を示すことができる。システムレベルの影響をコーディング(例えば色分け)でさらに強調表示して、ある構成要素の出力が上流の変更によって変更されるが構成要素自体には変化がない場合にそのことを示すことができる。
データ系統同士の比較は、構成要素間の依存関係を反映する、システム構成要素の表形式の一覧で表すこともできる。メタデータの構造的な比較(例えば影響の大きい変更をコメントの変更と区別する)も可能にすることができる。実装によっては、メタデータの各バージョンが、参照表を使用して各種のシステム構成要素に対応付けられた一意のバージョンタグを有する。
図1は、データ処理システムの複数のバージョンについてのメタデータを管理するシステムのブロック図である。環境100はデータソース102を含み、これは、記憶装置やオンラインのデータストリームへの接続などの1つまたは複数のデータソースを含むことができ、各データソースは各種の記憶形式でデータを記憶することができる(例えばデータベース表、表計算ファイル、フラットテキストファイル、またはメインフレームで使用される固有形式等)。データ処理システム120は、データ処理構成要素(処理構成要素A122,...,処理構成要素Z124)を含む。データ処理システム120は、UNIXオペレーティングシステム等の適切なオペレーティングシステムの制御下で、1つまたは複数の汎用コンピュータにホストすることができる。例えば、データ処理システム120内の処理構成要素(例えば処理構成要素A122)は、複数の中央演算装置(CPU)を使用するコンピュータシステムの構成を含む多ノード並列演算環境を備えることができ、CPU群は、ローカル(例えばSMPコンピュータなどのマルチプロセッサシステム)、またはローカル分散型(例えばクラスタやMPPとして結合された複数のプロセッサ)、またはリモート、またはリモート分散型(例えばローカルエリアネットワーク(LAN)および/またはワイドエリアネットワーク(WAN)を介して結合された複数のプロセッサ)、またはそれらの任意の組み合わせである。
実装によっては、データ処理システムは、異なる技術に基づく処理構成要素(例えば異なるプログラミング言語で書かれたソフトウェアや、異なるオペレーティングシステムを実行する別々のコンピューティング装置にホストされたモジュール等)を含むという意味で異種混成型である。
データ処理システム120は、データソース102のデータにアクセスし、処理構成要素(例えば122および124)を使用してそのデータを処理することによって出力データを生成する。出力データは、記憶される、かつ/またはデータ処理システム120のユーザによって直接消費される場合がある。実装によっては、出力データは送出される場合もあり、例えば、データソース102の1つまたは複数のデータソースに書き戻されたり、他のデータシンクに書き出される場合がある。
メタデータ管理システム130は、データ処理システム120および/またはその外部データソース102の動作を記述するメタデータを収集する。データ処理システム120の構成要素(例えば処理構成要素A122および/または外部のメインフレームデータソース110)を記述するメタデータは、メタデータオブジェクトレコードとして、データストレージシステム140のリレーショナルデータベース142に記憶することができる。メタデータ管理システム130は、外部データソース102の記述を含む、データ処理システムの1つまたは複数のバージョンを記述するメタデータを保持し、ユーザ(例えばユーザ150)がユーザ端末152のユーザインターフェースを通じてメタデータと対話できるようにする。例えば、ユーザ端末152はグラフィカルユーザインターフェースを備えることができ、ユーザ150はそのインターフェースを使用してメタデータ管理システム120と対話することができる。ユーザは、データ処理システム120の各種バージョンの構成要素を記述するメタデータを照会および/または編集できる場合もある。
メタデータ管理システム130がユーザ150に提供する機能の1つは、データ系統の表現(例えばデータ系統グラフ、データ系統表、またはデータ処理システム120の構成要素間の依存関係を反映する他の表現)を生成し、調査する能力である。
事例によっては、データストレージ140はベースデータストアとインターフェースデータストアの両方を含む場合がある。ベースデータストアは技術的なメタデータを記憶することができ、アプリケーションを、グラフや変換などそれらに関連付けられたメタデータと共に保持することができる。技術的なメタデータの記憶に加えて、ベースデータストアは依存関係の分析を含む各種分析を行い(例えば下記で詳細に説明するデータ系統の算出等)、またはそのような分析の結果を受け取って記憶することもできる。事例によっては、ベースデータストアとインターフェースデータストアを組み合わせ、単一のデータストアとして実装することもできる。
技術的なメタデータは各種機能に関して開発者に有用であるが、より高レベルのメタデータを分析し、操作する必要がある事例が多く存在する。時に「企業」メタデータまたは「業務」メタデータと呼ばれるこのより高レベルのメタデータは、しばしばデータ分析で有用である。業務メタデータのいくつかの例には、どの従業員がそのデータを担当するかを示すデータの管理責任や、ファイルおよびファイル内のフィールドについての業務上の定義であるデータ辞書がある。業務メタデータはデータの技術的な記述を越え、インターフェースデータストアなど、ベースデータストアとは別のプラットフォームに記憶される場合もある。
データストレージ140にメタデータオブジェクトの形態で記憶される情報は、アプリケーションとそのアプリケーションによって処理されるデータについての各種分析を可能にする。例えば、下記でさらに説明するように、ユーザはデータ系統についての疑問に対する回答を得ることができる(例えば「所与の値がどこから得られたのか?」、「出力値はどのように算出されたのか?」、「どのアプリケーションがこのデータを生成し、このデータに依存するか?」)。開発者は提案される変更の結果を把握することができる(例えば「これが変化すると、他にどれが影響を受けるか?」「このソース形式が変わると、どのアプリケーションが影響を受けるか?」)。ユーザ/開発者は、技術的なメタデータと業務メタデータの両方に関する疑問の回答も得ることができる(例えば「どのグループがこのデータの生成と使用に責任を負っているか?」「このアプリケーションを最後に変更したのは誰か?」「どのような変更を行ったのか?」)。
データストレージ140は、記憶されたメタデータオブジェクトの状態を追跡することができる。データストレージ140に記憶されたオブジェクトにはバージョンが付与され、それにより、前週、前月、または前年における状況を調べて、それを現在の状況と比較することができる。データストレージ140は、動向分析(「例えば担当するデータがどの程度の速さで増大しているか?」)や、容量計画(「そのアプリケーションが実行にどれほどの時間を要したか?」「どれほどの量のデータをどれほどの速度で処理したか?」「アプリケーションがどのリソースを消費したか?」「いつもう一台サーバを追加する必要があるか?」)を可能にするジョブ追跡または実行の情報を収集することができる。
場合によっては、データストレージ140、または他のデータソースから関係(系統情報など)を抽出することができる。インターフェースデータストアは、データ系統の高レベルの要約を保持することができる。系統情報(または他のデータ依存関係分析)は、システム100の内部で自動的に算出するか、または外部のシステムもしくは手動入力から受け取ることができる。例えば、システム100は、コードを分析する人間によって収集、作成された系統情報を受け取ることができる。系統情報は、各種の所定形式(例えば表計算)のファイルからデータストレージ140に取り込むことができる。
例えば、データ系統表現は、データストレージ140に記憶されたメタデータオブジェクトを表すデータおよび/または処理ノードの端から端までの系統、すなわち、所与の開始オブジェクトが依存するオブジェクト(ソース)と、所与の開始オブジェクトが影響を及ぼすオブジェクト(ターゲット)を表示する。実装によっては、データ処理システム120を記述するメタデータの2つ以上のバージョン間の差分を反映するデータ系統表現を生成することができる。例えば、構成要素(例えばグラフのノードや、表の1つまたは複数のセル)の表現を色分けすることにより、その構成要素について2つのバージョン間の差分を表すことができる。例えば、2つのバージョンについての差分情報をデータ系統の表現の上に重ねることにより、ユーザが、データ処理システム120の2つのバージョン間の切り替えが及ぼすシステム規模の影響をより容易に判定できるようにすることができる。それにより、データ処理システムの保守管理費用と、発生する可能性のあるシステム故障時間を低減することができる。
データソース102を提供する記憶装置は、データ処理システム120に対してローカル、例えばデータ処理システム120の1つまたは複数の処理構成要素を実行するコンピュータに接続された記憶媒体(例えばハードドライブ108)に記憶しても、または、データ処理システム120に対してリモート、例えば、データ処理システム120の1つまたは複数の処理構成要素を実行するコンピュータとリモート接続を介して通信状態にあるリモートシステム(例えばメインフレーム110)にホストしてもよい。実装によっては、データソース102内の1つまたは複数のデータソース装置は、それらの装置が別のエンティティによって操作され、それらの装置から入手できるメタデータはデータソースを識別するために必要な情報だけを記述し、データ処理システム120がそのデータソースからデータを抽出できるようにする(例えば識別情報とアプリケーションプログラミングインターフェース(API)情報だけに限定される)という意味で、データ処理システム120の外部にある。
図2Aは、例示的なデータ系統グラフ200の第1のバージョンの模式図を示す。グラフは、データストア間および変換間の依存関係を示している。データは、1つまたは複数のデータソースから1つまたは複数のデータシンク(データストアと総称する)へのデータの流れを処理するデータ系統グラフのノードで表される一連のデータ処理構成要素を通じて渡される。基礎となるデータ処理システムの各種データ処理構成要素はどれでも、別々の処理装置で実行されるプロセスで実装することができ、または、複数のデータ処理構成要素が、1つの処理装置で実行される1つまたは複数のプロセスで実装される場合もある。実装によっては、入力データレコードは、到着すると同時に連続的に処理される場合もある(例えばクレジットカード処理の要求に応じて等)。実装によっては、データは、データ系統グラフ200で表されるシステムによって処理される入力データレコードの組を識別するバッチの単位で処理される場合もある。
この例では、データソース「U.S.フィード」202が「変換A」204の変換にデータを提供する。変換A 204は、「U.S.フィード」202から提供されたデータに操作を行い、その結果を「中間データセット1」206のデータストアに記憶する。中間データセット1 206データストアおよび「メキシコフィード」208データストアは、「変換B」210の変換にデータを提供する。変換B 210の変換は、メキシコフィード208から提供されたデータおよび中間データセット1 206を使用し、その結果を「出力データセット」212データストアに記憶する。
図2Bは、例示的なデータ系統グラフ220の第2のバージョンの模式図を示す。第2のバージョンは、例えば、上記で図2Aに関して説明したデータ系統グラフの第1のバージョンのより最近のバージョンまたは更新されたバージョンである。第2のバージョンもデータ系統であり、第1のバージョンのデータ系統と並行である場合がある。
この例では、データソース「U.S.フィード」222は「変換A」224の変換にデータを提供する。変換A 224は、「U.S.フィード」222から提供されたデータに操作を行い、その結果を「中間データセット1」226データストアに記憶する。データソース「メキシコフィード」228および「ブラジルフィード」238は、「変換C」230の変換にデータを提供する。変換C 230の変換は、「メキシコフィード」228から提供されたデータに操作を行い、その結果を「中間データセット2」232データストアに記憶する。
中間データセット1 226データストアおよび「中間データセット2 232データストアは、「変換B」234の変換にデータを提供する。変換B 234の変換は、中間データセット1 226および中間データセット2 232から提供されたデータを使用し、その結果を「出力データセット」236データストアに記憶する。
図2Cは、データ処理システムを記述するメタデータの2つのバージョンについての例示的なデータ系統グラフ240の模式図を示す。この例では、上記で識別した第1のバージョンと第2のバージョンの比較。データ系統グラフ240はメタデータの2つのバージョン間の差分の表示を含んでいる。図の例では、色分けに相当する網掛けパターンで差分を示している。
この例では、データソース「U.S.フィード」242は「変換A」246の変換にデータを提供する。変換A 246は、「U.S.フィード」242から提供されたデータに操作を行い、その結果を「中間データセット1」248データストアに記憶する。データソース「メキシコフィード」250および「ブラジルフィード」260は「変換C」252の変換にデータを提供する。変換C 252の変換は、「メキシコフィード」250から提供されたデータに操作を行い、その結果を「中間データセット2」254データストアに記憶する。
中間データセット1 248データストアおよび「中間データセット2 254データストアは、「変換B」256の変換にデータを提供する。変換B 256の変換は、中間データセット1 248および中間データセット2 254から提供されたデータを使用し、その結果を「出力データセット」258データストアに記憶する。
ノード252、254、260の網掛けは、それらに対応するデータ処理システムの構成要素とデータストアが、このデータ系統の表現で比較される2つのバージョンの一方だけ(例えば第2のバージョンだけ)に存在することを示している。例えば、基礎となるデータ処理システムの第2のバージョンでは、変換Cは、ある基準に一致しないレコードをデータフローから削除する(例えばメキシコシティ在住でない顧客に対応するすべてのレコードを削除する)。基礎となるデータ処理システムの第1のバージョンには変換Cが存在せず、そのため、メキシコシティの顧客を含むすべてのレコードが、データ処理システム内でデータフローの次の構成要素に渡される。渡されたレコードはデータストア2に記憶することができる。ノード248で表される変換Bの構成要素は網掛けされていないが、これはこの構成要素が両方のバージョンに出現することを意味する。各バージョンで、変換Bは、U.S.フィード、メキシコフィード、およびブラジルフィードから得られたレコードに操作を行って、出力データセットにデータを入れる。変換Bの構成要素自体は、中間データセット1、およびメキシコフィード(バージョン1の場合)または中間データセット2(バージョン2の場合)のどちらかから受け取られるデータを記憶または表示のために形式設定することができる。例えば、レポートは、第1のバージョンでは商品注文からあがった総収益の合計を含み、レポートは、第2のバージョンではメキシコシティの在住者からの商品注文からあがった総収益の合計を含むことができる。変換Cおよび出力データセットは変化がないが、一方のバージョンでは上流構成要素の変換Cが挿入されているのに対し、もう一方のバージョンでは挿入されていないため、それぞれの出力が2つのバージョン間で異なる可能性がある。データ系統グラフ240を調査するユーザは、比較される2つのバージョン間で変換Cが差分であることを容易に判断し、さらに、そのノードの下流にあるノード自体は2つのバージョン間で同じであっても、それら下流ノードで表されるすべての構成要素の出力も変わってくる可能性があることを判断することができる。したがって、2つのバージョン間の変化の影響が及ぶ範囲を迅速に判定することができる。
実装によっては(図示せず)、データ系統の上流の変更が原因で対応する構成要素の出力が変化する可能性のあるノードであってそれ自体は変更のないノードをより明瞭に強調表示して、そのようなノードのステータスの追加的な表示を付加することができる。例えば、変更のあったノードの下流にあるノードを第2の網掛けまたは色で網掛けまたは色分けして、そのステータスをより明瞭に表すことができる。
例えば、変換B(ノード256で表される)は、中間データセット1から得られる情報を中間データセット2と組み合わせることができる。その一連のレコードはデータストア258に記憶される。ノード246およびノード248の縞模様の網掛けは、それらのノードで表される構成要素が比較対象のバージョン両方に存在するが、それらのノードが2つのバージョンで異なることを意味する。データ系統グラフ200を調査するユーザは、それらの差分がどこに出現するか、および2つのバージョン間の差分の影響の及ぶ範囲を容易に判断することができる。
例えば、データ系統グラフ240は、メタデータ管理システム130によって生成され、図1のユーザ端末152のグラフィカルユーザインターフェースを通じてユーザ150に表示することができる。
システム内の異なる構成要素についてのメタデータ間の差分を識別して強調表示するレポートを生成することができる。下記でさらに述べるように、データソース、データセット、ディレクトリ、ならびにフィールドおよび列に基づいてデータセットを比較するレポートを生成することができる。上記のようにデータ系統で識別されるデータ処理システムを記述する2つのバージョンのメタデータ間の差分を識別し、強調表示するレポートも生成することができる。実装によっては、そのようなレポートは、データ系統グラフの所定の区間に基づいて、データセット、データ構成要素、および変換を識別することができる。例えば、1番目の区間262は「最終データソース」と識別することができ、2番目の区間264は「最初の変換」と識別することができ、3番目の区間266は「中間データセット」と識別することができ、4番目の区間268は「第2の変換」と識別することができ、5番目の区間270は「レポート」と識別することができる。
図3Aは、データソースに基づいて2つの異なるアプリケーションのデータセットを比較するレポートの一例を示す。レポート300は、データ処理システム内のアプリケーションを記述するデータセット間の差分を識別する。レポート300の各行は、1つのアプリケーションで使用されるデータセットを表す。レポート300の各列は、アプリケーション、この例では「U.S.フィード」のデータソース302および「メキシコフィード」のデータソース304を表す。
レポート300で比較されるデータ処理システムのアプリケーションに存在する2つのバージョンのデータセット間の差分は網掛けで示される。縞模様の行(例えば縞模様の行306および310)は、その行または列に対応するデータセット(例えば「City-name.rej」データセットおよび「Customer.err」データセット)が両方のバージョンに存在するが、2つのバージョン間で異なる(例えば変更が加えられている)ことを示す。網掛けされた行および列(例えば網掛けされた行308および312)は、その行に対応するデータセット(例えば「Bogo_promos.dat」データセットおよび「Dg_Issues」データセット)が比較される2つのバージョンのうち一方のみに存在することを示す。
図3Bは、2つのデータセットを比較するレポートの一例を示す。レポート320は、データ処理システム内のアプリケーションを記述するデータセット間の差分を識別する。レポート320の各行は、データセット各々にあるデータ要素を表す。レポート320の各列は、データセット、この例では、「customer.dat」322および「customer.dat(2)」324と名付けられた2つのバージョンの顧客データセットを表す。
レポート320で比較される2つのバージョンのデータセット間の差分は網掛けで示される。縞模様の行(例えば縞模様の行330)は、その行または列に対応するデータ要素(例えば「Cust_birthday」のデータ要素)が両方のデータセットに存在するが2つのバージョン間で異なる(例えば変更が加えられている)ことを示す。網掛けされた行および列(例えば網掛けされた行328および332)は、その行に対応するデータ要素(例えば「Main_postcode」データセットおよび「Main_zipcode」データ要素)が、比較される2つのバージョンのうち一方のみに存在することを示す。
図3Cは、ディレクトリを比較するレポートの一例を示す。レポート340は、コンピュータシステムで使用されるディレクトリ間の差分を識別する。レポート340の各行は、そのディレクトリに記憶されたファイルを表す。レポート340の各列は、ディレクトリ、この例では、「Workarea(1)」ディレクトリ342および「Workarea(2)」ディレクトリ344内のファイルを表す。
2つのディレクトリ間の差分は網掛けで示される。縞模様の行(例えば縞模様の行346および350)は、その行または列に対応するファイル(例えば「Promotions.rej」ファイルおよび「Customers.rej」ファイル)が両方のバージョンに存在するが、2つのディレクトリ間で異なっている(例えば変更が加えられている)ことを示す。網掛けされた行および列(例えば網掛けされた行348および352)は、その行に対応するファイル(例えば「Cust_payments.dat」ファイルおよび「Promotions.dat」ファイル)が2つのディレクトリの一方のみに存在することを示す。
図3Dは、フィールドまたは列を比較するレポートの一例を示す。レポート360は、1つまたは複数のデータセット中のフィールドまたは列間の差分を識別する。レポート360の行は、フィールドまたは列の特性を表す。特性は追加的な列361で識別することができる。レポート360の各列は、データセットのフィールドまたは列、この例では「Cust_Birthday」フィールド362および「Cust_Birthday(2)」フィールド364を表す。
2つのフィールド間または列間の差分は網掛けで示される。縞模様の行(例えば縞模様の行366および370)は、その行または列に対応する各特性(例えば「データセット」特性および「ネイティブ型」特性)の値が両方のフィールドに存在するが、2つのフィールド間で異なっていることを示す。網掛けされた行および列(例えば網掛けされた行368および372)は、その行に対応する特性(例えば「デフォルト値」特性および「業務条件」特性)が2つのフィールドの一方のみに存在することを示す。
図3Eは、データ処理システムを記述する2つのバージョンのメタデータ間の差分を反映したデータ系統表380の一例を示す。この例では、データ系統表380は、図2Cのデータ系統図240に反映された、図2Aのデータ系統図200と図2Bのデータ系統図220との差分を反映している。
表の見出し行382は、図2Cに関して上述したようにデータ系統図の区間を識別する。1番目の列286は、データ系統図のレポート領域262に関連するデータ系統図の構成要素を識別し、2番目の列287は、データ系統図268の第2の変換の区間に関連するデータ系統図の構成要素を識別する。3番目の列288は、中間データセットの区間266に関連するデータ系統図の構成要素を識別する。4番目の列289は、最初の変換の区間264に関連するデータ系統図の構成要素を識別する。5番目の列290は、最終データソースの区間262に関連するデータ系統図の構成要素を識別する。
行284は、出力データセットに関連付けられた構成要素を示す。この例では、出力データセットのフィールドの大きさが拡大して、それが変換B、中間データセット1、中間データセット2、変換A、変換C、U.S.フィード、メキシコフィード、およびブラジルフィードに関連付けられていることを視覚的に識別することができる。フィールドごとに、フィールドの大きさを調整して構成要素間の関係を明確に示す。例えば、メキシコフィードおよびブラジルフィードは変換Cに関連付けられており、すなわち、図2Cを参照すると、メキシコフィード250およびブラジルフィード260は変換C252にデータを供給する。そのため、変換Cのフィールド294の大きさは、メキシコフィードのフィールドおよびブラジルフィードのフィールド296と視覚的に関連付けられるのに十分な大きさとなっている。
データ系統の2つの構成要素間の差分は網掛けで示すことができる。縞模様のフィールド(例えば縞模様のフィールド291、292)は、それらの構成要素がデータ系統図の両方のバージョンに存在するが、同じように変更されていることを示す。例えば、中間データセット1は、中間データセット1 206として図2Aのデータ系統図200に存在すると共に、中間データセット1 226として図2Bのデータ系統図220にも存在するが、レポートで反映されるデータセットには何らかの変更が行われている。
塗りつぶされたフィールド(例えば塗りつぶされたフィールド293、294、および296)は、複数のバージョンが比較される場合に、その構成要素がデータ系統図の1つのみに存在する、またはデータ系統図の少なくとも1つに存在しないことを示す。例えば、変換Cは、図2Bのデータ系統図220には存在するが、図2Aのデータ系統図200には存在しない。
データ系統のどの要素についてのメタデータでも比較を行うことができる。例えば、データセットのバージョンとデータ変換構成要素を比較することができる。図4に、例示的なメタデータバージョン比較処理400のフローチャートを示す。例えば、処理400は図1のメタデータ管理システム130によって行うことができる。
処理400はバージョン比較の要求が受け取られる402と開始することができる。実装によっては、要求は、他のバージョンが比較される対象となる基本バージョンまたは基準バージョンの明示的または暗黙的な識別を含む場合もある。要求は、それについてのメタデータを入手することが可能なデータ処理システムのさらに一つの追加的バージョンの識別を含む場合もある。実装によっては、要求は、基本バージョンを指定せずに、データ処理システムを記述するメタデータの2つまたはそれ以上のバージョンを識別する情報を含む。例えば、バージョンを識別する情報は、データ処理システムのバージョンに関連付けられた一意のバージョンタグを含むことができる。
比較の要求で識別されるバージョンは互いと様々な関係を有する可能性がある。実装によっては、第1のバージョンのメタデータと第2のバージョンのメタデータが改訂の履歴において祖先−子孫の関係を有する。例えば、第1のバージョンが第2のバージョンのより最近の改訂である、または第2のバージョンが第1のバージョンのより最近の改訂である場合がある。実装によっては、第1のバージョンのメタデータと第2のバージョンのメタデータが改訂の履歴で共通の祖先を有するが、どちらのバージョンのメタデータも他方のバージョンのメタデータの子孫ではない。例えば、第1のバージョンと第2のバージョンが、それらより古い第3のバージョンから共に派生した並行した代替の開発経路に対応する場合がある。実装によっては、第1のバージョンのメタデータと第2のバージョンのメタデータが、同時に用いられているデータ処理システムの各実装を記述する。例えば、第1のバージョンのメタデータは、第1の地理的領域(例えば北アメリカ)に配置されたデータ処理システムのインスタンスを記述し、第2のバージョンのメタデータは、第2の地理的領域(例えばヨーロッパ)に配置されたデータ処理システムのインスタンスを記述する。別の例では、第1のバージョンのメタデータがデータ処理システムの試験モードのインスタンスを記述し、第2のバージョンのメタデータがデータ処理システムの生産モードのインスタンスを記述する。
実装によっては、要求は、要求を受け取る処理装置にローカルに接続されたハードウェア(例えばコンピュータモニタや、キーボードおよび/またはマウス)を含むユーザインターフェース(例えばグラフィカルユーザインターフェース)を通じて受け取られる。例えば、要求は、図1のメタデータ管理システム130のユーザインターフェースを通じて受け取られる402。実装によっては、要求は、遠隔の処理装置からネットワークインターフェースを通じてサーバによって受け取られる。例えば、要求は、遠隔の処理装置で動作するユーザ端末152からメタデータ管理システム130のネットワークインターフェースを通じて受け取られる402。
データ処理システムを記述する第1のバージョンのメタデータが取得される404。実装によっては、第1のバージョンのメタデータに対応する一意のタグおよび参照表を使用して、第1のバージョンのメタデータについてのメタデータにアクセスする。例えば、リレーショナルデータベースが、データ処理システムの構成要素に関連付けられたメタデータオブジェクトを指す外部キーを一覧表示する参照表を含むことができる。実装によっては、データ処理システムの構成要素を記述するメタデータオブジェクトが、外部キーとして1つまたは複数のバージョンタグを含むことができる。第1のバージョンのメタデータを取得する404と、リレーショナルデータベースを照会して、第1のバージョンに対応するバージョンタグを含むすべてのメタデータオブジェクトを返すことができる。例えば、図1のメタデータ管理システム130により、データストレージ140にあるリレーショナルデータベース142から第1のバージョンのメタデータを取得することができる404。
データ処理システムの構成要素間の依存関係の表現が生成される406。表現は、データ処理システムを記述する第1のバージョンのメタデータに基づく第1のデータ系統を反映することができる。実装によっては、表現は、データ処理システムの構成要素を表すノードと、データ処理システムの構成要素間のデータの流れを表す有向エッジとを持つグラフを含むことができる。例えば、図2は、データ処理システムの構成要素間の依存関係を反映するデータ系統グラフの一例を示す。実装によっては、表現は、データ処理システムの構成要素を一覧表示する表を含むことができる。例えば、図3は、データ処理システムの構成要素間の依存関係を反映するデータ系統表の一例を示す。実装によっては、表現は、保存されたファイル、ネットワークを通じて送信されたデータのパケット、またはデータ処理システムの構成要素間の依存関係を反映する他のデータを含む場合もある。例えば、表現は、図1のメタデータ管理システム130によって生成することができる406。
データ処理システムを記述する第2のバージョンのメタデータが取得される408。実装によっては、第2のバージョンのメタデータについてのメタデータは、第2のバージョンのメタデータに対応する一意のタグおよび参照表を使用してアクセスされる。例えば、リレーショナルデータベースが、データ処理システムの構成要素に関連付けられたメタデータオブジェクトを指す外部キーを一覧表示する参照表を含むことができる。外部キーの一部は、データ処理システムを記述するメタデータの基本バージョンまたは基準バージョンに関連付けられたメタデータオブジェクトを指すことができる。他の外部キーは、基本バージョンまたは基準バージョンとは異なるメタデータオブジェクトを指すことができる。その理由は、対応するデータ処理システムの構成要素についてのメタデータオブジェクトは、バージョンタグに関連付けられたバージョンと異なるため、またはメタデータオブジェクトが、基本バージョンまたは基準バージョンに存在しない構成要素に対応するためである。場合によっては、基本バージョンまたは基準バージョンに存在するメタデータオブジェクトが、バージョンタグに関連付けられたバージョンに存在しないことがある。
実装によっては、バージョンタグは、そのバージョンタグに関連付けられた参照表中の値で明示的に置き換えられない限り、基本バージョンまたは基準バージョンのすべてのメタデータオブジェクトに暗黙的に関連付けられる。例えば、バージョンタグに対応する参照表の項目は、基本バージョンとの差分のみを記号化することができる。構成要素を記述するメタデータオブジェクトが基本バージョン中で省略される場合、参照表は、そのメタデータオブジェクトを指す外部キーを有する項目を含むことができる。バージョンタグに関連付けられたバージョンで構成要素を記述するメタデータオブジェクトに(基本バージョンと比較して)変更が加えられた場合、参照表は、基本バージョンに関連付けられたメタデータオブジェクトと、バージョンタグに関連付けられたメタデータオブジェクトとの両方を指す外部キーを有する項目を含むことができる。バージョンタグに関連付けられたバージョンで構成要素を記述するメタデータオブジェクトが省略される場合、参照表は、基本バージョンに関連付けられたメタデータオブジェクトを指す外部キーと、その削除を反映する空キーとを持つ項目を含むことができる。
実装によっては、基本バージョンすなわち基準バージョンがない場合があり、各バージョンタグは、その特定のバージョンに関連付けられたメタデータオブジェクトの任意の集まりを指す外部キーの組に関連付けられる。
例えば、図1のメタデータ管理システム130により、データストレージ140にあるリレーショナルデータベース142から第1のバージョンのメタデータを取得する404ことができる。
データ処理システム内の構成要素間の依存関係の表現を増強して410、第1のデータ系統と、データ処理システムを記述する第2のバージョンのメタデータに基づく第2のデータ系統との差分を反映する。実装によっては、2つのバージョンのそれぞれのバージョンタグに関連付けられたメタデータオブジェクトを指す外部キーのリストを比較することによって差分が検出される場合もある。実装によっては、第2のバージョンだけについてのメタデータオブジェクトを指す外部キーのリストを読み出すことによって差分が検出される場合もあり、その場合、リストは基本バージョンまたは基準バージョンである第1のバージョンとの差分を明示的に示す形式で生成および/または記憶されている。実装によっては、2つのそれぞれのバージョンタグに関連付けられたメタデータオブジェクトを直接比較することによって差分が検出される。
差分は表現中で各種方式で表すことができる。例えば、表現の特定の要素を色分けして、データ処理システムの構成要素を記述するメタデータオブジェクトの(第1のバージョンと比較した)削除または変更を反映することができる。(第1のバージョンと比較した)追加的な(例えば新しい)メタデータオブジェクトを反映する表示または他のデータを表現に追加してもよい。実装によっては、表現はデータ系統グラフを含み、2つのバージョンのメタデータ間の差分を少なくとも部分的にノードの色分けによって反映して、第1のバージョンのメタデータと第2のバージョンのメタデータの間で変更された構成要素を示す。実装によっては、2つのバージョンのメタデータ間の差分を少なくとも部分的にノードの色分けで反映して、データ系統の上流の変化が原因で第1のバージョンのメタデータと第2のバージョンのメタデータとで出力が変わる構成要素を示す。例えば、(第1のバージョンと比較して)第2のバージョンでそれ自体が変更されているメタデータオブジェクトを表すノードに第1の色(例えば黄色)を適用し、それ自体は変更が加えられていないが、データ系統の上流の変更が原因で異なる出力を生成する可能性のあるメタデータオブジェクトを表すノードに第2の色(例えば赤)を適用することができる。
実装によっては、表現はデータ系統表を含み、2つのバージョンのメタデータ間の差分を表のセルの色分けで少なくとも部分的に反映して、第1のバージョンのメタデータと第2のバージョンのメタデータの間で変化のあった構成要素を示す。実装によっては、2つのバージョンのメタデータ間の差分を少なくとも部分的に表のセルの色分けによって反映して、データ系統の上流の変化が原因で第1のバージョンのメタデータと第2のバージョンのメタデータとで出力が変わる構成要素を示す。例えば、(第1のバージョンと比較して)第2のバージョンでそれ自体に変更が加えられているメタデータオブジェクトを表すセルに第1の色(例えば黄色)を適用し、それ自体は変更されていないが、データ系統の上流の変更が原因で異なる出力を生成する可能性のあるメタデータオブジェクトを表すセル(例えば上流の依存関係を示す1つのセルや、影響を受けるメタデータに関連付けられたセルの行または列)に第2の色(例えば赤)を適用することができる。
実装によっては、表現中で反映される差分は、第1のバージョンのメタデータと第2のバージョンのメタデータの構造的な差分に限定される。例えば、メタデータオブジェクトのコメント部分の変化は除外して表現に反映させず、一方、データ処理に影響する可能性のあるメタデータオブジェクトの構造的な(例えば大幅な)変化は表現に反映させることができる。
例えば、図1のメタデータ管理システム130により表現を増強することができる410。
バージョンの比較要求の処理は、その要求で識別されるすべてのバージョンが少なくとも1つの他のバージョンと比較されるまで412継続することができる。例えば、表現をさらに増強して、第1のデータ系統と、データ処理システムを記述する第3のバージョンのメタデータに基づく第3のデータ系統との差分を反映することができる。実装によっては、第1のバージョン以外の各バージョンが第1のバージョン(例えば指定された基本バージョンまたは基準バージョン)と比較される場合もある。
識別されたバージョンがすべて比較され、その比較を反映するように表現が増強されると412、表現を記憶、送信、および/または表示することができる714。例えば、表現は、データ系統グラフやデータ系統表を生成するために読み出されて使用される可能性のあるファイルを含む場合があり、そのファイルをメタデータ管理システム120により図1のデータストレージ140に記憶することができる。実装によっては、1つまたは複数のネットワークプロトコルメッセージのペイロードに表現を符号化して、そのメッセージを電子通信ネットワークを介して(例えばメタデータ管理システム130のネットワークインターフェースを通じて)(例えばユーザ端末152に)送信することができる。実装によっては、グラフィカルユーザインターフェースを通じて表現をユーザに表示することができる。例えば、表現は、ユーザ端末152のグラフィカルユーザインターフェースを通じて、データ系統グラフやデータ系統表としてユーザ150に表示することができる。
上記のメタデータバージョン比較の手法は、コンピュータで実行されるソフトウェアを使用して実装することができる。例えば、ソフトウェアは、プログラムされた、またはプログラム可能な1つまたは複数のコンピュータシステム(分散、クライアント/サーバ、またはグリッドなどの各種アーキテクチャをとることができる)で実行される1つまたは複数のコンピュータプログラム中のプロシージャを形成し、各コンピュータシステムは、少なくとも1つのプロセッサ、少なくとも1つのデータ記憶システム(揮発性および不揮発性メモリならびに/または記憶素子を含む)、少なくとも1つの入力装置またはポート、および少なくとも1つの出力装置またはポートを含む。ソフトウェアは、例えばデータフローグラフの設計および構成に関連する他のサービスを提供する、より大きなプログラムの1つまたは複数のモジュールを形成することも可能である。グラフのノードおよび要素は、コンピュータ読取り可能媒体に記憶されたデータ構造として、またはデータ保存場所に記憶されたデータモデルに準拠した他の組織化されたデータとして実装することができる。
ソフトウェアは、汎用または特殊目的のプログラム可能コンピュータで読取り可能なCD−ROMなどの記憶媒体で提供する、または、ネットワークの通信媒体を通じて、実行されるコンピュータの記憶媒体に(伝搬信号に符号化した状態で)配信することもできる。すべての機能は、特殊目的のコンピュータで行うか、またはコプロセッサなどの特殊目的のハードウェアを使用して行うことができる。ソフトウェアは、ソフトウェアによって指示される演算の異なる部分が異なるコンピュータで行われる分散方式で実装することもできる。そのような各コンピュータプログラムは、好ましくは、汎用または特殊目的のプログラム可能コンピュータで読取り可能な有形の非一時的記憶媒体または装置(例えば固体素子メモリもしくは媒体、または磁気媒体もしくは光学媒体)に記憶されるか、またはダウンロードされて、記憶媒体または装置がコンピュータシステムによって読み取られるとコンピュータを構成し、動作させて、本明細書に記載の手順を行う。本発明のシステムは、コンピュータプログラムを備えて構成されたコンピュータ読取り可能記憶媒体として実装されると考えることもでき、その場合は、そのように構成された記憶媒体が、本明細書に記載の機能を行うようにコンピュータシステムを特定の事前定義された方式で動作させる。
本発明のいくつかの実施形態について説明した。ただし、本発明の主旨および範囲から逸脱することなく各種の変更を加えることが可能であることは理解されよう。例えば、上記の工程の一部は順序に依存せず、したがって説明した順序と異なる順序で行うことができる。
前述の説明は例示を目的するものであり、本発明の範囲を限定するものではないことを理解されたい。本発明の範囲は添付の特許請求の範囲によって定義される。例えば、上記の機能工程のいくつかは、全体的な処理に実質的な影響を与えることなく、異なる順序で行うことができる。図2および図3の例で説明され、本願全体で参照される商品注文に関する特定のデータ処理の詳細事項は、メタデータ管理システムとそれに関連する処理の能力を例示するものに過ぎないことを強調しておく。ここに提示される特定のデータ処理システムの詳細は必須の特徴ではなく、特許請求の範囲を限定するものとは解釈すべきでない。以下の特許請求の範囲内に他の実施形態がある。

Claims (28)

  1. 1つまたは複数のデータ処理装置によって行われる方法であって、
    ノードを含む第1のグラフ中の第1のノードを選択するユーザ入力を受け取る工程と、
    前記第1のノードに関連付けられた第1のオブジェクトの第1のデータ系統を受け取る工程であって、前記第1のオブジェクトはタイプを有し、前記第1のデータ系統は、前記第1のオブジェクトと1つまたは複数のデータセットまたは変換との間の関係を記述する、工程と、
    ノードを含む第2のグラフから第2のノードを選択するユーザ入力を受け取る工程と、
    前記第2のノードに関連付けられた第2のオブジェクトの第2のデータ系統を受け取る工程であって、前記第2のオブジェクトは前記第1のオブジェクトと同じタイプを有し、前記第2のデータ系統は、前記第1のオブジェクトと1つまたは複数の他のデータセットまたは変換との間の関係を記述する、工程と、
    前記第1のノードおよび前記第1のデータ系統と、前記第2のノードおよび前記第2のデータ系統との比較を行う工程と、
    前記比較に基づいてレポートを生成する工程と
    を含む方法。
  2. 前記第1のノードの前記タイプが、データセットのフィールド、データセットの列、データセット、または変換、からなる群の1つである、請求項1に記載の方法。
  3. 前記グラフが、前記データ処理システムの構成要素を表すノードと、前記データ処理システムの構成要素間のデータの流れを表す有向エッジとを含む、請求項1に記載の方法。
  4. 前記差分が、前記第1のオブジェクトと前記第2のオブジェクトとの間の構造的な差分に限定される、請求項1に記載の方法。
  5. 前記第1のオブジェクトがオブジェクトの第1のバージョンであり、前記第2のオブジェクトが前記オブジェクトの第2のバージョンである、請求項1に記載の方法。
  6. 前記第1のバージョンのオブジェクトに対応する一意のタグと参照表とを使用して前記第1のバージョンの前記オブジェクトにアクセスする工程と、
    前記第2のバージョンの前記オブジェクトに対応する一意のタグと参照表とを使用して前記第2のバージョンの前記オブジェクトにアクセスする工程と
    をさらに含む、請求項5に記載の方法。
  7. 前記第1のバージョンの前記オブジェクトと前記第2のバージョンの前記オブジェクトとが、改訂の履歴において祖先−子孫の関係を有する、請求項5に記載の方法。
  8. 前記第1のバージョンの前記オブジェクトと前記第2のバージョンの前記オブジェクトとが、改訂の履歴において共通の祖先を有するが、どちらのバージョンのオブジェクトも他方のバージョンのオブジェクトの子孫ではない、請求項5に記載の方法。
  9. 前記第1のバージョンの前記オブジェクトと前記第2のバージョンの前記オブジェクトが、同時に用いられている前記データ処理システムの各実装を記述する、請求項5に記載の方法。
  10. コンピュータプログラム命令が符号化された非一時的なコンピュータ記憶媒体であって、前記コンピュータプログラム命令は、1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、
    ノードを含む第1のグラフ中の第1のノードを選択するユーザ入力を受け取る工程と、
    前記第1のノードに関連付けられた第1のオブジェクトの第1のデータ系統を受け取る工程であって、前記第1のオブジェクトはタイプを有し、前記第1のデータ系統は、前記第1のオブジェクトと1つまたは複数のデータセットまたは変換との間の関係を記述する、工程と、
    ノードを含む第2のグラフから第2のノードを選択するユーザ入力を受け取る工程と、
    前記第2のノードに関連付けられた第2のオブジェクトの第2のデータ系統を受け取る工程であって、前記第2のオブジェクトは前記第1のオブジェクトと同じタイプを有し、前記第2のデータ系統は、前記第1のオブジェクトと1つまたは複数の他のデータセットまたは変換との間の関係を記述する、工程と、
    前記第1のノードおよび前記第1のデータ系統と、前記第2のノードおよび前記第2のデータ系統との比較を行う工程と、
    前記比較に基づいてレポートを生成する工程と
    を含む動作を行わせる媒体。
  11. 前記第1のノードの前記タイプが、データセットのフィールド、データセットの列、データセット、または変換、からなる群の1つである、請求項10に記載の媒体。
  12. 前記グラフが、前記データ処理システムの構成要素を表すノードと、前記データ処理システムの構成要素間のデータの流れを表す有向エッジとを含む、請求項10に記載の媒体。
  13. 前記差分が、前記第1のオブジェクトと前記第2のオブジェクトとの間の構造的な差分に限定される、請求項10に記載の媒体。
  14. 前記第1のオブジェクトがオブジェクトの第1のバージョンであり、前記第2のオブジェクトが前記オブジェクトの第2のバージョンである、請求項10に記載の媒体。
  15. 前記第1のバージョンのオブジェクトに対応する一意のタグと参照表とを使用して前記第1のバージョンの前記オブジェクトにアクセスする工程と、
    前記第2のバージョンの前記オブジェクトに対応する一意のタグと参照表とを使用して前記第2のバージョンの前記オブジェクトにアクセスする工程と
    をさらに含む、請求項14に記載の媒体。
  16. 前記第1のバージョンの前記オブジェクトと前記第2のバージョンの前記オブジェクトとが、改訂の履歴において祖先−子孫の関係を有する、請求項14に記載の媒体。
  17. 前記第1のバージョンの前記オブジェクトと前記第2のバージョンの前記オブジェクトとが、改訂の履歴において共通の祖先を有するが、どちらのバージョンのオブジェクトも他方のバージョンのオブジェクトの子孫ではない、請求項14に記載の媒体。
  18. 前記第1のバージョンの前記オブジェクトと前記第2のバージョンの前記オブジェクトが、同時に用いられている前記データ処理システムの各実装を記述する、請求項14に記載の媒体。
  19. 1つまたは複数のコンピュータと、命令を記憶する1つまたは複数の記憶装置とを備えるシステムであって、前記命令は、前記1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、
    ノードを含む第1のグラフ中の第1のノードを選択するユーザ入力を受け取る工程と、
    前記第1のノードに関連付けられた第1のオブジェクトの第1のデータ系統を受け取る工程であって、前記第1のオブジェクトはタイプを有し、前記第1のデータ系統は、前記第1のオブジェクトと1つまたは複数のデータセットまたは変換との間の関係を記述する、工程と、
    ノードを含む第2のグラフから第2のノードを選択するユーザ入力を受け取る工程と、
    前記第2のノードに関連付けられた第2のオブジェクトの第2のデータ系統を受け取る工程であって、前記第2のオブジェクトは前記第1のオブジェクトと同じタイプを有し、前記第2のデータ系統は、前記第1のオブジェクトと1つまたは複数の他のデータセットまたは変換との間の関係を記述する、工程と、
    前記第1のノードおよび前記第1のデータ系統と、前記第2のノードおよび前記第2のデータ系統との比較を行う工程と、
    前記比較に基づいてレポートを生成する工程と
    を含む動作を行わせるように動作可能であるシステム。
  20. 前記第1のノードの前記タイプが、データセットのフィールド、データセットの列、データセット、または変換、からなる群の1つである、請求項19に記載のシステム。
  21. 前記グラフが、前記データ処理システムの構成要素を表すノードと、前記データ処理システムの構成要素間のデータの流れを表す有向エッジとを含む、請求項19に記載のシステム。
  22. 前記差分が、前記第1のオブジェクトと前記第2のオブジェクトとの間の構造的な差分に限定される、請求項19に記載のシステム。
  23. 前記第1のオブジェクトがオブジェクトの第1のバージョンであり、前記第2のオブジェクトが前記オブジェクトの第2のバージョンである、請求項19に記載のシステム。
  24. 前記第1のバージョンのオブジェクトに対応する一意のタグと参照表とを使用して前記第1のバージョンの前記オブジェクトにアクセスする工程と、
    前記第2のバージョンの前記オブジェクトに対応する一意のタグと参照表とを使用して前記第2のバージョンの前記オブジェクトにアクセスする工程と
    をさらに含む、請求項23に記載のシステム。
  25. 前記第1のバージョンの前記オブジェクトと前記第2のバージョンの前記オブジェクトとが、改訂の履歴において祖先−子孫の関係を有する、請求項23に記載のシステム。
  26. 前記第1のバージョンの前記オブジェクトと前記第2のバージョンの前記オブジェクトとが、改訂の履歴において共通の祖先を有するが、どちらのバージョンのオブジェクトも他方のバージョンのオブジェクトの子孫ではない、請求項23に記載のシステム。
  27. 前記第1のバージョンの前記オブジェクトと前記第2のバージョンの前記オブジェクトが、同時に用いられている前記データ処理システムの各実装を記述する、請求項23に記載のシステム。
  28. 1つまたは複数のコンピュータと、命令を記憶する1つまたは複数の記憶装置とを備えるシステムであって、前記命令は、前記1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、
    ノードを含む第1のグラフ中の第1のノードを選択するユーザ入力を受け取る手段と、
    前記第1のノードに関連付けられた第1のオブジェクトの第1のデータ系統を受け取る手段であって、前記第1のオブジェクトはタイプを有し、前記第1のデータ系統は、前記第1のオブジェクトと1つまたは複数のデータセットまたは変換との間の関係を記述する手段と、
    ノードを含む第2のグラフから第2のノードを選択するユーザ入力を受け取る手段と、
    前記第2のノードに関連付けられた第2のオブジェクトの第2のデータ系統を受け取る手段であって、前記第2のオブジェクトは前記第1のオブジェクトと同じタイプを有し、前記第2のデータ系統は、前記第1のオブジェクトと1つまたは複数の他のデータセットまたは変換との間の関係を記述する、手段と、
    前記第1のノードおよび前記第1のデータ系統と、前記第2のノードおよび前記第2のデータ系統との比較を行う手段と、
    前記比較に基づいてレポートを生成する手段と
    を含む動作を行わせるように動作することが可能であるシステム。
JP2016502060A 2013-03-15 2014-03-13 メタデータ管理のシステム Active JP6618461B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361790074P 2013-03-15 2013-03-15
US61/790,074 2013-03-15
PCT/US2014/026133 WO2014151631A1 (en) 2013-03-15 2014-03-13 System for metadata management

Publications (2)

Publication Number Publication Date
JP2016520890A true JP2016520890A (ja) 2016-07-14
JP6618461B2 JP6618461B2 (ja) 2019-12-11

Family

ID=51533026

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016502060A Active JP6618461B2 (ja) 2013-03-15 2014-03-13 メタデータ管理のシステム

Country Status (10)

Country Link
US (1) US9477786B2 (ja)
EP (2) EP3493050A1 (ja)
JP (1) JP6618461B2 (ja)
KR (1) KR102143889B1 (ja)
CN (1) CN105144080B (ja)
AU (1) AU2014233672B2 (ja)
CA (1) CA2902821C (ja)
HK (1) HK1213335A1 (ja)
SG (1) SG11201506510WA (ja)
WO (1) WO2014151631A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020500369A (ja) * 2016-11-09 2020-01-09 アビニシオ テクノロジー エルエルシー データ要素間の関係を決定するためのシステム及び方法
JP2020501235A (ja) * 2016-12-01 2020-01-16 アビニシオ テクノロジー エルエルシー 系統メタデータの生成、アクセス、及び表示
US11354346B2 (en) 2008-12-02 2022-06-07 Ab Initio Technology Llc Visualizing relationships between data elements and graphical representations of data element attributes
US11495225B2 (en) 2019-06-20 2022-11-08 Honda Motor Co., Ltd. Response device, response method, and storage medium

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9229952B1 (en) 2014-11-05 2016-01-05 Palantir Technologies, Inc. History preserving data pipeline system and method
US11892913B2 (en) * 2015-01-05 2024-02-06 Rubrik, Inc. Data lineage based multi-data store recovery
KR102054568B1 (ko) * 2015-02-11 2020-01-22 아브 이니티오 테크놀로지 엘엘시 필터링 데이터 계통 다이어그램
US9996595B2 (en) 2015-08-03 2018-06-12 Palantir Technologies, Inc. Providing full data provenance visualization for versioned datasets
US9576015B1 (en) 2015-09-09 2017-02-21 Palantir Technologies, Inc. Domain-specific language for dataset transformations
WO2017112654A2 (en) * 2015-12-21 2017-06-29 Ab Initio Technology Llc Sub-graph interface generation
US9959154B2 (en) * 2016-02-16 2018-05-01 International Business Machines Corporation Identifying defunct nodes in data processing systems
US10007674B2 (en) * 2016-06-13 2018-06-26 Palantir Technologies Inc. Data revision control in large-scale data analytic systems
CN106503168A (zh) * 2016-10-31 2017-03-15 武汉大学 标准化遥感卫星数据集成通用元数据模型的建立方法
US10372761B2 (en) * 2016-12-28 2019-08-06 Sap Se Auto-discovery of data lineage in large computer systems
US10802698B1 (en) * 2017-02-06 2020-10-13 Lucid Software, Inc. Diagrams for structured data
US10956406B2 (en) 2017-06-12 2021-03-23 Palantir Technologies Inc. Propagated deletion of database records and derived data
US10360252B1 (en) * 2017-12-08 2019-07-23 Palantir Technologies Inc. Detection and enrichment of missing data or metadata for large data sets
US10769165B2 (en) * 2017-12-20 2020-09-08 Sap Se Computing data lineage across a network of heterogeneous systems
CN108133000B (zh) * 2017-12-21 2021-05-04 百度在线网络技术(北京)有限公司 一种元数据存储方法、装置和服务器
US10754822B1 (en) 2018-04-18 2020-08-25 Palantir Technologies Inc. Systems and methods for ontology migration
CN109710591A (zh) * 2018-12-27 2019-05-03 福建南威软件有限公司 元数据版本自动管理方法
US10481961B1 (en) 2019-04-02 2019-11-19 Capital One Services, Llc API and streaming solution for documenting data lineage
US11194845B2 (en) * 2019-04-19 2021-12-07 Tableau Software, LLC Interactive lineage analyzer for data assets
US12008006B1 (en) * 2019-09-04 2024-06-11 Palantir Technologies Inc. Assessments based on data that changes retroactively
US11086602B2 (en) * 2019-11-13 2021-08-10 Palantir Technologies Inc. Workflow application and user interface builder integrating objects, relationships, and actions
US11853304B2 (en) * 2021-08-27 2023-12-26 Striveworks Inc. System and method for automated data and workflow lineage gathering
CN116149724B (zh) * 2023-04-18 2023-09-22 清华大学 ***虚拟样机版本差异分析方法、装置和计算机设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000039944A (ja) * 1998-07-24 2000-02-08 Fuji Electric Co Ltd メンテナンスシステム、メンテナンス方法及び記憶媒体
JP2003044538A (ja) * 2001-07-27 2003-02-14 Mitsubishi Electric Corp 接続図面の編集表示装置、編集表示方法およびその方法をコンピュータに実行させるプログラム
US20070283322A1 (en) * 2005-01-13 2007-12-06 Ray Hsu Merging Graphical Programs Based on an Ancestor Graphical Program
WO2008009550A2 (en) * 2006-07-19 2008-01-24 International Business Machines Corporation Method and apparatus for comparing process designs
JP2010244157A (ja) * 2009-04-02 2010-10-28 Toshiba Corp 機能ブロック図処理装置,機能ブロック図処理方法,およびプログラム
JP2011517352A (ja) * 2008-02-26 2011-06-02 アビニシオ テクノロジー エルエルシー データ関連性のグラフ表現
JP2012510688A (ja) * 2008-12-02 2012-05-10 アビニシオ テクノロジー エルエルシー データ要素とデータ要素の属性のグラフ表現との関係の視覚化

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6598059B1 (en) * 2000-04-22 2003-07-22 Oracle Corp. System and method of identifying and resolving conflicts among versions of a database table
US20040255239A1 (en) * 2003-06-13 2004-12-16 Ankur Bhatt Generating electronic reports of data displayed in a computer user interface list view
US7698348B2 (en) * 2003-12-19 2010-04-13 Kinaxis Holdings Inc. Extended database engine providing versioning and embedded analytics
US7469262B2 (en) * 2003-12-29 2008-12-23 Oracle International Corporation Customizable metadata merging framework
US7493570B2 (en) * 2005-09-12 2009-02-17 International Business Machines Corporation User interface options of a data lineage tool
US7707183B2 (en) * 2006-07-21 2010-04-27 Netiq Corporation Methods, systems and computer program products for monitoring changes to objects on a computer system using information models and baselines
US8266122B1 (en) 2007-12-19 2012-09-11 Amazon Technologies, Inc. System and method for versioning data in a distributed data store
CN101631430A (zh) 2008-07-14 2010-01-20 华为技术有限公司 一种电路板组及电子设备
CN101957816B (zh) * 2009-07-13 2013-03-20 上海华燕置业发展有限公司 基于多页面比较的网页元数据自动抽取方法和***
US8819010B2 (en) * 2010-06-28 2014-08-26 International Business Machines Corporation Efficient representation of data lineage information
US20120310875A1 (en) * 2011-06-03 2012-12-06 Prashanth Prahlad Method and system of generating a data lineage repository with lineage visibility, snapshot comparison and version control in a cloud-computing platform
US9659042B2 (en) * 2012-06-12 2017-05-23 Accenture Global Services Limited Data lineage tracking
US10089335B2 (en) * 2012-07-10 2018-10-02 Microsoft Technology Licensing, Llc Data lineage across multiple marketplaces
CN102890720A (zh) * 2012-10-16 2013-01-23 南京通达海信息技术有限公司 数据库检查维护方法
US9063998B2 (en) * 2012-10-18 2015-06-23 Oracle International Corporation Associated information propagation system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000039944A (ja) * 1998-07-24 2000-02-08 Fuji Electric Co Ltd メンテナンスシステム、メンテナンス方法及び記憶媒体
JP2003044538A (ja) * 2001-07-27 2003-02-14 Mitsubishi Electric Corp 接続図面の編集表示装置、編集表示方法およびその方法をコンピュータに実行させるプログラム
US20070283322A1 (en) * 2005-01-13 2007-12-06 Ray Hsu Merging Graphical Programs Based on an Ancestor Graphical Program
WO2008009550A2 (en) * 2006-07-19 2008-01-24 International Business Machines Corporation Method and apparatus for comparing process designs
JP2011517352A (ja) * 2008-02-26 2011-06-02 アビニシオ テクノロジー エルエルシー データ関連性のグラフ表現
JP2012510688A (ja) * 2008-12-02 2012-05-10 アビニシオ テクノロジー エルエルシー データ要素とデータ要素の属性のグラフ表現との関係の視覚化
JP2012510689A (ja) * 2008-12-02 2012-05-10 アビニシオ テクノロジー エルエルシー データ要素間の関係性の視覚化
JP2010244157A (ja) * 2009-04-02 2010-10-28 Toshiba Corp 機能ブロック図処理装置,機能ブロック図処理方法,およびプログラム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11354346B2 (en) 2008-12-02 2022-06-07 Ab Initio Technology Llc Visualizing relationships between data elements and graphical representations of data element attributes
JP2020500369A (ja) * 2016-11-09 2020-01-09 アビニシオ テクノロジー エルエルシー データ要素間の関係を決定するためのシステム及び方法
US11226957B2 (en) 2016-11-09 2022-01-18 Ab Initio Technology Llc Systems and methods for determining relationships among data elements
JP7132918B2 (ja) 2016-11-09 2022-09-07 アビニシオ テクノロジー エルエルシー データ要素間の関係を決定するためのシステム及び方法
JP2020501235A (ja) * 2016-12-01 2020-01-16 アビニシオ テクノロジー エルエルシー 系統メタデータの生成、アクセス、及び表示
JP2022033825A (ja) * 2016-12-01 2022-03-02 アビニシオ テクノロジー エルエルシー 系統メタデータの生成、アクセス、及び表示
US11741091B2 (en) 2016-12-01 2023-08-29 Ab Initio Technology Llc Generating, accessing, and displaying lineage metadata
JP7410919B2 (ja) 2016-12-01 2024-01-10 アビニシオ テクノロジー エルエルシー 系統メタデータの生成、アクセス、及び表示
US11495225B2 (en) 2019-06-20 2022-11-08 Honda Motor Co., Ltd. Response device, response method, and storage medium

Also Published As

Publication number Publication date
CA2902821A1 (en) 2014-09-25
AU2014233672B2 (en) 2018-03-01
CN105144080A (zh) 2015-12-09
HK1213335A1 (zh) 2016-06-30
US20140279979A1 (en) 2014-09-18
KR102143889B1 (ko) 2020-08-12
KR20150132858A (ko) 2015-11-26
EP2972770A4 (en) 2016-11-16
JP6618461B2 (ja) 2019-12-11
EP3493050A1 (en) 2019-06-05
SG11201506510WA (en) 2015-09-29
CA2902821C (en) 2021-06-01
US9477786B2 (en) 2016-10-25
CN105144080B (zh) 2021-05-18
AU2014233672A1 (en) 2015-09-03
EP2972770A1 (en) 2016-01-20
WO2014151631A1 (en) 2014-09-25

Similar Documents

Publication Publication Date Title
JP6618461B2 (ja) メタデータ管理のシステム
US11036735B2 (en) Dimension context propagation techniques for optimizing SQL query plans
US11321346B2 (en) Minimized and collapsed resource dependency path
US20200125530A1 (en) Data management platform using metadata repository
JP6434960B2 (ja) フローベースのetlおよびエンティティリレーションシップベースのetlの組合せのサポート
US8762428B2 (en) Rapidly deploying virtual database applications using data model analysis
US10846273B2 (en) System and method for automatic inference of a cube schema from a tabular data for use in a multidimensional database environment
US20110313969A1 (en) Updating historic data and real-time data in reports
JP6412924B2 (ja) Etlマップ設計のためのプロジェクタおよびセレクタコンポーネントタイプの使用
US20160179930A1 (en) Building Reports
EP3433771B1 (en) Method and computer-readable medium for incremental data conversion using a synchronization information record
US20100161676A1 (en) Lifecycle management and consistency checking of object models using application platform tools
CN113962597A (zh) 一种数据分析方法、装置、电子设备及存储介质
US11636421B1 (en) Model driven reporting
US20150120605A1 (en) Virtual data write-back for business intelligence reporting
Lake et al. A history of databases
Jyoti et al. Salesforce Data Architecture
CN117980892A (zh) 与数据分析环境一起使用的用于查询加速的***和方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171215

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180226

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180827

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20181107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190401

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190611

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190827

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191001

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

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20191028

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191112

R150 Certificate of patent or registration of utility model

Ref document number: 6618461

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250