(57)【要約】【課題】メインフレームコンピュータシステムからオープンシステムに移行する際のデータベースの移行を体系的かつ段階的におこなって、移行工数が削減でき、段階的で確実なマイグレーションをおこなう。【解決手段】データマイグレーションシステムは、構造型データベースのデータ構造とデータを読み込む手段と、構造型データベースのデータ構造とデータを、それと等価な関係型データベースのデータ構造とデータに変換する手段とを有する。そのために、構造型データベースのレコード、データ項目と、関係型データベースのテーブル、フィールドとを関係付けて保持する手段を有する。また、構造型データベースのある時点からある時点の更新分を取得し、その更新分の構造型データベースのデータ構造とデータを、それと等価な関係型データベースのデータ構造とデータに変換する手段とを有する。【選択図】  図８
2018109898.tif 000002
【特許請求の範囲】
【請求項１】
構造型データベースのデータ構造とデータを読み込む手段と、
構造型データベースのデータ構造とデータを、それと等価な関係型データベースのデータ構造とデータに変換する手段とを有するデータマイグレーションシステム。
【請求項２】
構造型データベースのレコード、データ項目と、関係型データベースのテーブル、フィールドとを関係付けて保持する手段を有することを特徴とする請求項１記載のデータマイグレーションシステム。
【請求項３】
構造型データベースのある時点からある時点の更新分を取得し、その更新分の構造型データベースのデータ構造とデータを、それと等価な関係型データベースのデータ構造とデータに変換する手段とを有する請求項１記載のデータマイグレーションシステム。
【請求項４】
構造型データベースのレコードに対して、データ移行の対象とするか否かを指定する手段を有し、データ移行の対象とされたレコードを移行の対象とする請求項１記載のデータマイグレーションシステム。
【請求項５】
移行の対象となる関係型データベースのテーブル名称、フィールド名称を表示する手段と、
前記テーブル名称、前記フィールド名称を変更する手段とを有することを特徴とする請求項２記載のデータマイグレーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データマイグレーションシステムに係り、特に、メインフレームシステム環境のデータベースからオープンシステム環境におけるデータベースを移行する用途に用いて好適なデータマイグレーションシステムに関する。
【背景技術】
【０００２】
近年のＩＴ環境の劇的な変化に伴い、企業の中枢におけるコンピュータシステムが、メインフレームコンピュータシステムから、いわゆるオープンシステムに急速に移行が進んでいる。このような状況のもと、メインフレームシステム環境から、Ｗｉｎｄｏｗｓ（登録商標）、Ｌｉｎｕｘ（登録商標）などオープンシステムをメインとするオープンシステム環境へのマイグレーションを、昨今多くの企業が推進している。マイグレーション手法として、メインフレーム環境からオープン環境へアプリケーションシステムを一括でマイグレーションする方法があるが、複数のアプリケーションを運用している環境では困難である。そのため、段階的にマイグレーションをおこなうことも有効であり、段階的にマイグレーションをおこなう際に、異種間システムの構成を同じ状態に保つことはマイグレーションの品質向上に非常に有効である。
【０００３】
例えば、特許文献１に記載されたマイグレーションシステムでは、異種間マイグレーションにおいてファイルデータを移行する際に、対象ファイルとファイル項目定義書の整合性チェックとエラー箇所の修正をおこなって、マイグレーションに係る工数の削減および異種間システムの構成の齟齬から起こる品質劣化を防ぐことができる技術を提供している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−２２５１７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
メインフレームコンピュータシステムからオープンシステムに移行するにあたり、一番重要な問題は、データベースのマイグレーションである。特に、メインフレームコンピュータシステムでは、構造型データベースを使用しており、それをオープンシステムでは一般的な関係型データベース（リレーショナルデータベース：ＲＤＢ（Relational Database））に移行するときには、各々採用しているデータベースのモデルが異なっているため、移行の工数は大きなものになる。従来、このような、構造型データベースからオープンシステムのマイグレーションについて体系的な移行システムについては、考慮されてこなかった。
【０００６】
また、長期的なマイグレーションをおこなう場合、マイグレーション元・マイグレーション先のそれぞれのシステムが並行して稼働しているため、異種データシステム間で構成の差異が発生し、データの同期の失敗やマイグレーション先に構築しようとするシステムが古い構成に基づいて構築されてしまう恐れがあり、マイグレーション品質の劣化につながる。
【０００７】
特許文献１記載の従来技術では、ファイルデータ移行によりマイグレーションの簡易化を実現するが、データベース構成の齟齬の発生を防ぐことはできない。
【０００８】
本発明の目的は、メインフレームコンピュータシステムからオープンシステムに移行する際のデータベースの移行を体系的かつ段階的におこなって、移行工数が削減でき、段階的で確実なマイグレーションをおこなうことのできるデータマイグレーションシステムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明のデータマイグレーションシステムの構成は、構造型データベースのデータ構造とデータを読み込む手段と、構造型データベースのデータ構造とデータを、それと等価な関係型データベースのデータ構造とデータに変換する手段とを有するようにしたものである。
【００１０】
また、望ましくは、データマイグレーションシステムにおいて、構造型データベースのレコード、データ項目と、関係型データベースのテーブル、フィールドとを関係付けて保持する手段を有するようにしたものである。
【００１１】
また、望ましくは、データマイグレーションシステムにおいて、構造型データベースのある時点からある時点の更新分を取得し、その更新分の構造型データベースのデータ構造とデータを、それと等価な関係型データベースのデータ構造とデータに変換する手段とを有するようにしたものである。
【発明の効果】
【００１２】
本発明によれば、メインフレームコンピュータシステムからオープンシステムに移行する際のデータベースの移行を体系的かつ段階的におこなって、移行工数が削減でき、段階的で確実なマイグレーションをおこなうことのできるデータマイグレーションシステムを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】データマイグレーションシステムの全体構成図を示す図である。
【図２】構成情報管理変換サーバのハードウェア・ソフトウェアの構成図である。
【図３】構造型データベースと関係型データベースの概要を対比して説明する図である。
【図４】メインフレームデータベース構成情報テーブルの例を示す図である。
【図５】メインフレームレコード構成情報テーブルの例を示す図である。
【図６】テーブル定義リンク情報テーブルの例を示す図である。
【図７】更新分テーブル定義リンク情報テーブルの例を示す図である。
【図８】構造型データベースから関係型データベースにデータベースの移行するときの処理を示すフローチャートである。
【図９】構造化データベースが更新されたり、移行に関する設定が変更されたときの処理を示すフローチャートである。
【図１０】移行可否フラグ設定画面を示す図である。
【図１１】テーブル定義確認・編集画面を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明に係る一実施形態を、図１ないし図９を用いて説明する。
【００１５】
先ず、図１ないし図２を用いて本発明の一実施形態に係るデータマイグレーションシステムの構成について説明する。  
データマイグレーションシステム１００は、図１の構成図に示されるように、メインフレーム１０１と、データベースサーバ１０３と、複数のアプリケーションサーバ群１０５と、構成情報管理変換サーバ１０６とが、ネットワーク１０７で接続された構成である。
【００１６】
ここで、メインフレーム１０１は、メインフレーム用ＯＳ（例えば、ＶＯＳ３／ＵＳ）上で、構造型データベース１０２（例えば、ＸＤＭ／ＳＤ（登録商標））が稼動しているものとする。また、データベースサーバ１０３は、オープンシステムＯＳ（例えば、Ｌｉｎｕｘ）上で、関係型データベース１０４（例えば、ＨｉＲＤＢ（登録商標）が稼動しているものとする。なお、構造型データベースと関係型データについては、後に詳説する。
【００１７】
構成情報管理変換サーバ１０６は、メインフレーム１０１上の構造型データベース１０２を、それと等価なデータベースサーバ１０３上の関係型データベース１０４に変換する機能を提供するサーバである。そのために、構成情報管理変換サーバ１０６は、構造型データベース１０２のデータベース構成情報と、その構成情報を関係型データベース１０４用に変換した構成情報、その他の設定情報を保管する領域を有する。また、また、データベース構成情報を取得するプログラム、構成情報を変換するプログラムなどがインストールされている。データベース構成情報の例としては、例えば、データベース上の各データのデータ識別番号、データ長やデータ種別などである。
【００１８】
次に、図２を用いて構成情報管理変換サーバのハードウェア・ソフトウェアの構成について説明する。  
構成情報管理変換サーバ１０６は、図２に示されるように、一般的なコンピュータのハードウェアで実現することができ、演算処理部２０１と、主メモリ２０２と、表示Ｉ／Ｆ（Interface）部２０３と、入出力Ｉ／Ｆ部２０４と、通信Ｉ／Ｆ部２０５、記憶部２３０とがＢＵＳ(バス)等の通信路により接続された構成である。演算処理部２０１は、ＣＰＵ（Central Processing Unit）で構成され、主メモリ２０２上のワークデータを参照し、ロードされたプログラムを実行して、各種判定、演算処理をおこなうとともに、構成情報管理変換サーバ１０６の各部を制御する。主メモリ２０２は、ＲＡＭ（Random Access Memory）などの揮発性半導体記憶装置で構成され、高速で動作するが比較的小容量であり、演算処理部２０１で参照されるワークデータ、プログラムを記憶する。表示Ｉ／Ｆ部２０３は、ユーザ端末２２０のＬＣＤ（Liquid Crystal Display）表示装置２２１などと接続する部分である。入出力Ｉ／Ｆ部２０４は、管理端末２２０の入出力装置（例えば、キーボード２２２、マウス２２３）と接続する部分である。通信Ｉ／Ｆ部２０５は、ネットワークと接続し、他のホスト装置とのインタフェースを受け持つ部分である。
【００１９】
記憶部２３０は、ＨＤＤ（Hard Disk Drive）などの磁気記憶媒体による記憶装置や、ＳＳＤなどの不揮発性半導体記憶装置などの比較的大容量の記憶装置からなる。記憶部２３０には、プログラム群として、構成情報取得プログラム２０６と、テーブル定義リンク情報生成プログラム２０７と、データベース変換プログラム２０８と、データベース更新分抽出プログラム２０９がインストールされ、データベースとして、メインフレームデータベース構成情報テーブル２１０と、メインフレームレコード構成情報テーブル２１１と、テーブル定義リンク情報テーブル２１２と、更新分テーブル定義リンク情報テーブル２１３が格納されている。
【００２０】
構成情報取得プログラム２０６は、メインフレーム１０１上の構造型データベースの構成情報を取り出すプログラムである。テーブル定義リンク情報生成プログラム２０７は、構造型データベース１０２とそれと等価な関係型データベース１０４の関係情報を生成するプログラムである。データベース変換プログラム２０８は、生成された関係情報に基づいて、構造型データベース１０２からそれと等価な関係型データベース１０４を生成するプログラムである。データベース更新分抽出プログラム２０９は、ある時点からある時点までのメインフレーム上の構造型データベース１０２の更新部分を抽出するプログラムである。
【００２１】
なお、データベースの各テーブルについては、後に詳説する。
【００２２】
次に、図３を用いて構造型データベースと関係型データベースの概要について説明する。  
構造型データベースは、図３（ａ）に示されるように、データベース中に存在する情報の基本単位をレコードとして管理する。レコードは情報の論理的な単位であると同時に、データを検索したり、更新したりするときの単位である。レコードは、親子関係を持ち、階層的な管理されている。レコードをモデル化したものが、レコード型である
レコードは、個々のデータ項目によって構成されている。データ項目は、データベース中で取り扱える情報の最小単位となり、一つのデータ項目はただ一つの値を有し、かつ、格納するデータ種別ごとにデータ型という属性を有する。
【００２３】
一方、関係型データベースにおいては、一件のデータを複数の属性の値の組として表現し、組を列挙することでデータを格納していくモデルのデータベースである。通常、属性を列、組を行とする表（テーブル）の形で示され、関連する属性値を組み合わせた一件のデータのまとまりをレコードと呼び、レコードを構成する個々の属性値をフィールドという。表の形に表した場合にはレコードが行に、フィールドが列に対応する。
【００２４】
例えば、図３（ｂ）の例では、顧客ＩＤ、氏名、住所、電話番号のフィールドを有する顧客テーブルと、顧客ＩＤ、品番、商品、価格、販売日のフィールドを有する販売テーブルからなるデータベースが示されている。関係型データベースは、主キーと呼ばれる一意的な値を有するフィールドよって、テーブル間の関係を関連付けて、複雑なデータや大規模なデータを柔軟に取り扱うことができることが特徴である。この例では、「顧客ＩＤ」が主キーとなり、顧客の情報と、その顧客に販売した商品の情報を関連付けて取り扱うことが可能となる。
【００２５】
このように、構造型データベースと関係型データベースは、セマンティクギャプがあるため、データベースの移行にあたってはこれを吸収することが課題となる。
【００２６】
次に、図４ないし図７を用いてデータマイグレーションシステムに使用されるデータ構造について説明する。  
メインフレームデータベース構成情報テーブル２１０は、構成情報取得プログラム２０６によって取得された構造型データベース１０２のデータベース構成情報を格納しておくためのテーブルであり、図４に示されるように、データ取得日３０１、レコード識別Ｎｏ３０２、レコード名３０３、レコード長３０４、移行可否フラグ３０５の各フィールドをそれぞれ対応付けて記憶している。
【００２７】
データ取得日３０１には、データベース構成が変更された際に最新データベース構成情報と比較するためのデータベース毎の構成情報を取得したデータ所得日付が格納される。レコード識別Ｎｏ３０２には、構成情報取得プログラム２０５により採番される構造型データベースの中の各々のレコードの識別番号が格納される。レコード名称には、各々のレコードを識別するための名称が格納される。レコード長３０４には、各々のレコードの長さがバイト単位で格納される。移行可否フラグ３０５には、該当レコードを関係型データベース１０４への連携対象とするか否かを示すフラグ（ＯＮ：移行する、ＯＦＦ：移行しない）が格納される。
【００２８】
メインフレームレコード構成情報テーブル２１１は、構成情報取得プログラム２０６によって取得された構造型データベース１０２のレコード構成情報であるデータ項目に関する情報を格納しておくためのテーブルであり、図５に示されるように、データ取得日４０１、レコード識別Ｎｏ４０２、データ識別Ｎｏ４０３、データ開始位置４０４、データ終了位置４０５、データ長４０６、データ種別４０７の各フィールドをそれぞれ対応付けて記憶している。
【００２９】
データ取得日４０１には、データベース構成が変更された際に最新データベース構成情報と比較するためのデータベース毎の構成情報を取得したデータ所得日付が格納される。レコード識別Ｎｏ４０２には、構成情報取得プログラム２０５により採番される構造型データベースの中の各々のレコードの識別番号が格納される。データ識別Ｎｏ４０３には、該当するレコードに含まれる各々のデータ項目の識別番号が格納される。データ開始位置４０４、データ終了位置４０５、データ長４０６には、それぞれ該当するデータ項目のレコードからの開始位置、終了位置、データ長がバイト単位で格納される。データ種別４０７には、そのデータ項目のデータ型が、「整数」、「文字列」、「１６進データ」…のように格納される。
【００３０】
テーブル定義リンク情報テーブル２１２は、構造型データベース１０２のレコード定義と、関係型データベース１０４用のテーブル定義およびデータ構成情報をリンクさせて格納しておくためのテーブルであり、図６に示されるように、レコード識別Ｎｏ５０１、データ識別Ｎｏ５０２、テーブル名称５０３、データ名称５０４、データ長５０５、データ型５０６の各フィールドを対応付けて記憶する。
【００３１】
レコード識別Ｎｏ５０１、データ識別Ｎｏ５０２には、それぞれメインフレームレコード構成情報テーブル２１１から取得されるレコード識別Ｎｏ４０２、データ識別Ｎｏ４０３の内容が格納される。テーブル名称５０３には、関係型データベース１０４上のテーブルを識別するための名称が格納される。データ名称５０４には、テーブル名称５０３に属する各々のフィールドのデータを識別するための名称が格納される。データ長５０５には、メインフレームレコード構成情報テーブル２１１から取得されるデータ長の内容が格納される。データ型５０６には、メインフレームレコード構成情報テーブル２１１のデータ種別４０７を関係型データベース用で用いられるデータ型に変換したデータ型の識別子が格納される。
【００３２】
関係型データベース１０４用のテーブル定義およびデータ構成情報は、テーブル定義リンク生成プログラム２０７によって、メインフレームデータベース構成情報テーブル２１０およびメインフレームレコード構成情報格納部２１１に格納された情報から生成され、このテーブル定義リンク情報テーブル２１２に格納される。
【００３３】
更新分テーブル定義リンク情報テーブル２１３は、図７に示されるように、テーブル定義リンク情報テーブル２１２と同じ構成であり、構造型データベース１０２に変更が加えられた場合に、データベース更新分抽出プログラム２０９によって、変更対象のリンク情報のみが格納される。更新分テーブル定義リンク情報テーブル２１３の構成例は、テーブル定義リンク情報テーブル２１２と同様である。
【００３４】
次に、図８ないし図１１を用いてデータマイグレーションシステムの処理について説明する。
【００３５】
先ず、図８、図１０および図１１を用いて構造型データベースから関係型データベースにデータベースの移行するときの処理について説明する。  
図８に示される処理は、本実施形態のデータマイグレーションシステムが設置されて、初回のデータマイグレーションにより、既存の構造型データベース１０２の定義情報を、新しく構築された関係型データベース１０４用に定義情報を変換し、その定義情報を関係型データベース１０４に反映する処理である。
【００３６】
先ず、構成情報管理変換サーバ１０６は、構成情報取得プログラム２０６を起動して、実行することにより、構造型データベース１０２のデータベース構成情報を、図４に示したメインフレームデータベース構成情報テーブル２１０に格納し、構造型データベース１０２のレコード構成情報を、図５に示したメインフレームレコード構成情報テーブル２１１に格納する（Ｓ７０１）。
【００３７】
次に、構成情報管理変換サーバ１０６は、ユーザ端末２２０に図１０に示される移行可否フラグ設定画面９００を表示し、該当レコードを関係型データベースにリンクさせるか否かのフラグの設定をおこなう（Ｓ７０２）。移行可否フラグを、ＯＮに設定したレコードは、変換プログラム２０６、データベース変換プログラム２０８、データベース更新分抽出プログラム２０９の処理対象となる。移行可否フラグを、ＯＦＦにフラグを設定した場合、それらのプログラムの処理対象外となる。
【００３８】
移行可否フラグ設定画面９００では、図１０に示されるようにメインフレームデータベース構成情報テーブル２１０から取得した各レコードのレコード識別Ｎｏ９０１およびレコード名９０２を表示し、ユーザが該当レコードを確認し、その該当レコードに対する移行可否フラグ９０３のＯＮ、ＯＦＦを入力できるようにする。ユーザが設定ボタン９０４を、マウス２２３などにより押下する操作をおこなうと、ユーザが入力した移行可否フラグ９０３の情報がメインフレームデータベース構成情報テーブル２１０の移行可否フラグ３０５に格納される。
【００３９】
次に、構成情報管理変換サーバ１０６は、テーブル定義リンク情報生成プログラム２０７を起動し、実行することにより、構造型データベース１０２のデータベース構造を変換し、関係型データベース１０４へ定義情報を反映するための情報を、テーブル定義リンク情報テーブル２１２に格納する（Ｓ７０３）。テーブル定義リンク情報生成プログラム２０７は、構造型データベース１０２の各レコード定義とそれに属する各データ定義から、関係型データベース１０４用のテーブル定義およびデータ定義を作成して、それぞれをリンクさせた状態で、図６に示したテーブル定義リンク情報テーブル２１２に格納する。
【００４０】
次に、構成情報管理変換サーバ１０６は、ユーザ端末２０２にテーブル定義確認・編集画面１０００を表示し、ユーザにテーブル名称、フィールド名称の確認と、必要ならユーザによる変更をおこなう（Ｓ７０４）。テーブル定義リンク情報生成プログラム２０７により設定されるテーブル名称は、構造型データベースの識別Ｎｏもしくは、プログラムにより自動で設定された名称となるため、テーブル定義確認・編集画面１０００に表示して、変更入力ができるようにして、ユーザが識別しやすい名称を設定することも可能とする。テーブル定義確認・編集画面１０００は、図１１に示すように、テーブル定義リンク情報テーブル２１２に格納されている構造型データベース１０２のレコード識別情報であるレコード識別Ｎｏ１００１およびレコード名１００２を文字列の編集ができない状態で表示し、それにリンクされるテーブル名称１００３およびフィールド名称１００４を文字列の編集が可能な状態で表示する。ユーザが、テーブル名称１００３およびフィールド名称１００４を確認し、データベースの命名規則にそった任意の文字列に変更し、決定ボタン１００５を、マウス２２３などにより押下する操作をすると、テーブル定義リンク情報テーブル２１２の該当データが更新される。
【００４１】
そして、構成情報管理変換サーバ１０６は、データベース変換プログラム２０８を起動し、実行することにより、テーブル定義リンク情報テーブル２１２に格納された情報に基づき、構造型データベース１０２のデータベースに等価な関係型データベース１０４のデータベースのテーブルが作成される（Ｓ７０５）。また、データベース変換プログラム２０８がスクリプトを作成し、そのスクリプトを実行することにより、構造型データベース１０２から関係型データベース１０４のデータベース移行がおこなわれるようにしてもよい。
【００４２】
次に、図９を用いて、構造化データベースが更新されたり、移行に関する設定が変更されたときの処理について説明する。  
図９に示されるフローチャートは、構造型データベース１０２から関係型データベース１０４の初回のデータベース移行が終わった後、構造型データベースに変更が生じた場合やメインフレームデータベース構成情報テーブル２１０の移行可否フラグ３０５のフラグをＯＦＦ（移行しない）からＯＮ（移行する）に変更した場合に実行される処理を示している。
【００４３】
先ず、構造型データベース１０２が変更された場合、構成情報管理変換サーバ１０６は、構成再抽出プログラム２０９を起動し、実行することにより、メインフレームデータベース構成情報テーブル２１０、メインフレームレコード構成情報テーブル２１１がアップデートされた個所を抽出する（Ｓ８０１）。
【００４４】
また、メインフレームデータベース構成情報テーブル２１０の移行可否フラグ４０５のフラグをＯＦＦからＯＮに変更した場合もＳ８０１と同様に、メインフレームデータベース構成情報テーブル２１０、メインフレームレコード構成情報テーブル２１１の必要な個所を抽出する（Ｓ８０２）。
【００４５】
次に、構成情報管理変換サーバ１０６は、テーブル定義リンク情報生成プログラム２０７を起動し、実行することにより、Ｓ８０１とＳ８０２で抽出された個所のデータベース構造を変換し、関係型データベース１０４へ定義情報を反映するための情報を、図７に示された更新分テーブル定義リンク情報テーブル２１３に格納する（Ｓ８０３）。
【００４６】
次に、構成情報管理変換サーバ１０６は、ユーザ端末２０２にテーブル定義確認・編集画面１０００を表示し、ユーザにテーブル名称、フィールド名称の確認と、必要ならユーザによる変更をおこなう（Ｓ８０４）。これは、Ｓ７０４と同様である。
【００４７】
そして、構成情報管理変換サーバ１０６は、データベース変換プログラム２０８を起動し、実行することにより、更新分テーブル定義リンク情報テーブル２１３に格納された情報に基づき、構造型データベース１０２のデータベースに等価な関係型データベース１０４のデータベースのテーブルが作成される（Ｓ７０５）。これは、Ｓ７０５と同様である。
【符号の説明】
【００４８】
１００…データマイグレーションシステム、１０１…メインフレーム、１０２…構造型データベース、１０３…データベースサーバ、１０４…関係型データベース、１０５…アプリケーションサーバ群、１０６…構成情報管理変換サーバ、１０７…ネットワーク
【図１】
2018109898.tif 000003
【図２】
2018109898.tif 000004
【図３】
2018109898.tif 000005
【図４】
2018109898.tif 000006
【図５】
2018109898.tif 000007
【図６】
2018109898.tif 000008
【図７】
2018109898.tif 000009
【図８】
2018109898.tif 000010
【図９】
2018109898.tif 000011
【図１０】
2018109898.tif 000012
【図１１】
2018109898.tif 000013