ここで、例えば、サービスの都合上であったり、会社の合併であったりといった理由で、複数に分散して存在したデータベースを統合するような場合には、単純にデータ移行するだけではデータの整合性が保たれなくなってしまう。また、それが上述した銀行や電話回線のような大規模なサービスにおいては、従来例のように、ある時点におけるバックアップデータを移行した後に、旧システム全ての運用停止までの差分を送信して反映するとしても、反映のために多くの時間が必要となり、システム運用の停止時間が長くなってしまう。
このようにシステム運用の停止時間が長くなると、利用者に不便をかけることになってしまう。このため、複数に分散している大規模なデータベースを統合する際に、システム業務の停止時間を極力短くできる技術が待望されている。
本発明は、上記の点を鑑みてなされたものであり、システム業務の停止による利用者にかかる不便さを抑制することができるデータベース移行方法、当該データベース移行方法の実施に際して採用することができるデータベースシステム、及び当該データベース移行方法を演算装置に実行させるデータベース移行プログラムを提供することを目的とする。
本発明は、第1の観点からすると、稼動中の複数の移行前データベースを1つの移行後データベースに段階的に移行するデータベース移行方法であって、前記複数の移行前データベース中の第1データベースの第1の時点におけるバックアップデータから抽出された第1抽出データを、前記移行後データベースの第1領域に移行する第1段階移行工程と;前記第1データベースに対する前記第1の時点以降に更新されたデータである第1個別更新データを、前記第1領域に反映する第1段階差分更新工程と;前記第1データベースを利用して行われていた業務の実行領域を、前記移行後データベースの第1領域に切り替える第1段階切替工程と;前記第1段階差分更新工程が終了し、かつ、前記第1段階切替工程が終了した後の第2の時点における前記第1領域のバックアップデータを、前記移行後データベースの第2領域に作成する第1統合複製工程と;前記複数の移行前データベース中の第2データベースの第3の時点におけるバックアップデータから抽出された第2抽出データを、前記第2領域に移行する第2段階移行工程と;前記第1領域における前記第2の時点以降に更新されたデータである第1移行後更新データ及び前記第2データベースにおける前記第3の時点以降に更新されたデータである第2個別更新データを、前記第2領域に反映する第2段階差分更新工程と;前記第1段階切替工程で切り替えられた業務、及び、前記第2データベースを利用して行われていた業務の実行領域を、前記第2領域に切り替える第2段階切替工程と;を備えるデータベース移行方法である。
ここで、「第1データベース」及び「第2データベース」とは、移行対象となる複数のデータベースの一部を意味する。すなわち、「第1データベース」又は「第2データベース」は、1つのデータベースであってもよいし、2以上のデータベースであってもよい。本明細書においては、この意味で「第1データベース」及び「第2データベース」の用語を用いるものとする。
このデータベース移行方法では、まず、第1段階移行工程において、複数の移行前データベースにおける第1データベースの第1の時点におけるバックアップデータから抽出された第1抽出データを、移行後データベースの第1領域に移行する。
次に、第1段階差分更新工程において、第1データベースにおける第1の時点以降に更新されたデータである第1個別更新データを、第1領域に反映する。引き続き、第1段階切替工程において、第1データベースを利用して行われていた業務の実行領域を、移行後データベースの第1領域に切り替える。つまり、第1データベースが行っていた業務に関して稼動するデータベースが、第1データベースから移行後データベースに変更される。
次いで、第1段階差分更新工程が終了し、かつ、第1段階切替工程が終了した後の第2の時点における第1領域のバックアップデータが、第1統合複製工程において、移行後データベースの第2領域に作成される。これは、現在業務に利用されている領域である第1領域とは別に、他のデータベース移行用領域として第2領域を使うためである。
次に、第2段階移行工程において、複数の移行前データベース中の第2データベースの第3の時点におけるバックアップデータから抽出された第2抽出データを、第2領域に移行する。
次に、第2段階差分更新工程において、第1領域における第2の時点以降に更新されたデータである第1移行後更新データ及び第2データベースにおける第3の時点以降に更新されたデータである第2個別更新データを、第2領域に反映する。つまり、第2データベースにおける第3の時点から第2データベースシステムの稼動終了までに第2データベースに生じた差分を、キー項目等を考慮しつつ、第2領域に反映する。また、第2の時点以降に、第1領域において生じた差分を、第2領域に反映する。
そして、第2段階切替工程において、第1段階切替工程で切り替えられた業務、及び、第2データベースを利用して行われていた業務の実行領域を、第2領域に切り替える。つまり、第2データベースの機能が、新たに以降後データベースに移行する。
このように、移行前のデータベースごとに、まず、業務運用中に、当該移行前のデータベースのバックアップデータを移行後データベースに移行する。この後、当該バックアップデータの作成後、移行前のデータベースごとにおける業務運用終了までのデータベース更新データである差分データを移行後データベースへ移行後、又は、移行しつつ、移行後データベースが、順次、移行前のデータベースの業務運用停止後に当該業務運用を開始する。このため、移行前の各データベースが行っていた業務の停止時間を、利用者から見た場合に、従来の移行方法と比べて短くすることができる。
なお、本発明のデータベース移行方法においては、複数の移行前データベースと移行後データベースがそれぞれ個別のシステムであって通信等を介して移行する場合に適用することもできるし、複数の移行前データベースと移行後データベースとが同一のシステム内に存在する場合にも適用することができる。
したがって、本発明のデータベース移行方法によれば、利用者への提供業務の停止により利用者にかかる不便さを抑制しつつ、複数のデータベースを移行後データベースへ移行することができる。
本発明のデータベース移行方法では、前記第1段階切替工程が、前記第1段階差分更新工程の終了後に行われ、前記第2段階切替工程が、前記第2段階差分更新工程の終了後に行われるようにすることもできるし、前記第1段階切替工程が、前記第1段階差分更新工程の途中段階で行われ、前記第2段階切替工程が、前記第2段階差分更新工程の途中段階で行われるようにすることもできる。
本発明のデータベース移行方法では、前記第1抽出データにおける複数の第1レコードのそれぞれには、前記第1段階差分更新工程において前記第1レコードのそれぞれの特定を可能とする第1差分更新用識別子が付与され、前記第1段階移行工程では、前記第1レコードのそれぞれに前記移行後データベース用の新たな第1移行後レコード識別子を更に付与し、前記第2抽出データにおける複数の第2レコードのそれぞれには、前記第2段階差分更新工程において前記第2レコードのそれぞれの特定を可能とする第2差分更新用識別子が付与され、前記第2段階移行工程では、前記第2レコードのそれぞれに前記移行後データベース用の新たな第2移行後レコード識別子を更に付与する、とすることができる。
この場合には、移行後データベース用の新たなレコード識別子を移行前データベースが複数あることに対応して付与することにより、移行後データベースにおいて各移行データを一意とすることを簡易に実現することができる。また、抽出したそれぞれのデータを基に差分更新用の差分更新用識別子を付与することにより、移行当初における移行前データベースのバックアップデータを移行後データベースへ移行した後に、移行前データベースに発生した更新分である差分を容易に反映させることができる。
本発明のデータベース移行方法では、前記第1段階差分更新工程が、前記第1個別更新データにおける第1更新レコードに対応する第1対応レコードが前記第1領域に既に存在するか否かを判定する第1判定工程と;前記第1判定工程における判定の結果が肯定的であった場合には、前記第1更新レコードに基づいて前記第1対応レコードを更新し、前記第1判定工程における判定の結果が否定的であった場合には、新たな第1更新レコード識別子が付与された前記第1更新レコードを前記第1領域に格納する第1更新工程と;を備え、前記第2段階差分更新工程が、前記第2個別更新データにおける第2更新レコードに対応する第2対応レコードが前記第2領域に既に存在するか否かを判定する第2判定工程と;前記第2判定工程における判定の結果が肯定的であった場合には、前記第2更新レコードに基づいて前記第2対応レコードを更新し、前記第2判定工程における判定の結果が否定的であった場合には、新たな第2更新レコード識別子が付与された前記第2更新レコードを前記第2領域に格納する第2更新工程と;を備える、とすることができる。この場合には、第1及び第2個別差分データを移行後データベースに適切に反映することができる。
また、本発明のデータベース移行方法では、前記第2段階切替工程の開始後の第4の時点における前記第2領域のバックアップデータを前記第1領域に作成する第2統合複製工程と;前記複数の移行前データベース中の第3データベースの第5の時点におけるバックアップデータから抽出された第3抽出データを、前記第1領域に移行する第3段階移行工程と;前記第2領域における前記第4の時点以降に更新されたデータである第2移行後更新データ及び前記第3データベースにおける前記第5の時点以降に更新されたデータである第3個別更新データを、前記第1領域に反映する第3段階差分更新工程と;前記第2段階切替工程で切り替えられた業務、及び、前記第3データベースを利用して行われていた業務の実行領域を、前記第1領域に切り替える第3段階切替工程と;を更に備えるとすることができる。
上記の第2段階切替工程の後において更にデータベースの移行を進める必要がある場合には、まず、第2統合複製工程において、第2機能実行工程の開始後の第4の時点で、第2領域におけるデータの複製を移行後データベースの第1領域に作成する。現在、第2領域を業務運用に利用しており、第1領域は業務運用に利用していないので、複製先として第1領域を使用する。
次に、第3段階移行工程において、複数の移行前データベース中の第3データベースの第5の時点における、バックアップデータから抽出された第3抽出データを、第1領域に移行する。
次に、第3段階差分更新工程において、第2領域における第4の時点からの第2移行後更新データ及び第3データベースにおける第5の時点以降に更新されたデータである第3個別更新データを、第1領域に反映する。つまり、第3データベースにおける第5の時点から第3データベースの稼動終了までに第3データベースに生じた差分を、キー項目等を考慮しつつ、第1領域に反映する。また、第4の時点からの、第2領域において生じた差分を、第1領域に反映する。
また、第3段階切替工程において、第2段階切替工程で切り替えられた業務、及び、第3データベースを利用して行われていた業務の実行領域を、第1領域に切り替える。つまり、第3データベースの機能が、新たに移行後データベースに移行する。
このようにすることで、複数の移行前データベースからの移行に当たり、第1領域と第2領域をトグル構成にして使用することができる。したがって、資源を有効利用しつつ、簡易な構成でデータ移行を行うことができる。
本発明は、第2の観点からすると、複数の移行前データベースが移行される移行後データベースを有するデータベースシステムであって、前記複数の移行前データベース中の第1データベースの第1の時点におけるバックアップデータから抽出された第1抽出データを、前記移行後データベースの第1領域に移行する第1段階移行手段と;前記第1データベースに対して前記第1の時点以降に更新されたデータである第1個別更新データを、前記第1領域に反映する第1段階差分更新手段と;前記第1データベースを利用して行われていた業務の実行領域を、前記第1領域に切り替える第1段階切替手段と;前記第1段階差分更新手段による処理が完了し、かつ、前記第1段階切替手段による処理終了後の第2の時点における、前記第1領域のバックアップデータを、前記移行後データベースの第2領域に作成する第1統合複製手段と;前記複数の移行前データベース中の第2データベースの第3の時点におけるバックアップデータから抽出された第2抽出データを、前記第2領域に移行する第2段階移行手段と;前記第1領域における前記第2の時点以降に更新されたデータである第1移行後更新データ、及び、前記第2データベースにおける第3の時点以降に更新されたデータである第2個別更新データを、前記第2領域に反映する第2段階差分更新手段と;前記第1段階切替手段により切り替えられた業務、及び、前記第2データベースを利用して行われていた業務の実行領域を、前記第2領域に切り替える第2段階切替手段と;を備えるデータベースシステムである。
この移行後データベースでは、複数の移行前データベースにおける第1データベースの第1の時点において抽出された第1抽出データを受けると、第1段階移行手段が、第1抽出データを、移行後データベースの第1領域に移行する。この後、第1データベースの第1の時点からの第1個別更新データを第1データベースから受けると、第1段階差分更新手段が、当該更新データを第1領域に反映する。
かかる第1段階差分更新手段による当該更新データの第1領域への反映の完了後、あるいは反映中に、第1段階切替手段が、第1領域を業務利用領域とする移行後データベースに、第1データベースを利用して行われていた業務の実行を切り替える。つまり、第1データベースを利用して行われていた業務に関して、利用されるデータベースが、第1データベースから移行後データベースに変更される。
次に、第1段階差分更新手段による処理が終了し、かつ、第1段階切替手段による処理が終了した後の第2の時点における第1領域のバックアップデータを、移行後データベースの第2領域に作成する。引き続き、複数の移行前データベース中の第2データベースの第3の時点におけるバックアップデータから抽出された第2抽出データを受けると、第2段階移行手段が、第2移行データを第2領域に移行する。
続けて、第2段階差分更新手段が、第1領域における第2の時点からの第1移行後更新データ、及び、第2データベースにおける第3の時点からの第2個別更新データを第2領域に反映する。つまり、第2データベースにおける第3の時点から第2データベースの稼動終了までに第2データベースに生じた差分を、キー項目等を考慮しつつ、第2領域に反映する。また、第2の時点から、第1領域において生じた差分を、第2領域に反映する。
そして、第2段階切替手段が、第2領域を業務利用領域とする移行後データベースに、第1段階切替手段により切り替えられた業務、及び、第2データベースを利用して行われていた業務の実行領域を切り替える。つまり、第2データベースの機能が、移行後データベースに移行する。
すなわち、本発明のデータシステムは、上述した本発明のデータベース移行方法を実行する際に必要となるデータベースシステムとしての機能を果たすことができる。したがって、本発明のデータシステムは、本発明のデータベース移行方法の実施に際して採用することができる。
本発明のデータベースシステムでは、前記第1段階切替手段による処理は、前記第1段階差分更新手段による処理完了後に行われ、前記第2段階切替手段による処理は、前記第2段階差分更新手段による処理完了後に行われるようにすることもできるし、前記第1段階切替手段による処理は、前記第1段階差分更新手段による処理の途中段階で行われ、前記第2段階切替手段による処理は、前記第2段階差分更新手段による処理の途中段階で行われるようにすることもできる。
本発明のデータベースシステムは、前記第2段階切替手段による処理開始後の第4の時点における、前記第2領域のバックアップデータを前記移行後データベースの第1領域に作成する第2統合複製手段と;前記複数の移行前データベース中の第3データベースの、第5の時点におけるバックアップデータから抽出された第3抽出データを、前記第1領域に移行する第3段階移行手段と;前記第2領域における前記第4の時点以降に更新されたデータである第2移行後更新データ、及び、前記第3データベースにおける第5の時点以降に更新されたデータである第3個別更新データを、前記第1領域に反映する第3段階差分更新手段と;前記第2段階切替手段により切り替えられた業務、及び、前記第3データベースを利用して行われていた業務の実行領域を、前記第1領域に切り替える第3段階切替手段と;を更に備える、とすることができる。
上記の第2段階切替手段による処理の後において更にデータベースの移行を進める必要がある場合には、第2統合複製手段が、第2段階切替手段による処理開始後の第4の時点における第2領域におけるデータの複製を移行後データベースの第1領域に作成する。すなわち、現在、第2領域を業務運用に利用しており、第1領域は業務運用に利用していないので、複製先として第1領域を使用する。
次に、複数の移行前データベース中の第3データベースの第5の時点における第3データベースの第3個別バックアップデータから抽出された第3抽出データを第1領域に移行する。引き続き、第3段階差分更新手段が、第2領域における第4の時点からの第2統合更新データ、及び、第3データベースにおける第5の時点からの第3個別更新データを、第1領域に反映する。
つまり、第3データベースにおける第5の時点から第3データベースの稼動終了までに第3データベースに生じた差分を、キー項目等を考慮しつつ、第1領域に反映する。また、第4の時点からの、第2領域において生じた差分を、第1領域に反映する。
また、第3段階切替手段が、第1領域を業務利用領域とする移行後データベースに、第2段階切替手段により切り替えられた業務、及び、第3データベースを利用して行われていた業務の実行領域を切り替える。つまり、稼動する領域が、第2領域及び第3データベースから、第1領域に移行する。
このようにすることで、複数の移行前データベースからの移行に当たり、第1領域と第2領域をトグル構成にして使用できる。したがって、資源を有効に使用しつつ、簡易な構成でデータ移行を行うことができる。
ここで、前記第3段階切替手段による処理は、前記第3段階差分更新工程による処理終了後に行われるようにすることもできるし、前記第3段階切替手段による処理は、前記第3段階差分更新手段による処理の途中段階で行われるようにすることもできる。
本発明は、第3の観点からいって、本発明のデータベース移行方法を、演算装置に実行させるデータベース移行プログラムである。
以上説明したように、本発明のデータベース移行方法によれば、システム業務の停止による利用者にかかる不便さを抑制することができるという効果を奏する。
また、本発明のデータベースシステムは、本発明のデータベース移行方法の実施に際して採用することができるという効果を奏する。
また、本発明のデータベース移行プログラムは、本発明のデータベース移行の実施に際して採用することができるという効果を奏する。
以下、本発明の実施形態を、図1〜図11を参照しつつ説明する。なお、これらの図においては、同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
[構成]
図1には、本発明の実施形態であるシステム1の概略図が示されている。この図1に示されるように、システム1は、個別のデータベースシステム群である、データベースシステム10j(j=1、2、…N)と、それらを移行する先である統合データベースシステム100と、これら全てを接続するネットワーク90を備えている。データベースシステム10jのデータベースデータは、ネットワーク90を介し通信によって統合データベースシステム100に移行される。
図2には、データベースシステム10jの構成が示されている。この図2に示されるように、データベースシステム10jは、業務処理部19jを備えている。この業務処理部19jは、内部の記憶領域として、データベース領域11j、バックアップ領域12j及び差分領域13jが用意されている。
この業務処理部19jは、ネットワークを介したデータベース登録要求に対応して、データベース領域11j内のデータを更新する。また、業務処理部19jは、不図示の操作入力手段を用いたオペレータによるデータベース登録要求入力に対応して、データベース領域11j内のデータを更新する。
このデータベース領域11j内には、図3Aに示されるような形式を有する複数のレコードRCDjk(k=1,2,…)が記憶される。ここで、レコードRCDjkのそれぞれは、データベースシステム10jごとに固有に付与された個別データベースキー(以下、「個別DBキー」と記す)DDBKjkと、レコードデータRDDjkとから構成されている。
図2に戻り、業務処理部19jは、通常の業務運用の動作において、定期的に、データベース領域11j内のデータの複製をバックアップ領域12j内に作成する。また、業務処理部19jは、後述するスケジューラ14jからの移行開始指令や、オペレータの指令に応答して、データベース領域11j内のデータの複製をバックアップ領域12j内に作成する。
また、業務処理部19jは、スケジューラ14jからの移行開始指令を受けると、以後の業務処理におけるデータベース領域11j内のデータ更新に際して、データベース領域11j内に格納する更新データを、差分領域13jにも同時に格納する。さらに、業務処理部19jは、スケジューラ14jからの業務停止指令を受けると、以後の業務処理を停止する。
データベースシステム10jは、スケジューラ14j、抽出部15j、差分抽出部16j、ファイル作成部17j及び転送部18jを更に備えている。これらの要素14j〜18jは、データベース移行に際して機能を発揮する。
スケジューラ14jは、データベース移行の際におけるデータベースシステム10jの動作を制御する。このスケジューラ14jは、データベース移行のためにデータベースシステム10jとして行うべき動作の手順を実行する。そして、当該手順に従って、業務処理部19jへ向けて移行開始指令や、業務停止指令を送るとともに、他の要素に対して、必要な指令を送る。
抽出部15jは、スケジューラ14jによる制御のもとで、バックアップ領域12jにおける格納内容から、移行すべきデータを抽出する。この抽出部15jは、バックアップ領域12jにおける格納内容を単に複製するのではなく、データベース移行のためのデータの整理や項目内容のチェック及び変更も行う。なお、抽出部15jの抽出結果データは、図3Bに示されるような形式を有する複数の移行用レコードTRDjp(p=1,2,…)からなる。ここで、移行用レコードTRDjpのそれぞれは、レコードデータRDDjpと、個別DBキーDDBKjpと、移行元であるデータベース10jの識別子(以下、「移行元DB識別子」と記す)ODBjとから構成されている。
なお、以下の説明においては、図3Bに示されるように、個別DBキーDDBKjpと移行元DB識別子とをまとめて、「差分更新用識別子DUIjp」と呼ぶものとする。この差分更新用識別子DUIjpを利用することにより、移行用レコードが複数のデータベースシステムから統合データベースシステム100に移行された後であっても、個々の移行用レコードTRDjpを一意的に特定できる。
差分抽出部16jは、スケジューラ14jによる制御のもとで、差分領域13jにおける格納内容から、移行すべき差分データを抽出する。この差分抽出部16jにおいても、抽出部15jの場合と同様に、図3Bに示されたレコード形式の抽出結果を得るようになっている。
ファイル作成部17jは、抽出部15j又は差分抽出部16jからデータを受けた場合に、移行ファイルを作成する。このファイル作成部17jは、転送のためにデータ圧縮を行うようになっている。
転送部18jは、ファイル作成部17jから移行ファイルを受けた場合に、ネットワーク90を介して、当該移行ファイルを統合データベースシステム100に転送する。
図4には、統合データベースシステム100の構成が示されている。この図4に示されるように、統合データベースシステム100は、第1統合複製手段及び第2統合複製手段としても機能する業務処理部110(第1統合複製手段、第2統合複製手段)を備えている。この業務処理部110は、図5に示されるように、内部の記憶領域として、第1領域111、第2領域112及び差分領域113が用意されている。
この業務処理部19jは、ネットワークを介したデータベース登録要求に対応して、上記の第1領域111及び第2領域112のいずれかを業務処理用領域として、当該業務処理用領域内のデータを更新する。また、業務処理部110は、不図示の操作入力手段を用いたオペレータによるデータベース登録要求入力に対応して、業務処理用領域内のデータを更新する。
この業務処理用領域内には、図6に示されるような形式を有する複数の統合レコードIRDr(r=1,2,…)が記憶される。ここで、統合レコードIRDrのそれぞれは、統合データベースシステム100において固有に付与された統合データベースキー(以下、「統合DBキー」と記す)IDBKrと、レコードデータRDDjpと、個別DBキーDDBKjpと、移行元DB識別子ODBjとから構成されている。すなわち、統合レコードIRDrは、移行用レコードTRDjpに統合DBキーIDBKrが付与されたものとなっている。
なお、移行されたレコードではなく、統合データベースシステム100において新たに登録されたレコードの場合には、個別DBキーDDBKjpの部分の内容には意味がなく、例えば「null」データが挿入される。また、移行元DB識別子ODBjの部分には統合データベースシステム100オリジナルのデータである旨の情報が挿入される。
図4に戻り、業務処理部110は、データベース移行が完了した後は、通常の業務運用の動作において、定期的に、第1領域111及び第2領域112の一方である業務処理用領域内のデータの複製を、第1領域111及び第2領域112の一方である他方のバックアップ領域に作成する。かかるデータベース移行の完了報告(以下、「移行完了報告」と記す)は、後述するスケジューラ120が業務処理部110に報告するようになっている。
また、業務処理部110は、データベース移行が完了する前である移行途中段階においては、複製元領域及び複製先領域を指定したスケジューラ120からの複製指令に従って、複製データを複製先領域内に作成する。また、業務処理部110は、データベース移行が完了する前である移行途中段階においては、業務処理部110が行った業務処理に伴う業務処理用領域内のデータ更新に際して、当該業務処理用領域内に格納する更新データ(統合更新データ)を差分領域113にも格納する。
さらに、業務処理部110は、データベース移行が完了する前である移行途中段階において、第1領域111及び第2領域112のいずれかの領域を業務処理用領域として指定した業務切替指令をスケジューラ120から受けると、指定された業務処理用領域を利用した業務処理を開始する。
なお、業務処理部110は、データベース移行の完了の前後にかかわらず、不図示の操作入力手段を用いたオペレータによるデータベース登録要求入力や複製作成要求入力に対応して、業務処理用領域内のデータ更新や、バックアップ領域内における複製データの作成を行う。
図4に示されるように、統合データベースシステム100は、スケジューラ120(第1段階切替手段、第2段階切替手段、第3段階切替手段)と、受信部130と、ファイル取得部140とを備えている。また、統合データベースシステム100は、移行部150(第1段階移行手段、第2段階移行手段、第3段階移行手段)と、差分更新部160(第1段階差分更新手段、第2段階差分更新手段の一部、第3段階差分更新手段の一部)と、差分抽出部170(第2段階差分更新手段の一部、第3段階差分更新手段の一部)とを更に備えている。これらの要素120〜170は、データベース移行に際して機能を発揮する。
スケジューラ120は、データベース移行の際における統合データベースシステム100の動作を制御する。このスケジューラ120は、データベース移行のために統合データベースシステム100として行うべき動作の手順を実行する。そして、当該手順に従って、業務処理部110へ向けて、上記の複製指令、業務切替指令、移行完了報告を送るとともに、他の要素に対して、必要な指令を送る。
受信部130は、データベースシステム10jから送信された移行ファイルデータを、ネットワーク90を介して受信する。そして、受信された移行ファイルデータをファイル取得部140へ送る。
ファイル取得部140は、受信部130からの移行ファイルデータを受けると、当該移行ファイルを解凍する。その後、移行ファイルが通常の移行ファイルか差分移行ファイルかに応じて、解凍された移行ファイルを移行部150又は差分更新部160に振り分けて送る。すなわち、移行ファイルが通常の移行ファイルである場合には、ファイル取得部140は、解凍された移行ファイルを移行部150へ送る。一方、移行ファイルが差分移行ファイルである場合には、ファイル取得部140は、解凍された移行ファイルを差分更新部160へ送る。
移行部150は、スケジューラ120による制御のもとで、ファイル取得部140からの移行ファイルに含まれるデータを第1領域111又は第2領域112へ移行する。なお、移行先の領域は、スケジューラ120により指定される。
かかるデータ移行に際して、移行部150は、まず、受信した移行ファイル内の各移行用レコードTRDjpについて、統合データベースシステム100において一意とするための識別子である統合DBキーIDBKrを付与して、新たな統合レコードIRDrを作成する。そして、移行部150は、指定された移行先領域に新たな統合レコードIRDrを登録する。
差分更新部160は、スケジューラ120による制御のもとで、ファイル取得部140からの差分移行ファイルに含まれるデータ、及び、差分抽出部170による抽出結果を第1領域111又は第2領域112に反映する。なお、反映先の領域は、スケジューラ120により指定される。
かかるデータ反映のうち、差分移行ファイルに含まれるデータの反映に際しては、移行部150は、まず、差分移行ファイル内の各移行用レコードTRDjpにおける差分更新用識別子DUIjpと同一の差分更新用識別子を有する統合レコードが既に存在するか否かを判定する。この判定が肯定的であった場合には、移行部150は、該当する統合レコードにおけるレコードデータを差分移行ファイル内の移行用レコードTRDjpのレコードデータRDDjpの内容に変更する。一方、当該判定が否定的であった場合には、移行部150は、差分移行ファイル内の各移行用レコードTRDjpに新たな統合DBキーIDBKrを付与して、新たな統合レコードIRDrを作成する。そして、反映先の領域に新たな統合レコードIRDrを登録する。
また、差分抽出部170による抽出結果の反映に際しては、移行部150は、まず、当該抽出結果における統合DBキーIDBKrと同一の統合DBキーを有する統合レコードが既に存在するか否かを判定する。この判定が肯定的であった場合には、移行部150は、該当する統合レコードにおけるレコードデータを抽出結果の統合レコードTRDrのレコードデータRDDjpの内容に変更する。一方、当該判定が否定的であった場合には、移行部150は、抽出結果の統合レコードIRDrを、反映先の領域に登録する。
差分抽出部170は、スケジューラ120による制御のもとで、差分領域113から、スケジューラ120において設定された時点より後の更新内容を抽出する。この抽出結果は、差分更新部160へ送られる。
[動作]
次に、以上のように構成されたシステム1におけるデータベース移行について説明する。このデータベース移行の処理では、データベースシステム10j(j=1,2,…,N)のそれぞれにおけるデータベースを、段階的に統合データベースシステム100へ移行する。
前提として、当初はデータベースシステム10jのそれぞれが、業務処理を行っているものとする。また、当初は、統合データベースシステム100が業務処理を行っていないものとする。
かかるデータベース移行の処理では、図7に示されるように、まず、ステップS01において、データベースシステム101における第1データベースを統合データベースシステム100へ移行する。この第1データベース移行処理では、図8に示されるように、まず、ステップS11において、第1データベースに関する初期データ移行が行われる。
かかる初期データ移行に際しては、図9のステップS21において、まず、データベースシステム101における業務処理部191が、スケジューラ141からの複製指令に従って、データベース領域111内データの複製をバックアップ領域121内に作成する。引き続き、スケジューラ141からの抽出指令を受けた抽出部151が、バックアップ領域121内データに基づいて、統合データベースシステム100へ移行すべきデータである移行データを抽出する。かかる抽出に際して抽出部151は、バックアップ領域121内の複数のレコードRCD1k(k=1,2,…)(図3A参照)に基づいて、少なくとも1つの移行用レコードTRD1p(p=1,2,…)(図3B参照)を作成する。かかる抽出結果は、ファイル作成部171へ送られる。
次に、ステップS22において、抽出部151による抽出結果を受けたファイル作成部171が、移行用レコードTRD1pを含むファイルを作成した後にデータ圧縮を施して、通常移行ファイルを作成する。この通常移行ファイルは、転送部181へ送られる。引き続き、移行ファイルを受けた転送部181は、ネットワーク90を介して、当該通常移行ファイルを統合データベースシステム100へ向けて送る。
データベースシステム101からの通常移行ファイルを受けた統合データベースシステム100では、ステップS23において、当該通常移行ファイル内データの第1領域111への登録処理が行われる。このステップS23の処理では、図10に示されるように、まず、受信処理が行われる。この受信処理では、まず、統合データベースシステム100における受信部130が、ステップS26において送信された通常移行ファイルを受信する。すると、受信部130はこれをファイル取得部140に送信する。引き続き、ファイル取得部140が、通常移行ファイルを解凍する。そして、ファイル取得部140が、受信した移行ファイルが差分移行ファイルであるか否かを判定する。ここでは、差分移行ファイルではない通常移行ファイルであるので、判定の結果は否定的なものとなり、ファイル取得部140は、通常移行ファイルを移行部150へ送る。
通常移行ファイルを受けた移行部150は、ステップS27において、当該通常移行ファイル中の全レコードが処理済か否かを判定される。この判定の結果が肯定的なものであった場合は、ステップS23が終了し、この結果としてステップS11の処理が終了する。
ステップS27における判定の結果が否定的であった場合には、移行部150は、ステップS28において、当該通常移行ファイル中の各レコードについて、統合DBキーを付与して、統合レコードを作成する。引き続き、ステップS29において、移行部150は、作成された統合レコードを第1領域111に登録する。そして、処理はステップS27へ戻る。
以後、ステップS27における判定の結果が肯定的となるまで、ステップS27〜S29の処理が繰り返される。そして、当該移行ファイル中の全レコードが処理済となると、上述したように、ステップS23が終了し、この結果としてステップS11の処理が終了する。こうして、ステップS11の処理が終了すると、処理は、図8のステップS12へ進む。
ステップS12では、所定のタイミングでデータベースシステム101による業務処理を停止させた後、先のバックアップ領域121内への複製作成の時点からデータベースシステム101による業務処理の停止までの期間に発生した第1データベースの更新分である差分データの統合データベースに反映する。
かかる差分データ反映処理では、図11のステップS31において、まず、スケジューラ141からの抽出指令を受けた差分抽出部161が、差分領域131内データに基づいて、統合データベースシステム100へ反映すべきデータである差分データを抽出する。かかる抽出に際して差分抽出部161は、上述のステップS21における抽出部151の場合と同様にして、差分反映用レコードを作成する。かかる抽出結果は、ファイル作成部171へ送られる。
次に、ステップS32において、差分抽出部161による抽出結果を受けたファイル作成部171が、差分反映用レコードを含むファイルを作成した後にデータ圧縮を施して、差分移行ファイルを作成する。この差分移行ファイルは、転送部181へ送られる。引き続き、差分ファイルを受けた転送部181は、ネットワーク90を介して、当該差分移行ファイルを統合データベースシステム100へ向けて送る。
データベースシステム101からの差分移行ファイルを受けた統合データベースシステム100では、ステップS33において、当該差分移行ファイル内データの第1領域111への反映処理が行われる。このステップS33の処理では、図12に示されるように、まず、受信処理が行われる。この受信処理では、まず、統合データベースシステム100における受信部130が、ステップS34において送信された差分移行ファイルを受信する。すると、受信部130はこれをファイル取得部140に送信する。引き続き、ファイル取得部140が、差分移行ファイルを解凍する。そして、ファイル取得部140が、受信した移行ファイルが差分移行ファイルであるか否かを判定する。ここでは、差分移行ファイルであるので、判定の結果は肯定的なものとなり、ファイル取得部140は、差分移行ファイルを差分更新部160へ送る。
通常移行ファイルを受けた差分更新部160は、ステップS35において、当該差分移行ファイル中の全レコードが処理済か否かを判定される。この判定の結果が肯定的なものであった場合は、ステップS23が終了し、この結果としてステップS33の処理が終了し、従ってステップS01の処理が終了する。
ステップS35における判定の結果が否定的なものであった場合には、処理はステップS36に進む。このステップS36では、差分更新部160は、差分移行ファイル中の各レコードについて、対応する統合レコードが第1領域111に存在するか否かを判定する。かかる判定に際して、差分更新部160は、差分移行ファイル内の各移行用レコードにおける差分更新用識別子と同一の差分更新用識別子を有する統合レコードが既に存在していない新規データであるか否かを判定する。
ステップS36における判定の結果が肯定的であった場合には、処理はステップS37へ進む。このステップS37では、当該差分移行ファイル中の各レコードについて、統合DBキーを付与して、統合レコードを作成する。引き続き、ステップS38において、移行部150は、作成された統合レコードを第1領域111に登録する。そして、処理はステップS35へ戻る。
ステップS36における判定の結果が否定的であった場合には、処理はステップS39へ進む。このステップS39では、当該差分移行ファイル中の各レコードに対応する既存の統合レコードにおけるレコードデータ部分を、差分移行ファイル中の各レコードにおけるレコードデータ部分の内容に更新する。そして処理はステップS35へ戻る。
以後、ステップS35における判定の結果が肯定的となるまで、ステップS35〜S39の処理が繰り返される。そして、当該移行ファイル中の全レコードが処理済となると、上述したように、ステップS33が終了し、この結果としてステップS01の処理が終了する。こうして、ステップS01の処理が終了すると、処理は、図7のステップS02へ進む。
ステップS02では、第1業務切換処理が行われる。この第1業務切換処理では、まず、スケジューラ120が、第1領域111を業務処理用領域に指定した業務切替指令を業務処理部110へ送る。この業務切替指令を受けた業務処理部110は、第1領域111を利用した業務処理を開始する。この結果、データベースシステム101が行っていた業務処理の実行が、統合データベースシステム100による実行に切り替わる。
次に、ステップS03において、パラメータnに「1」が設定される。かかるパラメータnは、統合データベースシステム100におけるスケジューラ120により管理される。
次いで、ステップS04において、データベースシステム102nにおける第(2n)データベースを統合データベースシステム100へ移行する。この第(2n)データベース移行処理では、図13に示されるように、まず、ステップS41において、統合データベースシステム100において、第1領域111内のデータの複製が第2領域112内に作成される。かかる複製処理に際しては、まず、スケジューラ120が、複製元領域を第1領域111に指定するとともに、複製先領域を第2領域112に指定した複製指令を業務処理部110へ送る。この複製指令を受けた業務処理部110は、第1領域111内のデータの複製を第2領域112内に作成する。
次に、ステップS42において、第(2n)データベースに関する初期データ移行が行われる。かかる初期データ移行に際しては、図14のステップS51において、まず、データベースシステム102nにおける業務処理部192nが、スケジューラ142nからの複製指令に従って、データベース領域112n内データの複製をバックアップ領域122n内に作成する。引き続き、スケジューラ142nからの抽出指令を受けた抽出部152nが、上述したステップS31における抽出部151の場合と同様にして、バックアップ領域122n内データに基づいて、統合データベースシステム100へ移行すべきデータである移行データを抽出し、抽出結果をファイル作成部172nへ送る。
次いで、ステップS52において、抽出部152nによる抽出結果を受けたファイル作成部172nが、上述したステップS32における抽出部151の場合と同様に、移行用レコードを含むファイルを作成した後にデータ圧縮を施して通常移行ファイルを作成し、転送部182nへ送る。引き続き、通常移行ファイルを受けた転送部182nは、ネットワーク90を介して、当該通常移行ファイルを統合データベースシステム100へ向けて送る。
データベースシステム102nからの通常移行ファイルを受けた統合データベースシステム100では、ステップS53において、当該通常移行ファイル内データの第2領域112への登録処理が行われる。このステップS53の処理では、上述したステップS23の場合と同様に、受信処理、統合DBキーの付与処理が行われた後、作成された統合レコードが第2領域112に登録される。そして、ステップS53の処理が終了し、この結果としてステップS42の処理が終了する。この後、処理はステップS43へ進む。
ステップS43では、所定のタイミングでデータベースシステム102nによる業務処理を停止させた後、先のバックアップ領域122n内への複製作成の時点からデータベースシステム102nによる業務処理の停止までの期間に発生した第(2n)データベースの更新分である差分データの統合データベースに反映する。
かかる差分データ反映処理では、図15のステップS61において、まず、スケジューラ142nからの抽出指令を受けた差分抽出部162nが、差分領域132n内データに基づいて、統合データベースシステム100へ反映すべきデータである差分データを抽出する。かかる抽出に際して差分抽出部162nは、上述のステップS51における抽出部152nの場合と同様にして、差分反映用レコードを作成する。かかる抽出結果は、ファイル作成部172nへ送られる。
次に、ステップS62において、差分抽出部162nによる抽出結果を受けたファイル作成部172nが、上述のステップS32における差分抽出部161と同様にして、差分反映用レコードを含むファイルを作成した後にデータ圧縮を施して差分移行ファイルを作成し、転送部182nへ送る。引き続き、差分ファイルを受けた転送部182nは、ネットワーク90を介して、当該差分移行ファイルを統合データベースシステム100へ向けて送る。
データベースシステム102nからの差分移行ファイルを受けた統合データベースシステム100では、ステップS63において、当該差分移行ファイル内データの第2領域112への反映処理、及び、上記のステップS41における複製処理の後の業務処理により発生したデータ(以下、「内部差分データ」とも記す)の反映処理(以下、「内部差分反映処理」とも呼ぶ)が行われる。このステップS63における差分移行ファイル内データの第2領域112への反映処理は、反映先領域が第2領域であることを除いて、上述したステップS33の場合と同様に行われる。
また、内部差分反映処理に際しては、まず、統合データベースシステム100における差分抽出部170が、スケジューラ120からの差分抽出指令に従って、差分領域113内のデータから内部差分データを抽出し、差分更新部160へ送る。内部差分データを受けた差分更新部160は、統合DBキーを比較することにより、内部差分データにおける各統合レコードに対応する統合レコードが既に第2領域112に存在していない新規データであるか否かを判定する。
かかる内部差分反映用判定の結果が肯定的であった場合には、差分更新部160は、当該内部差分データ中の各レコードを第2領域112に登録する。一方、内部差分反映用判定の結果が否定的であった場合には、当該内部差分データ中の各レコードに対応する既存の統合レコードにおけるレコードデータ部分を、内部差分データの各レコードにおけるレコードデータ部分の内容に更新する。
以上のようにしてステップ63の処理を終了すると、ステップS43の処理が終了する。この結果、ステップS04の処理が終了し、処理は、図7のステップS05へ進む。
ステップS05では、第(2n)業務切換処理が行われる。この第(2n)業務切換処理では、まず、スケジューラ120が、第2領域112を業務処理用領域に指定した業務切替指令を業務処理部110へ送る。この業務切替指令を受けた業務処理部110は、第2領域112を利用した業務処理を開始する。この結果、第(2n)データベースシステム102nが行っていた業務処理の実行が、更に、統合データベースシステム100による実行に切り替わる。
次に、ステップS06において、全てのデータベース移行が完了したか否かが判定される。このステップS06における判定の結果が肯定的であった場合には、データベース移行処理が終了する。一方、ステップS06における判定の結果が否定的であった場合には、処理は、ステップS07へ進む。
次いで、ステップS07において、データベースシステム102n+1における第(2n+1)データベースを統合データベースシステム100へ移行する。この第(2n+1)データベース移行処理では、図16に示されるように、まず、ステップS71において、統合データベースシステム100において、第2領域112内のデータの複製が第1領域111内に作成される。かかる複製処理に際しては、まず、スケジューラ120が、複製元領域を第2領域112に指定するとともに、複製先領域を第1領域111に指定した複製指令を業務処理部110へ送る。この複製指令を受けた業務処理部110は、第2領域112内のデータの複製を第1領域111内に作成する。
次に、ステップS72において、第(2n+1)データベースに関する初期データ移行が行われる。かかる初期データ移行処理は、最終的な登録先が第1領域111である点を除いて、上述したステップS42の場合と同様に行われる。引き続き、ステップS73において、所定のタイミングでデータベースシステム102n+1による業務処理を停止させた後、先のバックアップ領域122n+1内への複製作成の時点からデータベースシステム102n+1による業務処理の停止までの期間に発生した第(2n+1)データベースの更新分である差分データの統合データベースに反映する。かかる差分データの反映処理は、反映先が第1領域111である点を除いて、上述したステップS43の場合と同様に行われる。
以上のようにしてステップ73の処理が終了すると、ステップS07の処理が終了する。この後、処理は、図7のステップS08へ進む。
ステップS08では、第(2n+1)業務切換処理が行われる。この第(2n+1)業務切換処理では、まず、スケジューラ120が、第1領域111を業務処理用領域に指定した業務切替指令を業務処理部110へ送る。この業務切替指令を受けた業務処理部110は、第1領域111を利用した業務処理を開始する。この結果、第(2n+1)データベースシステム102n+1が行っていた業務処理の実行が、更に、統合データベースシステム100による実行に切り替わる。
次に、ステップS09において、全てのデータベース移行が完了したか否かが判定される。このステップS09における判定の結果が肯定的であった場合には、データベース移行処理が終了する。一方、ステップS09における判定の結果が否定的であった場合には、処理は、ステップS10へ進む。
ステップS10では、パラメータnに「1」が加算される。この後、処理はステップS04へ戻る。以後、ステップS06又はステップS09の判定の結果が肯定的となるまで、ステップS04〜S10の処理を繰り返す。そして、全てのデータベース移行が完了し、ステップS06又はステップS09の判定の結果が肯定的となると、システム1におけるデータベース移行処理が終了する。
こうしてデータベース移行処理が終了すると、統合データベースシステム100におけるスケジューラ120が、移行完了報告を業務処理部110へ送る。この移行完了報告を受けると、業務処理部110は、通常の業務処理を開始する。
以上説明したように、本発明の実施形態においては、移行元のデータベースシステム10j(j=1〜N)に、まず、業務運用中に、当該移行元のシステムにおけるデータベースのバックアップデータを統合データベースシステム100に移行する。この後、当該バックアップデータの作成後、移行元のデータベースシステム10jにおける業務運用終了までのデータベース更新データである差分データを統合データベース100へ移行後、統合データベースシステム100が、順次、移行元のシステムの業務運用停止後に当該業務運用を開始する。このため、移行元の各データベースシステム10jが行っていた業務の停止時間を、利用者から見た場合に、従来の移行方法と比べて短くすることができる。
また、本実施形態では、データベース移行中において、第1領域111と第2領域112とをトグルバッファとして使用し、業務処理用領域とバックアップ領域とをスワップしながら、第3データベース以降のデータベース移行を行う。このため、3つ以上のデータベースを統合データベースへ移行する場合において必要とする記憶容量を最小化することができる。
[実施形態の変形]
上記の実施形態において、移行するタイミングに合わせて抽出対象のデータベースのバックアップを作成し、これよりデータを抽出するとした。しかし、データの抽出は通常運用におけるバックアップを対象に行い、これより抽出するとしてもよい。
また、上記の実施形態においては、移行前データベースと移行後データベースはそれぞれ個別のシステム内に存在し、通信によって移行を行うとした。しかし、移行前データベースと移行後データベースが同じシステム内にある構成においても、本発明を適用することができる。
また、上記の実施形態においては、当初、統合データベースシステム100は業務処理を行っていないものとした。しかし、統合データベースシステム100が業務処理を行っている状態から本発明の処理を開始することもできる。
また、上記の実施形態において、図7の動作フローのステップS02、ステップS05、ステップS08においては、それぞれ、データベースシステム101、データベースシステム102n、データベースシステム102n+1、の稼動を停止させた上で差分移行するとした。しかし、差分更新の途中で切替を行うこともできる。つまり、各データベースシステムの稼動を停止することをせず、切替後も差分移行を繰り返すことで、ノンストップの移行を実現させることもできる。
この場合には、まず、一旦差分移行をした上で、切替を行う。その後、統合データベースシステム100に対する更新は、業務処理部110の中に設けたバッファ(図示せず)に、更新記録として取る。そして、差分移行の対象となった時点から後に、各データベースシステムに更に発生した差分を移行した上で、当該更新記録を反映させる。差分の統合データベースに対する移行や当該更新記録の反映は、内部処理であるため、それほど時間はかからない。したがって、このようにすることで、差分を採取する対象の時間はだんだん短くなっていき、発生する差分も少なくなっていく。そして、差分が全くなくなったときに、差分移行が完了する。このようにすれば、各データベースシステムの稼動を停止することなく移行を行えるため、利用者に全く迷惑のかからないデータ移行が可能となる。