JP2004094425A - データベース構築処理変更方法 - Google Patents
データベース構築処理変更方法 Download PDFInfo
- Publication number
- JP2004094425A JP2004094425A JP2002252342A JP2002252342A JP2004094425A JP 2004094425 A JP2004094425 A JP 2004094425A JP 2002252342 A JP2002252342 A JP 2002252342A JP 2002252342 A JP2002252342 A JP 2002252342A JP 2004094425 A JP2004094425 A JP 2004094425A
- Authority
- JP
- Japan
- Prior art keywords
- information
- change
- database
- name
- job
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99934—Query formulation, input preparation, or translation
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)
Abstract
【解決手段】変更パタン情報として、パタン名とこれに対応した変数名、変数名に基づいた影響範囲検出開始先、影響範囲検出結果に基づく修正範囲を管理する。そして、変更パタン情報から選択したパタンに応じた変数値を登録し、変更パタンに対応して入力した変数値に基づき、複数ミドルウェア基盤上での変更対象を影響範囲情報として検出し、影響範囲情報を用いて、データベースのスキーマ定義、データ変換処理のコマンド群を変更内容に応じたものへ修正する。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は、データウェアハウスなどの複数ミドルウェア基盤を用いて実現されるデータベースシステムに対して、システム変更を容易にするシステム支援技術に関する。特に、変更パタンに応じて、複数ミドルウェア基盤の変更箇所特定と特定した変更箇所の修正処理を行うものである。本発明はデータウェアハウスに限らず、ウェッブシステムなどのウェッブ上で公開するためのデータベース情報を構築する処理に対するシステム変更支援にも関する。
【0002】
【従来の技術】
近年、百貨店、専門店、家電量販店、スーパーマーケットなど、幅広い業種において、各店舗や店舗グループ間で利用可能な独自の支払いカードなどにより、商品購入を行った顧客の属性データ(氏名、住所など)と顧客の購買履歴を取得できる。そこで個別の店舗で生じる、購買履歴を様々な分析手法の観点に応じたデータ加工を行うシステムが構築されるようになってきている。このような背景の下、購買履歴などの明細情報を様々な観点から集計や詳細情報の検索を行うデータウェアハウスと呼ばれるシステムがある。
【0003】
データウェアハウスは、データベースシステムの一分野として位置付けられる。このデータウェアハウスは、様々な観点に対応したデータ結果の出力を行うため、関係データベースと多次元データベース、データ加工処理ツール、データ加工処理ジョブのスケジュール管理ツールなど多くのミドルウェア基盤を用いて実現されることが多い。
【0004】
なお、多次元データベースは、従来の関係データベースと異なり、3次元以上の次元をもつデータベースである。関係データベースでは、データ格納を行うデータ構造をテーブルと呼ぶが、多次元データベースでは、データ格納を行うデータ構造をキューブと呼ぶ。例えば図2にはキューブの例として、年齢次元、部門次元、期間次元をもつ「年齢・部門・期間キューブ209」を示している。このキューブをある断面を表示したり、分析対象となる次元の階層を上げたり、下げたりする操作を行うことができる。
【0005】
多次元データベースに関しては、William A. Giovinazzo, ”Object−Oriented Data Warehouse Design Building a Star Scheme”, pp.1−2, PP.127−152, PRehTICE HALL, 2000 に記載されている。
【0006】
また、これらデータウェアハウスなど情報システムの構築期間の短期化傾向が強まっており、データウェアハウスに関しては、顧客の要求に応じたシステム構築の期間を短縮するために、以下のような技術が知られている。
【0007】
まず、第一の従来技術として、業種・業務別のパッケージであるIBM社のStartNow for Relationship Marketingは、CRM(Customer Relationship Management)に特化したハードウェア、ソフトウェア、分析モデル、業種別導入支援サービスを一体として提供している。(StartNow for Relationship MarketingはIBM社の登録商標)
第二の従来技術としては、データウェアハウス構築支援ツールであるInfocom社のRedBrick Warehouseは、データウェアハウス構築専門のデータベースである。さらに、データウェアハウスの設計、構築を支援するRed Brick Warehouse Administratorと呼ばれるツールは、データウェアハウスを構成するRDBテーブル間の関係を定義するGUIや、必要なディスク容量の概算を算出するGUIを提供している。RedBrickに関しては、Robert J. Hocutt, “The official guide to Informix/Red BRick Data Warehousing”, chapter 1, Hurgry Minds, Inc.,2000に記載されている。(RedBrick WarehouseはInfocom社の登録商標)また、Oracle社は、データウェアハウスの設計、実装、管理をするOracle Warehouse Builder(OWB)を提供している。OWBを利用すると、GUIにより、RDBテーブル、MDスキーマ、ETLジョブの設計が可能である。(Oracle Warehouse Builder(OWB)はOracle社の登録商標)
【0008】
【発明が解決しようとする課題】
第一の従来技術では、パッケージの適用により、導入期間を短縮することを目標としている。しかし、データウェアハウス及び分析システムは、自社の特長やビジネスモデルに基づいた戦略策定、意思決定を支援するシステムであるため、導入先ユーザから導入先の事情に応じた変更が求められる。しかしパッケージ内部の構成が複数ミドルウェア基盤上で実現されているため、変更に応じた修正箇所の特定や修正作業が容易ではない。変更箇所も予めパッケージとして想定された範囲に限定される。このため、変更要求が生じた場合には、従来技術1で述べたパッケージを利用しても、構築期間を短縮できない場合がある。また、このような従来技術によって多様な顧客要求に応じようとすると、予め予測される修正を行えるための変更に応じた多くの部品を管理する必要があり、システムで管理する部品が多くなるので、システム管理が複雑になる。
【0009】
特に、データウェアハウスの構築に当たっては、RDB、MDBやこれらの上でデータ加工を行うジョブを管理するジョブ管理システムなど多くのミドルウェア基盤を用いて実現されている。このため、外部仕様としては小さな変更を行うに当たっても、複数のミドルウェア基盤上での処理に対して変更を行うことになる。このため、(1)変更個所が複数ミドルウェア基盤上に分散され、変更箇所の検出に工数を要する、(2)検出した変更箇所を、複数ミドルウェアの開発環境で修正するため、整合性保持や確認作業に多くの工数を要する、(3)開発者に対して、複数ミドルウェア基盤に対する高度な知識を要求するため、対応可能な作業者が見つからず修正作業が行えない、といった課題が生じている。
【0010】
第2の従来技術では、構築支援ツールによりデータウェアハウスの設計、実装を支援するものである。こうしたツール類により、変更に伴う修正作業そのものは楽になるが、上記で述べた(1)(2)(3)の課題は解決できていない。開発者が個別の変更を修正し、全体の整合性を保持するにあたっては開発者自身が全体の影響関係を理解しながら修正作業を進める必要がある。
【0011】
そこで、本発明の目的は、予め登録された変更パタンに応じて、分析しシステムの内部構成を意識することなくデータウェアハウスシステムを変更できるデータベース構築処理変更方法を提供することにある。
【0012】
【課題を解決するための手段】
本発明では、変更パタン情報として、変更の内容を示すパタン名とこれに対応した変数名、変数名に基づいた影響範囲検出開始先、影響範囲検出結果に基づく修正範囲を管理する。そして、変更パタン情報からパタンを選択し、パタンに応じた変数値を登録し、変更パタンに対応して入力した変数値に基づき、複数ミドルウェア基盤上での変更対象を影響範囲情報として検出し、影響範囲情報を用いて、データベースのスキーマ定義、データ変換処理のコマンド群を、変更内容に応じて修正する。これら処理により、開発者は変更パタン選択とこれに対応した変数値入力のみでシステム変更が可能になる。開発者が、内部のどの部品を検索条件として、内部処理の影響範囲を検出するのか、どのリソースに対して変更を加えるべきか、などの詳細情報を意識することなく、データウェアハウスなどのデータベースシステムの動作を変更できる。
【0013】
また、本発明では、複数ミドルウェア間の連携を考慮した変更箇所の影響範囲を検出する処理と、影響範囲に応じた修正変更を行う処理を有するため、複数ミドルウェアの環境にて個別の変更箇所検出と修正を行う必要がなくなる。
【0014】
【発明の実施の形態】
以下、図面を用いて、本発明の実施の形態について説明する。
【0015】
まず、図2を用いてデータウェアハウスシステムの概略を説明する。データウェアハウスシステムでは、図2に示すようにデータ変換処理を多段階に行うことにより、最終的には多次元データベース(以下図面等においてMDBとも表記する)上にキューブと呼ばれるものを構築する。この例では取引明細入力ファイル201を入力として、入力ファイル格納202処理を行うことにより、取引明細情報203を出力する。以下、顧客・部門別サマリ204、年齢・部門・期間ロード情報作成206、キューブへのデータロード208などのデータ加工処理が行われ、関係データベース(以下図面等においてRDBとも表記する)上の中間テーブル(203、205、207)に途中結果を格納する。
【0016】
なお、中間テーブルを作成するに当たっては、実行時参照情報と呼ぶマスタ類を参照する場合がある。例えば、図2の「年間・部門・期間ロード情報作成206」では、業務の月締め開始・終了日を知るために、カレンダマスタ213として、図5に示すカレンダテーブル531を参照する。カレンダテーブル531には業務の月初めが何日から始まり何日に終わるかを示すためのフラグをカレンダテーブル531の項目「月締め」において管理している。図5の例では1日始まりの31日終わりになっている。この項目を「年間・部門・期間ロード情報作成206」の処理にて参照することにより、業務の月締め開始・終了日を取得している。すなわち、実行時参照情報であるカレンダテーブル531の値を変更すれば、「年間・部門・期間ロード情報作成206」で扱われる業務の月締め開始・終了日を変更できる。
【0017】
図2に示したデータウェアハウスのデータ構築処理は、外部からのデータ投入を行う入力ファイル、データ構築の最終結果として得られるキューブ、中間のデータ加工結果を保持するテーブル、テーブルやキューブおよび入力ファイル間のデータ変換を行うジョブ、データ変換処理においてカレンダマスタなどのようなデータ加工処理時に参照利用される実行時参照情報からなる。
【0018】
このように多段階のデータ変換処理の結果としてキューブが構築されるため、年齢・部門・期間キューブに対して項目の追加を行えば図2に示す全ての要素に対して変更の影響が波及する。
【0019】
図2に示したデータウェアハウスの変更の際に、まず影響先を検出し、次に影響先として検出したリソースを変更する必要がある。しかし、従来技術ではこれらの作業には多くの工数を要する。本発明では、影響先検出作業と検出結果の応じた変更作業を容易にする。
【0020】
以下ではまず、図1を用いて本発明の構成を説明する。本システムは変更処理部110、変更パタン情報120、DWHメタ情報130、影響範囲情報140及びDWH構築情報150よりなる。変更処理部110は、変更パタン指定111、変更範囲検出112及びDWH構築情報の変更113よりなる。
【0021】
変更パタン指定111では、変更パタン情報120を読み込み、変更パタンの一覧が図9に示す変更パタン選択画面上のパタン名一覧表示領域911に表示される。パタン名一覧表示領域911からユーザが必要と思われるパタン名を選択すると、システム内部では、選択パタン名をキーとして変更パタン情報120を検索し、この条件に合致した変数名を図9の変数名表示領域912に表示する。そして、ユーザは表示された変数名に対応した値を値入力領域913に入力する。そして、図9の変更パタン選択画面910上の登録ボタンを押す。
【0022】
すると、変更範囲検出112では、選択されたパタンとパタンの変数名に基づいて入力された値を用いて、キューブ、テーブル、入力ファイル、ジョブ、及び実行時参照情報のそれぞれに対して影響範囲の検出処理を行う。そして、影響範囲の検出結果を影響範囲情報140に格納する。影響範囲情報140には、「指定された変更パタンに応じて、キューブ、テーブル、入力ファイル、ジョブ、及び実行時参照情報に対してどのような変更が必要か」を示す情報を格納する。
【0023】
そして、DWH構築情報の変更113では、影響範囲情報140に基づき、DWHメタ情報130の変更を行う。そして、変更後のDWHメタ情報130を用いてDWH構築情報150を生成する。このDWH構築情報150は、ジョブ管理ツールや多次元データベース、関係データベースといったミドルウェア基盤で動作するコマンドや実行ファイルからなる。上記の処理により、指示されたパタンの変更内容を反映したDWH構築情報150が生成され、その結果、要求された変更内容を反映したDWHシステムが構築される。
【0024】
図3に本発明のシステム構成を示す。本システムは、端末310、分析処理システム320、ネットワーク330、外部記憶装置340よりなる。端末310、分析処理システム320はおのおのCPU311、321および主記憶装置312、322をもち、分析処理システム320の主記憶装置322において変更処理部110が実行される。外部記憶装置340には、DWHメタ情報130、変更パタン情報120、影響範囲情報140、及びDWH構築情報150を格納する。なお、図3は発明を実現するための一構成例であり、これらの構成以外をとっても良い。
【0025】
以下では、本発明の詳細内容について説明を行う。本発明の詳細内容を説明するにあたり、図1に示す、変更パタン120、DWHメタ情報130、影響範囲情報140、及びDWH構築情報150の各内容について説明を行う。
【0026】
変更パタン情報120は、図1に示すように、パタン名、変数名、変数値、検出開始元、影響先種別、及びリソース名の項目から構成される。パタン名にはパタンに応じた名称を格納する。変数名には、パタンに応じた変更を行うために入力する変数名を格納する。この変数名に応じて入力された値を項目「値」に格納する。検出開始元には、「キューブ」、「入力ファイル」、「実行時参照情報」のいずれかの値が格納される。これらの値は、データウェアハウスに対して外部からの変更要求が発生するカテゴリを表している。影響先種別には「キューブ」、「ジョブ」、「テーブル」、「入力ファイル」、「実行時参照情報」のいずれかの値が格納される。影響先種別に対応して具体的なリソース名をあらかじめパタンとして登録できる場合には、「リソース名」に具体的なリソース名(キューブ名、ジョブ名、テーブル名、など)を格納しておく。
【0027】
DWHメタ情報130には、システム内部のリソースを管理するための情報を格納する。図4にDWHメタ情報130の詳細を示す。図4にはE−R図と呼ばれる表記を用いて、テーブル構成とテーブル間の関係とを表している。DWHメタ情報130はMDBメタデータ410、ジョブメタデータ420、及びRDBメタデータ群430よりなる。
【0028】
MDBメタデータ410は、キューブ411、キー次元412、分析次元413、キー次元階層項目414、分析時限項目415よりなる。キー次元412は階層的MDBで必要となる階層情報を格納するテーブルであるため、キー次元412の項目「親階層」に親となるレコードの「階層名」に値を格納することにより、同一テーブルのレコード間でリンク関係を保持するようになっている。
【0029】
ジョブメタデータ420は、ジョブ421、項目マッピング422よりなる。ジョブ421にはジョブ名とジョブ処理タイプを項目としてもつ。ジョブ処理タイプには「入力ファイル取り込み」、「テーブル間変換」、及び「ロードテーブル読み込み」の何れかを格納する。項目マッピング422には、データ加工処理を行うための項目間の対応関係を格納する。FromテーブルのFrom項目と、ToテーブルのTo項目が対応づけられる。
【0030】
RDBメタデータ430には、テーブル431、項目432、インデックス443、及びインデックス項目444よりなる。項目432にはテーブル個々の項目名とデータ型を格納する。インデックス443にはインデックス名を格納し、インデックス項目444により、インデックス名とインデックス対象となる項目を対応づけた情報を管理する。対応先となる項目をインデックス項目444の項目名に格納する。
【0031】
図1に示すように、影響範囲情報140には、影響先種別、リソース名、変更対象内容を格納する。
【0032】
影響先種別には「キューブ」、「ジョブ」、「テーブル」、「入力ファイル」、及び「実行時参照情報」のいずれかの値が格納される。影響先種別に「キューブ」の値が格納された場合には、MDBメタデータ410とスキーマ定義情報710を変更することを示す。影響先種別に「テーブル」の値が格納された場合には、RDBメタデータ430とスキーマ定義情報710を変更することを示す。影響先種別に「ジョブ」の値が格納された場合には、ジョブメタデータ420とデータ変換制御情報720を変更することを示す。影響先種別に「実行時参照情報」の値が格納された場合には、実行時参照情報730を変更することを示す。
【0033】
リソース名には、影響先種別の値に応じて、キューブ名、テーブル名、及びコマンド名などの変更対象となるリソース名を格納する。そして、変更対象内容にはリソース名にて指定された対象物(キューブ、テーブル、ジョブなど)に対して、どのような変更を行うかを示す情報を格納する。
【0034】
DWH構築情報150にはDWHシステムを実現するためにミドルウェア基盤の動作を制御するための設定および制御情報を格納する。DWH構築情報150は、スキーマ定義情報710、データ変換制御情報720、及び実行時参照情報730よりなる。以下では、図5を用いてDWH構築情報150の詳細を説明する。
【0035】
スキーマ定義情報710は、テーブル定義情報511、マッピング定義情報512、キューブ定義情報513、次元マッピングファイル514、及び階層定義515よりなる。
【0036】
テーブル定義情報511は、テーブル定義を行うSQLコマンドもしくはこれと同等の情報を含む。
【0037】
キューブ定義情報513はキューブの軸構成を定義するものである。軸の詳細な階層構造は階層定義515に格納される。そして、階層定義515とキューブ定義情報513は、次元マッピング514により対応づけられる。マッピング定義情報512は、RDB上のテーブルをMDBに読み込むために必要な項目間のマッピング情報を格納する。このマッピング情報を用いることにより2次元のテーブルの格納値を、多次元であるMDBのキューブに読み込む制御が行われる。
【0038】
データ変換制御情報720は、ジョブ定義情報521とコマンド群522よりなる。ジョブ定義情報521には、コマンド群522の実行順序を定義する情報を格納する。コマンド群522には、DWHシステムでの個別処理を実現するためのSQL、ストアドプロシジャなどのコマンドを格納する。これらのコマンドの順序をジョブ定義情報に登録し、ジョブを起動することにより、図2に示した一連の構築処理が行われる。
【0039】
実行時参照情報730には、ジョブ実行時に参照される情報からなる。実行時参照情報730にはカレンダテーブル531が含まれており、このテーブルではカレンダ日付と、業務の月締め、及び年締めの区別を指定するための項目からなる。
【0040】
次に、図1における変更範囲検出112の詳細を図6、図7、図8を用いて説明する。まず、図6に変更範囲検出112のフローを示す。
【0041】
ステップ601では、キューブ名の値を検索条件とし、変更パタン情報の項目「検出開始元」を参照する。「検出開始元」は一般に複数得られ、この結果を検出開始元配列情報として保持する。
【0042】
ステップ602では、上記ステップで保持した配列情報に関する配列インデックスの初期化を行う。I=1、IMAX=全ステップで得た配列個数とする。
【0043】
ステップ603では、検出開始元配列情報におけるI番目の値に基づき、分岐判定処理を行う。検出開始元配列情報の値が「キューブ」であった場合には、「キューブ変更の影響範囲検出604」を実行する。検出開始元配列情報の値が「入力ファイル」であった場合には、「入力ファイル変更の影響範囲検出605」を実行する。検出開始元配列情報の値が「実行時参照情報」であった場合には、「実行時参照情報の影響範囲検出606」を実行する。これら分岐先であるステップ604、605、606については別途詳細に説明する。
【0044】
ステップ607では、配列インデックスを1増加する。
【0045】
ステップ608では、I≦IMAXが成立するか否かを判定し、成立する場合にはステップ603を行い、成立しない場合には変更範囲検出112を終了する。
【0046】
次に、図7を用いて「キューブ変更の影響範囲検出604」を説明する。ここで行われる処理は、図2に示すようにMDB側から矢印をさかのぼり、関連するテーブル名、データ変換処理名をリストアップする処理に該当する。図4に示すDWHメタ情報130に対して繰り返し検索処理を行うことにより、影響範囲の検出を行う。
【0047】
ステップ701では、キューブにおいて変更が発生したため、図1に示す影響範囲情報140に影響範囲を示すための情報を出力する。影響範囲情報140の項目「影響先種別」に対する値として「キューブ」を出力する。変更パタン指定111において、ユーザにより入力されたキューブ名をリソース名に格納する。次に、選択パタン名によって絞り込まれた変更パタン情報からさらに項目「影響先種別」が「キューブ」の値を含んでいることを検索条件として検索を行う。その結果得られた変数名と値との対応関係を変更対照内容として格納する。
【0048】
ステップ702では、キューブ名を検索条件として図4のキューブ411を検索し、検索結果のレコードから項目「ロードテーブル名」を取得する。これによりMDBに対するロードテーブル名が得られる。そして、このロードテーブルを影響範囲として特定するための情報を図1に示す影響範囲情報140に出力する。影響範囲情報140の項目「影響先種別」に対する値として「テーブル」を出力する。
【0049】
そして、ロードテーブル名を影響範囲情報140の項目「リソース名」に格納する。そして、変更パタン情報120からテーブル変更に用いるための変数名およびこれに対応した値を取得する。こうした変数名と値を取得するには、「パタン名=変更パタン指定で選択されたパタン名であり、影響先種別=テーブル」を検索条件として変更パタン情報120を検索する。この結果得たレコード情報の変数名と値を参照することにより、テーブルの変更に関連する変数名と値が得られる。これらの変数名と値を変更対象内容の値として影響範囲情報140に格納する。そして、影響発生元テーブル=ロード情報テーブルと設定する。
【0050】
ステップ703では、項目マッピング422のテーブルに対して「Toテーブル名=影響発生元テーブル」を条件として検索処理を行う。この処理は、図2に示すような矢印を逆にたどり、着目しているテーブルのひとつ前の入力テーブル名を調べる行為に対応する。
【0051】
ステップ704では、ステップ703で項目マッピング422に対して行った検索結果のレコード数が0かそうでないかを判定する。検索結果のレコード数が0以下であれば、キューブ変更の影響範囲検出604の処理を終了する。検索結果のレコード数が1以上であれば、ステップ705を実行する。
【0052】
ステップ705では、ステップ704で得た検索結果のレコードにおける「ジョブ名」を参照し、そこに示されたジョブ名をもとに影響範囲情報140を出力する。影響範囲情報140の「影響先種別」には「ジョブ」の値を格納し、ステップ704で得た検索結果のレコードにおける「ジョブ名」に格納された値を「リソース名」に格納する。影響範囲情報140の「変更対象内容」には、該当ジョブの入力テーブル側に対する変更対象項目名と入力テーブル側の変更対象項目によって影響のうける出力テーブル側の変更対象項目を格納する。From項目名とTo項目名の対応が存在しない場合には、新たなFrom項目名とTo項目名の対応を影響範囲情報140の「変更対象内容」に追加する。
【0053】
ステップ706では、ステップ704で得た検索結果のレコードにおける「Toテーブル名」を参照し、変更の影響するテーブル名を特定する。特定されたテーブルのスキーマに対して影響が生じたことを示すための影響範囲情報140を出力する。影響範囲情報140の「影響先種別」には「テーブル」の値を格納し、ステップ704で得た検索結果のレコードにおける「Toテーブル名」に格納された値を「リソース名」に格納する。影響範囲情報140の「変更対象内容」には、ステップ705にて追加又は変更したTo項目に対する追加又は変更内容を格納する。そして、ステップ704で得た検索結果のレコードにおける「Fromテーブル名」を参照し、影響発生元テーブル名=Fromテーブル名に格納された値を用いてステップ703の処理を行う。
【0054】
以上示した処理により、図2に示したデータ加工処理の矢印を逆向きにたどることができ、矢印を逆向きにたどることで得たリソース名(ジョブ名、テーブル名、キューブ名)をもとに影響範囲情報140が生成される。
【0055】
次に、図8を用いて「入力ファイル変更の影響範囲検出605」を説明する。ここで行われる処理は、図2に示す入力ファイル側から矢印の向きに従い、関連するテーブル名、ジョブ名、及びキューブ名をリストアップする処理に該当する。図4に示すDWHメタ情報130に対して繰り返し検索処理を行うことにより、影響範囲を検出する。
【0056】
ステップ801では、入力ファイルそれ自身において変更が発生したため、図1に示す影響範囲情報140に影響範囲を設定するための情報を出力する。影響範囲情報140の項目「影響先種別」に対する値として「入力ファイル」を出力する。変更パタン指定111において、ユーザにより入力された入力ファイル名をリソース名に格納する。次に、選択パタン名によって絞り込まれた変更パタン情報からさらに項目「影響先種別」が「入力ファイル」の値を含んでいることを検索条件として検索を行う。この結果得られた変数名と値との対応関係を変更対照内容として格納する。
【0057】
ステップ802では、Fromテーブル名=入力ファイル名を条件として、図4に示す項目マッピング422を検索する。
【0058】
ステップ803では、ステップ802の検索結果のレコード数が0か否かを判定する。検索結果のレコード数が0以下であれば、ステップ806の処理を行う。検索結果のレコード数が1以上であれば、ステップ804の処理を行う。
【0059】
ステップ804では、ステップ802で得た検索結果のレコードにおける「ジョブ名」を参照し、そこに示されたジョブ名をもとに影響範囲情報140を出力する。影響範囲情報140の「影響先種別」には「ジョブ」の値を格納し、ステップ802で得た検索結果のレコードにおける「ジョブ名」に格納された値を「リソース名」に格納する。影響範囲情報140の「変更対象内容」には、該当ジョブの入力テーブル側の変更対象項目名と入力テーブル側の変更対象項目によって影響を受ける出力テーブル側の変更対象項目名とを格納する。From項目名とTo項目名の対応が存在しない場合には、新たなFrom項目名とTo項目名の対応を影響範囲情報140の「変更対象内容」に追加する。
【0060】
ステップ805では、ステップ802で得た検索結果のレコードにおける「Fromテーブル名」を参照し、変更の影響するテーブル名を特定する。特定されたテーブルのスキーマに対して影響が生じたことを示すための影響範囲情報140を出力する。影響範囲情報140の「影響先種別」には「テーブル」の値を格納し、ステップ802で得た検索結果のレコードにおける「Fromテーブル名」に格納された値を「リソース名」に格納する。影響範囲情報140の「変更対象内容」には、ステップ704にて追加又は変更したFrom項目に対する追加又は変更内容を格納する。そして、ステップ802で得た検索結果のレコードにおける「Toテーブル名」を参照し、「影響発生元テーブル名=Toテーブル名に格納された値」、として図4の項目マッピング422を検索する。そして、ステップ803に進む。
【0061】
ステップ806では、キューブに対する影響範囲情報を生成する。ロードテーブル名=影響発生元テーブル名を検索条件とし、図4のキューブ411を検索する。この検索結果のレコードにおける「キューブ名」を参照することで、影響を受けるキューブ名が得られる。影響範囲情報140の「影響先種別」には「キューブ」の値を格納し、キューブ名を「リソース名」として格納する。影響範囲情報140の「変更対象内容」には、ステップ804にて追加又は変更したTo項目に対する追加又は変更内容を格納する。
【0062】
以上示した処理により、図2に示すデータ加工処理の矢印を順方向にたどることができ、矢印を順方向にたどることで得たリソース名(ジョブ名、テーブル名、キューブ名)をもとに影響範囲情報140が生成されることになる。
【0063】
次に、参照情報変更の影響範囲検出606を説明する。この処理では、変更パタン情報120の影響先種別が実行時参照情報であるものを検索し、この検索結果のレコードにおけるリソース名および変数名と値を用いて、図5に示す実行時参照情報730を変更する。例えば、実行時参照情報としては、ジョブの実行日に業務の締め日などを知るために参照するカレンダテーブル531がある。図5にカレンダテーブル531を示す。図1に示した変更パタン120の場合には、変更先種別とリソース名には「実行時参照情報」と「カレンダマスタ」の値がそれぞれ格納されている。この変更パタン120の格納値に基づいて、カレンダテーブル531に対する月締めと年締めに対する変更を行うべきことを判定する。そこで、この判定に基づいて実行時参照情報730におけるカレンダテーブル531を変更する。
【0064】
以上に述べた処理により、影響範囲情報140が生成された。次は、DWH構築情報の変更113により、影響範囲情報140に基づいたDWH構築情報150を生成する。以下では図1を用いてDWH構築情報の変更113を説明する。
【0065】
図1のスキーマ定義情報の変更118では、図1および図5のスキーマ定義情報710を変更する。
【0066】
まず、キューブに関連する変更として、次元の変更、又は次元階層の変更をMDB関連のスキーマ定義情報に対して反映させる。影響範囲情報140の影響先種別がキューブであるレコードのリソース名、及び変更対象内容に基づき、MDBメタデータ410を変更し、変更されたMDBメタデータ410から、図5におけるマッピング定義情報512、キューブ定義情報513、次元マッピングファイル514、及び階層定義515を生成する。
【0067】
次に、テーブルに関連する変更として、テーブル項目およびインデックスの変更、を図5のテーブル定義情報511に反映させる。影響範囲情報140の影響先種別がテーブルであるレコードのリソース名、及び変更対象内容に基づき、RDBメタデータ群430を変更し、変更されたRDBメタデータ群430から、図5に示したテーブル定義情報511を生成する。
【0068】
図1のデータ変換制御情報の変更119では、ジョブにおける項目マッピング422の変更を、図5のコマンド群522に反映させる。影響範囲情報140の影響先種別がジョブであるレコードのリソース名、及び変更対象内容に基づき、ジョブの項目マッピング422を変更し、変更された項目マッピング422から、図5におけるコマンド群522を生成する。
【0069】
図1の実行時参照情報の変更121では、図1および図5の実行時参照情報730を変更する。影響範囲情報140の影響先種別が実行時参照情報であるレコードのリソース名、及び変更対象内容に基づき図5の実行時参照情報730に保持されるテーブルの値を変更する。
【0070】
【発明の効果】
本発明によれば、複数のミドル基盤上で動作するデータウェアハウスシステムを、あらかじめ登録した変更パタン情報に基づいて修正できるため、データウェアハウスシステムへの変更を指示するユーザが、システム内部のどの部品を検索条件として、内部処理の影響範囲を検出するのか、どのリソースに対して変更を加えるべきか、などの詳細情報を意識しなくても、データウェアハウスシステムの動作を変更できる。これにより開発者が各ミドルウェア基盤を意識した修正個所の検索や、修正作業を行う必要がない。
【図面の簡単な説明】
【図1】本発明の構成と処理を示す図である。
【図2】本発明におけるデータマート構築例を示した図である。
【図3】ハードシステム構成図である。
【図4】DWHメタ情報の図である。
【図5】DWH構築情報の図である。
【図6】カスタマイズ範囲検出処理のフロー図である。
【図7】キューブ変更の影響範囲検出処理のフロー図である。
【図8】入力ファイル変更の影響範囲検出のフロー図である。
【図9】変更パタン選択の画面図である。
【符号の説明】
111:変更パタン指定、112:変更範囲検出、113:DWH構築情報の変更、120:変更パタン情報、130:DWHメタ情報、140:影響範囲情報、150:DWH構築情報
Claims (5)
- メタ情報としてデータを保持する関係もしくは多次元データベースのスキーマ定義とデータベース間のデータ変換処理の定義を保持し、
変更パタン情報としてシステムに対して変更を指定するための変数と変数により影響受ける個所を特定するための管理情報を保持し、
前記メタ情報と前記変更パタン情報を入力して、前記スキーマ定義とデータベース間のデータ変換処理の変更影響範囲を検出し、前記メタ情報に対する影響範囲を影響範囲情報として出力する変更範囲検出処理、
前記影響範囲情報と前記メタ情報を入力して、前記メタ情報に格納されているスキーマ定義とデータ変換処理と実行時参照情報を修正し、ミドルウェアの設定および実行ファイルよりなるシステム構築情報を出力するシステム構築情報の変更処理を有することを特徴とするデータベース構築処理変更方法。 - 前記変更パタン情報は、ユーザに値入力を求める変数名と、変数名に対して入力された値を、変更範囲検出処理での検索条件値として用いるのか、システム構築情報変更処理での変更値として用いるのかの区分して管理し、この区分に基づいて変更範囲検出処理とシステム構築情報変更処理に入力する変数値を制御する処理を有することを特徴とする請求項1記載のデータベース構築処理変更方法。
- 前記変更範囲検出処理において、データベースのスキーマ変更から、システムを稼動するにあたり変更が影響するジョブの変更を検出するジョブ変更検出処理と、ジョブの変更から、システムを稼動するにあたり変更が影響するデータベースの変更を検出するデータベース変更検出処理と、ジョブ変更検出処理とデータベース変更検出処理において相互において検出結果入出力する処理を繰り返し実行することにより、システム全体での変更対象部を影響範囲情報として出力をすることを特徴とする請求項1記載のデータベース構築処理変更方法。
- 前記変更範囲検出処理において、システムの構成要素である、多次元データベースと、関係データベースと、システムに入力される入力ファイルと、データベース上でのデータ変換処理を行うジョブ処理と、ジョブ処理において参照のみ行われる実行時参照情報と、に対応したシステム区分を、前記影響範囲情報として出力することを特徴とする請求項1記載のデータベース構築処理変更方法。
- 前記システム構築情報の変更処理において、影響範囲情報に格納されたシステムの構成要素である、多次元データベースと、関係データベースと、システムに入力される入力ファイルと、データベース上でのデータ変換処理を行うジョブ処理と、ジョブ処理において参照のみ行われる実行時参照情報と、に対応したシステム区分に基づき、多次元データベースと、関係データベースと、入力ファイルと、ジョブ処理と、実行時参照情報に対して変更を行う処理を有することを特徴とする請求項1記載のデータベース構築処理変更方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002252342A JP2004094425A (ja) | 2002-08-30 | 2002-08-30 | データベース構築処理変更方法 |
US10/353,954 US7080084B2 (en) | 2002-08-30 | 2003-01-30 | Method for changing database construction information |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002252342A JP2004094425A (ja) | 2002-08-30 | 2002-08-30 | データベース構築処理変更方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004094425A true JP2004094425A (ja) | 2004-03-25 |
JP2004094425A5 JP2004094425A5 (ja) | 2005-02-17 |
Family
ID=31972737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002252342A Pending JP2004094425A (ja) | 2002-08-30 | 2002-08-30 | データベース構築処理変更方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7080084B2 (ja) |
JP (1) | JP2004094425A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009211366A (ja) * | 2008-03-04 | 2009-09-17 | Toshiba Corp | データベースシステム |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7412455B2 (en) * | 2003-04-30 | 2008-08-12 | Dillon David M | Software framework that facilitates design and implementation of database applications |
US7530015B2 (en) * | 2003-06-25 | 2009-05-05 | Microsoft Corporation | XSD inference |
US7937401B2 (en) * | 2004-07-09 | 2011-05-03 | Microsoft Corporation | Multidimensional database query extension systems and methods |
US7716253B2 (en) * | 2004-07-09 | 2010-05-11 | Microsoft Corporation | Centralized KPI framework systems and methods |
US7844570B2 (en) * | 2004-07-09 | 2010-11-30 | Microsoft Corporation | Database generation systems and methods |
US7610300B2 (en) * | 2004-11-30 | 2009-10-27 | International Business Machines Corporation | Automated relational schema generation within a multidimensional enterprise software system |
US7505888B2 (en) * | 2004-11-30 | 2009-03-17 | International Business Machines Corporation | Reporting model generation within a multidimensional enterprise software system |
US7593955B2 (en) * | 2004-11-30 | 2009-09-22 | International Business Machines Corporation | Generation of aggregatable dimension information within a multidimensional enterprise software system |
US7831629B2 (en) * | 2006-01-06 | 2010-11-09 | Microsoft Corporation | Method for building data encapsulation layers for highly variable schema |
EP2041676A4 (en) | 2006-06-26 | 2012-05-16 | Nielsen Co Us Llc | METHOD AND DEVICES FOR IMPROVING THE DATA WAREHOUSE EFFICIENCY |
US8214324B2 (en) * | 2009-08-25 | 2012-07-03 | International Business Machines Corporation | Generating extract, transform, and load (ETL) jobs for loading data incrementally |
US9075854B2 (en) * | 2010-11-05 | 2015-07-07 | Apple Inc. | Browser based database manipulation |
US11100523B2 (en) | 2012-02-08 | 2021-08-24 | Gatsby Technologies, LLC | Determining relationship values |
US9305067B2 (en) | 2013-07-19 | 2016-04-05 | International Business Machines Corporation | Creation of change-based data integration jobs |
KR101615344B1 (ko) * | 2014-01-08 | 2016-05-12 | 주식회사 비스텔 | 반도체 공정을 모니터링 하는 방법, 장치 및 기록매체 |
US20170052984A1 (en) * | 2014-04-21 | 2017-02-23 | Adam Phillip TREISER | Methods and systems for optimizing data in large data sets using relevant metadata |
JP6468098B2 (ja) * | 2015-07-02 | 2019-02-13 | 富士通株式会社 | 情報処理プログラム、装置、及び方法 |
CN107729561A (zh) * | 2017-11-09 | 2018-02-23 | 成都卓凡软件科技有限公司 | 基于数据库表结构反向生成对数据库表操作的方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6061515A (en) * | 1994-07-18 | 2000-05-09 | International Business Machines Corporation | System and method for providing a high level language for mapping and accessing objects in data stores |
US6366917B1 (en) * | 1998-04-01 | 2002-04-02 | Webputty, Inc. | Method of modifying a populated database structure by modifying metadata describing the database structure |
US6591272B1 (en) * | 1999-02-25 | 2003-07-08 | Tricoron Networks, Inc. | Method and apparatus to make and transmit objects from a database on a server computer to a client computer |
US6999956B2 (en) * | 2000-11-16 | 2006-02-14 | Ward Mullins | Dynamic object-driven database manipulation and mapping system |
US6963880B1 (en) * | 2002-05-10 | 2005-11-08 | Oracle International Corporation | Schema evolution of complex objects |
US20050228803A1 (en) * | 2004-04-02 | 2005-10-13 | Microsoft Corporation | Adapter framework for line-of-business application integration |
-
2002
- 2002-08-30 JP JP2002252342A patent/JP2004094425A/ja active Pending
-
2003
- 2003-01-30 US US10/353,954 patent/US7080084B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009211366A (ja) * | 2008-03-04 | 2009-09-17 | Toshiba Corp | データベースシステム |
Also Published As
Publication number | Publication date |
---|---|
US20040044671A1 (en) | 2004-03-04 |
US7080084B2 (en) | 2006-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004094425A (ja) | データベース構築処理変更方法 | |
US20210073188A1 (en) | System and method for automatic inference of a cube schema from a tabular data for use in a multidimensional database environment | |
US7844570B2 (en) | Database generation systems and methods | |
US7672930B2 (en) | System and methods for facilitating a linear grid database with data organization by dimension | |
US6367077B1 (en) | Method of upgrading a software application in the presence of user modifications | |
US9009099B1 (en) | Method and system for reconstruction of object model data in a relational database | |
US9760612B2 (en) | Graphic representations of data relationships | |
US8543535B2 (en) | Generation of star schemas from snowflake schemas containing a large number of dimensions | |
JP4609995B2 (ja) | オンライン分析処理(olap)のための方法およびシステム | |
RU2406115C2 (ru) | Доступ к сложным данным | |
US20090006148A1 (en) | Apparatus and method for materializing related business intelligence data entities | |
US20070255741A1 (en) | Apparatus and method for merging metadata within a repository | |
US20040015486A1 (en) | System and method for storing and retrieving data | |
US20050010606A1 (en) | Data organization for database optimization | |
US9110935B2 (en) | Generate in-memory views from universe schema | |
JP2006503357A5 (ja) | ||
US20110252049A1 (en) | Function execution using sql | |
US11442934B2 (en) | Database calculation engine with dynamic top operator | |
US7113951B2 (en) | Method and system for detecting tables to be modified | |
US7882142B2 (en) | Dynamic optimized datastore generation and modification for process models | |
Dakrory et al. | Automated ETL testing on the data quality of a data warehouse | |
US10120927B2 (en) | Technology for generating a model in response to user selection of data | |
US7440969B2 (en) | Data processing systems and methods for processing a plurality of application programs requiring an input database table having a predefined set of attributes | |
US9177008B1 (en) | Positioned updates in a distributed shared-nothing data store | |
US20060173809A1 (en) | Transfer of table instances between databases |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040312 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040312 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060419 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070717 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071218 |