JP7449190B2 - データ移行システムおよびデータ移行方法 - Google Patents

データ移行システムおよびデータ移行方法 Download PDF

Info

Publication number
JP7449190B2
JP7449190B2 JP2020127235A JP2020127235A JP7449190B2 JP 7449190 B2 JP7449190 B2 JP 7449190B2 JP 2020127235 A JP2020127235 A JP 2020127235A JP 2020127235 A JP2020127235 A JP 2020127235A JP 7449190 B2 JP7449190 B2 JP 7449190B2
Authority
JP
Japan
Prior art keywords
data
program
migration
data model
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020127235A
Other languages
English (en)
Other versions
JP2022024566A (ja
Inventor
淳平 大越
恒彦 馬場
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2020127235A priority Critical patent/JP7449190B2/ja
Priority to US17/166,520 priority patent/US11467752B2/en
Publication of JP2022024566A publication Critical patent/JP2022024566A/ja
Application granted granted Critical
Publication of JP7449190B2 publication Critical patent/JP7449190B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/214Database migration support
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/23Updating
    • G06F16/2365Ensuring data consistency and integrity

Landscapes

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

Description

本発明は、データ移行システムおよびデータ移行方法に係り、特に、異種のデータモデルを有するデータストア間のプログラム移行を工数をかけることなく行うのに好適なデータ移行システムおよびデータ移行方法に関する。
近年のインターネットなどに見られるネットワークのグローバル化に伴って、企業等における情報処理システムは、オンプレミス環境からクラウドへの移行が進展している。そのような開発パラダイムの変化に伴って、多種多様なデータストアに対応したデータ移行のニーズが増大している。
ここで、データストアとは、情報処理システムの構成で、データを決められた形式で記憶装置に永続的に保存・蓄積する機能や主体をいい、リレーショナルデータベース(RDBMS)、キーバリューストア(KVS)、クラウドストレージなどはその具体的な実装の一形態である。
一方、ソフトウェア開発においては、プログラムを本番環境で稼動させる前に、PoC(Proof Of Concept:概念実証)環境で、検証・テストを行って、ソフトウェアの品質を向上させ、パスしたプログラムを本番環境で稼動させるのが一般的である。
このようなソフトウェアの移行に関しては、例えば、特許文献1に開示がある。特許文献1では、汎用機上のアプリケーションのロジックを残しつつ、階層型データベースにアクセスするアプリケーションをリレーショナルデータベースにアクセスするアプリケーションに変換するデータベース変換システムが記載されている。
特開2011-197988号公報
特許文献1に記載されたデータベース変換システムにおいては、クエリ変換プログラムが、階層型データベースの構造定義データと、COBOLプログラムが階層型データベースにアクセスするときのアクセスパラメータに基づき、階層型データベースを変換したリレーショナルデータベースにアクセスするためのクエリを特定する。そして、あらかじめ用意されている、リレーショナルデータベースにアクセスするSQL部品のうち、クエリに相当するものを選択し、アクセスパラメータを引き渡してクエリを実行するものである。
このように、特許文献1は、異種のデータモデル、すなわち、階層型データベースとリレーショナルデータベースを利用したそれぞれのデータベースシステム間おけるアプリケーションソフトウェアにおける移行を支援するシステムである。
しかしながら、それぞれに適用できるモデルは、階層型データベースとリレーショナルデータベースに限られ、多種多様なデータモデルに適用できるような汎用性を有するものではない。
本発明の目的は、多種多様なデータモデルによるデータストア間において、プログラムの移行工数を低減させ、移行をすみやかに行うことのできるデータ移行システムを提供することにある。
本発明のデータ移行システムの構成は、好ましくは、第一のデータストア管理システムから第二のデータストア管理システムにデータ移行を行うデータ移行システムであって、第一のデータストア管理システムは、第一のデータを入出力する第一のプログラムを実行し、第二のデータストア管理システムは、第二のデータを入出力する第二のプログラムを実行し、データ移行規則が入力され、データ移行規則に基づいて、第一のデータを第二データに変換し、第一のデータのデータモデルとして、第一のデータモデルを取得し、第二のデータのデータモデルとして、第二のデータモデルを取得し、第二のプログラムを取得し、データ移行規則と、第一のデータモデルと、第二のデータモデルとに基づいて、第一のデータモデルと第二のデータモデルを対応付けるデータモデル変換規則を生成し、データモデル変換規則に基づいて、第二のプログラムを、第一のプログラムに変換するようにしたものである。
本発明によれば、多種多様なデータモデルによるデータストア間において、プログラムの移行工数を低減させ、移行をすみやかに行うことのできるデータ移行システムを提供することができる。
実施形態1のデータ移行システムが使用される情報処理システムの構成を示す図である。 実施形態1のデータ移行システムが使用される情報処理システムのハードウェア構成を示す図である。 実施形態1の情報処理システムにより、データ移行を行う処理の概要を示すシーケンス図である。 第一のプログラムを説明する図である。 第二のプログラムを説明する図である。 データ移行操作画面の一例を示す図である。 プログラム移行操作画面の一例を示す図である。 データ移行規則の一例を示す図である。 タ移行システムがデータモデル変換規則を生成するまでの処理を示すフローチャートである。 第二のデータストア管理システムが第二のデータを受信する処理を示すフローチャートである。 データモデル変換規則生成処理の詳細を示すフローチャートである。 データモデル変換規則の生成処理を説明する図である。 第二のデータストア管理システムが第二のプログラムの実行処理を説明する図である。 データ移行システムが第二のプログラムを第一のプログラムに変換する処理を説明する図である。 第二のプログラムを第一のプログラムに変換する処理の詳細を示すフローチャートである。 プログラム変換処理の詳細を示す図である。 実施形態2のデータ移行システムが使用される情報処理システムの構成を示す図である。 実施形態2におけるデータ移行規則、データモデル変換規則、データモデルの関係を説明する図である。
以下、本発明に係る各実施形態を、図1ないし図18を用いて説明する。
〔実施形態1〕
以下、本発明に係る実施形態1を、図1ないし図15を用いて説明する。
本実施形態では、本番環境で、RDBによるプログラムを実行することを前提とし、PoC環境(実証環境)では、ドキュメント型データベースによるデータを入力して、RDBデータよるデータを出力するプログラムを開発し、そのプログラムを本番環境で使えるように移行する例について説明する。なお、本実施形態を適用するのは、その他のデータモデルを採用するシステム、例えば、キーバリュー、ファイルシステムのデータモデルであってもよい。
実施形態1で示される情報処理システムは、図1に示されるように、第一のデータストア管理システム100、第二のデータストア管理システム200、および、それらの間のデータ移行とそれに関係するプログラムの移行を支援するデータ移行システム1からなる。
ここで、第一のデータストア管理システムが、本番環境のシステムであり、第二のデータストア管理システムがPoC環境のシステムである。
データ移行システム1は、第一のデータストア管理システム100、第二のデータストア管理システム200の間のデータ移行とそれに関係するプログラムの移行を支援するシステムであり、データ管理部10、データモデル管理部20、プログラム管理部30、データモデル変換規則管理部40からなる。
データ管理部10は、第一のデータストア管理システム100、第二のデータストア管理システム200の間のデータ移行のためのデータを管理する機能部であり、データ取得部11、データ変換部12、データ送信部13からなる。
データ取得部11は、第一のデータストア管理システム100からデータを取得する機能部である。データ変換部12は、第一のデータストア管理システム100のデータを第二のデータストア管理システム200のデータに変換する機能部である。データ送信部13は、データ移行システム1で変換されたデータを第二のデータストア管理システム200に送信する機能部である。
データモデル管理部20は、データ移行システム1内で取り扱うデータモデルを管理する機能部である。データモデル管理部20は、データモデル取得部21からなる。
データモデル取得部21は、第一のデータストア管理システム100、第二のデータストア管理システム200からデータモデルを取得する機能部である。
プログラム管理部30は、第一のデータストア管理システムと第二のデータストア管理システムで実行されるプログラムを管理する機能部であり、プログラム取得部31、プログラム変換部32、プログラム送信部33からなる。
プログラム取得部31は、第二のデータストア管理システムで実行されるプログラムを取得する機能部である。プログラム変換部32は、第二のデータストア管理システムで実行されるプログラムを、第一のデータストア管理システムで実行される第一のプログラムに変換する機能部である。プログラム送信部33は、生成されたプログラムを、第一のデータストア管理システムに送信する機能部である。
データモデル変換規則管理部40は、第二のデータストア管理システムで実行されるプログラムを、第一のデータストア管理システムで実行される第一のプログラムに変換する際に使用されるデータモデル変換規則を管理する機能部である。データモデル変換規則管理部40は、データモデル変換規則生成部41、データモデル変換規則格納部42からなる。
データモデル変換規則生成部41は、入力されたデータ移行規則に従って、第一のデータモデルと第二のデータモデルに対応を示すデータモデル変換規則を生成する機能部である。データモデル変換規則格納部42は、データモデル変換規則生成部41により生成されたデータモデル変換規則を格納する機能部である。
第一のデータストア管理システム100は、本番環境で稼動することを意図されたシステムであり、第一のデータ格納部110、第一のデータ管理部120、第一のプログラム管理部130からなる。
第一のデータ格納部110には、第一のデータモデル111、第一のデータ112、第一のプログラム113が格納される。第一のデータモデル111は、第一のデータストア管理システム100で取り扱われるデータを記述するモデルである。本実施形態では、RDBを記述するクエリを例に採り説明する。第一のデータ112は、第一のデータストア管理システム100で取り扱われるデータである。本実施形態では、RDBのテーブルを例に採り説明する。第一のプログラム113は、第一のデータシステム上で動作するプログラムである。本実施形態では、RDBのテーブルを入力し、出力としても、RDBのテーブルを出力するプログラムを例に採り説明する。第一のプログラム113は、ユーザが記述した第二のデータストア管理システム200で実行されるプログラムに基づいて、生成されるプログラムである。
第一のデータ管理部120は、第一のデータ112を管理する機能部である。第一のプログラム管理部130は、第一のプログラム113を管理する機能部である。
第二のデータストア管理システム200は、PoC環境で稼動することを意図されたシステムであり、第二のデータ格納部210、第二のデータ管理部220、第二のプログラム管理部230からなる。
第二のデータ格納部210には、第二のデータモデル211、第二のデータ222、第二のプログラム223が格納される。第二のデータモデル211は、第二のデータストア管理システム200で取り扱われるデータを記述するモデルである。本実施形態では、ドキュメント型データベースを記述するクエリ、RDBを記述するクエリを例に採り説明する。第二のデータ222は、第二のデータストア管理システム200で取り扱われるデータである。本実施形態では、ドキュメント型データベースのコレクション、RDBのテーブルを例に採り説明する。第二のプログラム223は、第二のデータシステム上で動作するプログラムである。本実施形態では、ドキュメント型データベースのコレクションを入力し、出力として、RDBのテーブルを出力するプログラムを例に採り説明する。第二のプログラム223は、ユーザが記述した第二のデータストア管理システム200で実行されるプログラムである。
第二のデータ管理部220は、第二のデータ222を管理する機能部である。第二のプログラム管理部230は、第二のプログラム223を管理する機能部である。
なお、第一のデータストア管理システム100、第二のデータストア管理システム200、データ移行システム1の各機能部は、それを実行するプログラムを、ハードウェアとして情報処理装置が、CPU(Central Processor Unit)などのプロセッサにより実行することにより、その機能が実現される。
次に、図2を用いて本実施形態の情報処理システムの各コンポーネントのハードウェア構成について説明する。
本実施形態の情報処理システムの各コンポーネントのハードウェアは、図2に示されるサーバ装置、パーソナルコンピュータ、ワークステーションなどの一般的な情報処理装置により実現することができる。
例えば、データ移行システム1は、図2に示されるように、CPU301、主メモリ302、ストレージ303、NIC(Network InterFace Card)304、キーボード305、マウス306、ディスプレイ307がバスにより結合された形態になっている。
CPU301は、データ移行システム1の各部を制御し、主メモリ302に必要なプログラムをロードして実行する。
主メモリ302は、通常、RAMなどの揮発メモリで構成され、CPU301が実行するプログラム、参照するデータが記憶される。
ストレージ303は、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの情報を記憶する大容量のデバイスである。本実施形態のストレージ303には、データ移行システム1の各機能部の機能を実現するためのプログラムがインストールされている。
NIC304は、ネットワーク5と接続するためのインタフェース装置である。
キーボード305、マウス306は、ユーザがデータやコマンドを入力するインターフェースデバイスである。
ディスプレイ307は、例えば、LCD(Liquid Crystal Display)や有機ELディスプレイなどの情報をユーザに表示するデバイスである。
第一のデータストア管理システム100、第二のデータストア管理システム200も同様のハードウェア構成により実現することができる。
次に、図3ないし図8を用いて、本実施形態の情報処理システムにより、プログラム移行を行う処理の概要について説明する。
先ず、図3を用いて本実施形態の情報処理システムにより、プログラム移行を行う処理の概要について説明する。
本実施形態の情報処理システムの意図する所は、第二のデータストア管理システム200で開発したプログラムを、第一のデータストア管理システム100にプログラム移行することである。
先ず、図4を用いて第一のプログラムについて説明する。
図4に示されるように、第一のデータモデルT1DMとして、RDBにおけるクエリ(例えば、テーブル生成時にテーブル構造を既定する「CREATE TABLE」)により既定されているとする。第一のデータT1としては、RDBのTABLE(カラムとして、「ID」(integer型)、「VAR」(char型))が既定されている。
ここで、第一のプログラムP1の仕様として、カラム「ID」の文字列の長さを、テーブルT1′として出力するものとする。すなわち、出力されるデータのデータモデルは、第一のデータモデルT1′DMで表されるものである。
図4では、第一のプログラムP1の記述としては、入力として、Sourceの項目、機能として、Functionの項目、出力として、Targetの項目がそれぞれの行で対応するような表形式で記述されている。プログラムの記述は、入力、出力、機能が明確であれば、Cなどの高級言語、アセンブラ言語などで、記述されていてもよい。
第一のプログラムP1の第一の行では、Sourceのデータ(第一のデータT1)のIDというカラムを、Targetのデータ(第一のデータT1′)のIDというカラムに、機能として、そのまま(_)、出力することを示している。
また、第一のプログラムP1の第二の行では、Sourceのデータ(第一のデータT1)のVARというカラムの長さをとって(関数_length())、その長さを、Targetのデータ(第一のデータT1′)のVARというカラムに、出力することを示している。
次に、図5を用いて第二のプログラムについて説明する。
第二のデータストア管理システムでは、データモデルとして、ドキュメント型データベースのクエリ、RDBのクエリが採用されているとする。
第二のデータモデルT2DMとして、図5に示されるように、コレクション「T2」、それに対して、フィールドとして、「ID」、「VAR」が定義されているものとする。したがって、第二のデータT2としては、「ID」、「VAR」を有するコレクションである。
第二のプログラムP2は、第一のプログラムP1と等価(同機能)なプログラムであり、ユーザ(システム構築者、プログラマなど)は、この第二のプログラムP2を記述して、データ移行システム1に入力する必要がある。
第二のプログラムP2の第一の行では、Sourceのデータ(第二のデータT2)のIDというフィールドを、Targetのデータ(第二のデータT2′)のIDというカラムに、機能として、そのまま(_)、出力することを示している。
また、第二のプログラムP2の第二の行では、Sourceのデータ(第二のデータT2)のVARというフィールドの長さをとって(関数_length())、その長さを、Targetのデータ(第二のデータT2′)のVAR_LENというフィールドに、出力することを示している。
なお、第二のデータモデルT2′DMは、自動生成してもよいし、ユーザが記述してもよい。
また、本実施形態の意図としては、第二のデータストア管理システムの第二のプログラムP2を、第一のデータストア管理システムで実行されるプログラムに移行することにあるので、第二のデータT2′は、直接に使われることはないが、第二のプログラムP2のデバッグ時の検証用データとして用いることができる。
以下、図3のシーケンス図の順を追って説明する。
先ず、ユーザは、データ移行システム1に、データ移行規則情報を入力する(A00)。例えば、ユーザが図6に示されるデータ移行操作画面500により、データ移行に関する情報を入力することにより、データ移行システム1は、データ移行規則DTMRを生成する。
データ移行操作画面500は、データ移行におけるSource列510と、Target列520が対比して入力され、Connection行群530には、Sourceに関するシステムと、Targetに関するシステムの接続情報が入力され、Migration行群540には、データに関する移行の規則が入力される。図6に示される例では、Connection行群530には、Sourceに関するシステムと、Targetに関するシステムにおけるIPアドレス、ポート、ユーザID、パスワードの移行情報が入力され、Migration行群540には、データベース名、データ名(テーブルとコレクション)、データの構成要素(カラムとフィールド)の対応が示されている。
生成されたデータ移行規則DTMRは、テーブル形式で表現すると、図8に示されるような対応になる。このテーブルにおいて、第1~第4行目が、Connection行群530で入力された情報であり、第5~第8行目が、Migration行群540で入力された情報である。
次に、データ移行システム1は、第一のデータストア管理システム100から第一のデータT1を取得する(A01、図4)。なお、初期状態で、第一のデータストア管理システム100に、第一のデータT1と第一のデータモデルT1DMが格納されている。
次に、データ移行システム1は、データ移行規則DTMRに基づいて、第一のデータT1を、第二のデータT2に変換する(S01)。すなわち、データベース名を、「RDB1」から、「DOC2」に変換し、テーブルT1を、ドキュメントT2に変換し、そのカラムとフィールドも規則にしたがって変換する。
次に、データ移行システム1は、変換した第二のデータT2を、第二のデータストア管理システム200に送信する(A02、図5)。
次に、第二のデータストア管理システム200は、受信した第二のデータテーブルT2に基づいて、第二のデータモデルT2DMを生成する(S02、図5)。
次に、データ移行システム1は、第一のデータストア管理システム100から、第一のデータモデルT1DMを取得する(A03、図4)。
次に、データ移行システム1は、第二のデータストア管理システム200から、第二のデータモデルT2DMを取得する(A04、図5)。
次に、データ移行システム1は、取得したデータ移行規則DTMR、第一のデータモデルT1DM、第二のデータモデルT2DMに基づき、データモデル変換規則DMCRを生成する(S03)。
なお、データモデル変換成規則DMCRを生成する処理は、後に詳述する。
次に、ユーザは、データ移行システム1に、プログラム移行規則情報を入力する(A06)。例えば、ユーザが図7に示されるプログラム移行操作画面600により、プログラム移行に関する情報を入力する。
プログラム移行操作画面600は、プログラム移行におけるSource列610と、Target列620が対比して入力され、Connection行群630には、Sourceに関するシステムと、Targetに関するシステムの接続情報が入力され、Migration行群640には、プログラムに関する移行の規則が入力される。図6に示される例では、Connection行群630には、Sourceに関するシステムと、Targetに関するシステムにおけるIPアドレス、ポート、ユーザID、パスワードの移行情報が入力され、Migration行群640には、プログラム名の対応が示されている。
一方、ユーザは、第二のデータストア管理システムに第二のプログラムP2を入力する(A05)。そして、プログラムのデバッグなどの検証が必要なときには、第二のデータストア管理システムで、第二のプログラムP2を実行する(S04、図5)。
次に、データ移行システム1は、S03で生成したデータモデル変換規則DMRに基づいて、取得した第二のプログラムP2を、第一のプログラムP1に変換する(S05)。
なお、第一のプログラムP1を変換する処理は、後に詳述する。
次に、データ移行システム1は、生成した第一のプログラムP1に送信する(A08)。
最後に、本番環境として、第一のデータストア管理システム100は、受信した第一のプログラムP1を実行する(S06)。
次に、図9ないし図16を用いて本実施形態の情報処理システムの処理の詳細を説明する。
先ず、図9を用いて、データ移行システムがデータモデル変換規則を生成するまでの処理について説明する。
先ず、データ移行システム1は、ユーザからの第一のデータストア管理システム100から第二のデータストア管理システム200のデータ移行規則情報の入力を取得する(S100、図3のA00)。
次に、データ移行システム1は、第一のデータストア管理システムから第一のデータを取得する(S101、A01)。
次に、データ移行システム1は、第一のデータT1を第二のデータT2に変換し(図3のS01)、その第二のデータT2を、第二のデータストア管理システム200に送信する(S102、A02)。
次に、データ移行システム1は、第一のデータストア管理システム100から第一のデータモデルT1DMを(A03)、第二のデータストア管理システム200から第二のデータモデルT2DMを(A04)、それぞれ取得する(S103)。
次に、データ移行システム1は、第一のデータモデルT1DM、第二のデータモデルT2DM、データ移行規則DTMRから、データモデル変換規則DMCRを生成する(S104、S03)。
なお、このデータモデル変換規則DMCRの詳細は、後に図11を用いて説明する。
次に、データ移行システム1は、生成したデータモデル変換規則DMCRをデータモデル変換規則格納部42に格納する(S105)。
次に、図10を用いて第二のデータストア管理システムが第二のデータを受信する処理の詳細について説明する。
先ず、第二のデータストア管理システム200は、データ移行システム1から第二のデータT2を受信し、その第二のデータT2を第二のデータ格納部210に格納する(S200、A02)。
次に、第二のデータストア管理システム200は、第二のデータT2に対応した第二のデータモデルT2DMを生成し(S02)、第二のデータ格納部210に格納する(S201)。
次に、図8、図11および図12を用いてデータモデル変換規則生成処理の詳細について説明する。
これは、図9のS104に該当する処理である。
先ず、データ移行システム1は、図8に示されるデータ移行規則DTMRの規則から、未取得の規則があるか否かを判定する(S300)。
図8に示されるデータ移行規則DTMRでは、規則1~規則3が規定されているので、これを取得し、順次未取得のものから適用する。
未取得の規則があるときには(S300:Yes)、S301に行き、未取得の規則がないときには(S300:No)、処理を終了する。
未取得の規則があるときには、データ移行規則DTMRから未取得の規則を取得する(S301)。
次に、取得した規則が定義しているデータモデルの項目を、SourceおよびTargetのデータモデルから検索し、その項目を特定する(S302)。
例えば、規則2のColumn.IDの項目は、RDBのテーブルT1のIDというカラムが該当し、Field.IDの項目は、ドキュメント型データベースのコレクションT2のIDというフィールドが該当する。
次に、特定したデータモデルの項目の対応をデータモデル変換規則DMCRに加える(S303)。
次に、特定したデータモデルの項目に付加的な情報が存在する場合には、当該情報の対応を、それをデータモデル変換規則DMCRに加える(S304)。
生成されるデータモデル変換規則DMCRは、図12に示されるようになる。
すなわち、データモデル変換規則DMCRの第一行目は、RDBのテーブルが、ドキュメント型データベースのコレクションに対応し、第二行目は、RDBのColumnが、ドキュメント型データベースのFieldに対応し、第三行目は、RDBのData Typeは、ドキュメント型データベースのBSON(Binary JavaScript Object Notation) Typeに対応している。また、第三行目の詳細情報として、それぞれのデータ型の対応が示されている。
このように、本実施形態のデータモデル変換規則DMCRは、RDBのデータベース、テーブル、カラムの概念に相当する変換規則を含んでいるが、その他にも、主キー、外部キー、インデックスに相当する概念を含んでいてもよい。
次に、図13を用いて第二のデータストア管理システムが第二のプログラムの実行処理について説明する。
先ず、第二のデータストア管理システム200は、ユーザから第二のプログラムP2を入力させ、第二のデータ格納部210に格納する(S400、A05)。
次に、第二のデータストア管理システム200は、第二のデータT2に対して、第二のプログラムP2を実行し(S04)、結果の第二のデータT2′を第二のデータ格納部210に格納する(S401、図5)。
次に、図14を用いてデータ移行システムが第二のプログラムを第一のプログラムに変換する処理を説明する図である。
先ず、データ移行システム1は、第二のデータストア管理システム200から第二のプログラムP2を取得する(S500、A07)。
次に、データ移行システム1は、第二のデータプログラムが対象とする第二のデータ移行処理時に生成されたデータモデル変換規則DMCRを、データモデル変換規則格納部42から取得する(S501)。
次に、データ移行システム1は、取得したデータモデル変換規則DMCRを用いて、第二のプログラムP2を、第一のデータT1に対応した第一のプログラムP1に変換する(S502、S05)。
第二のプログラムP2を、第一のプログラムP1に変換する処理の詳細は、後に、図15を用いて説明する。
次に、データ移行システム1は、変換された第一のプログラムP1を第一のデータストア管理システム100に送信する(S503、A08)。
次に、図15および図16を用いてデータ移行システム1が第二のプログラムを第一のプログラムに変換する処理の詳細について説明する。
これは、図14のS502に該当する処理である。
データ移行システム1は、取得したデータモデル変換規則DMCRの対応を入れ替え、逆モデル変換規則RDMCRを生成する(S600)。
図16に示される例では、データモデル変換規則DMCRでは、Source列が「Table,Column,Data Type」、Target列が「Collection,Field,BSON Type」となっているのを入れ替えて、逆データモデル変換規則RDMCRでは、Source列が「Collection,Field,BSON Type」、Target列が「Table,Column,Data Type」となる。
次に、逆データモデル変換規則RDMCRを参照し、第二のプログラムP2の項目のうち、逆データモデル変換規則RDMCRに列挙された項目に対し、当該項目対して、逆データモデル変換規則RDMCRで定義された対応による変換を実施し、第一のプログラムP1を生成する(S601)。
図16に示される例では、逆データモデル変換規則RDMCRで、例えば、第二行目で、Source列が「Field」、Target列が「Column」となっているので、第二のプログラムP2のSource列の第二行目の「Field.ID」に対応し、第一のプログラムP1のSource列の第二行目を「Column.ID」とし、第二のプログラムP2のSource列の第二行目の「Field.VAR」に対応し、第一のプログラムP1のSource列の第二行目を「Column.VAR」とする。
以上述べてきたように、本実施形態によれば、プログラムの開発環境と、そのプログラムを動作させる本番環境とで、データモデルが異なる場合であっても、データモデル変換規則を生成し、データモデル変換規則に基づいて、開発環境で開発したプログラムを、本番環境で動作するプログラムに自動変換する。これにより、プログラムの移行工数を低減させ、移行をすみやかに行うことが可能になる。
〔実施形態2〕
以下、本発明に係る実施形態2を、図17および図18を用いて説明する。
実施形態1は、データ移行元のデータストア管理システムとデータ移行先のデータストア管理システムの対応が、1:1の関係であった。しかしながら、データ移行元のデータストア管理システムとデータ移行先のデータストア管理システムの対応は、N:1、1:N、または、N:Nの対応になってもよい。また、データモデル変換規則の対応も、データストア管理システムの対応に応じて、N:1、1:N、または、N:Nの対応になってもよい。
以下、本実施形態では、データ移行元のデータストア管理システムとデータ移行先のデータストア管理システムの対応が、2:1の関係である場合を例に採り、実施形態1と異なる所を中心に説明する。
実施形態2で示される情報処理システムは、図17に示されるように、第一のデータストア管理システム(その一)100-1、第一のデータストア管理システム(その二)100-2、第二のデータストア管理システム200、および、それらの間のデータ移行とそれに関係するプログラムの移行を支援するデータ移行システム1からなる。
データ移行元のデータストア管理システムが、二つになったほかは、実施形態1と同様である。
ここでも、第一のデータストア管理システム(その一、その二)が、本番環境のシステムであり、第二のデータストア管理システムがPoC環境のシステムであるとする。
本実施形態では、図18に示されるように、第一のデータストア管理システム(その一)100-1における第一のデータモデルT1-1DM、第一のデータストア管理システム(その二)100-2における第一のデータモデルT1-2DMが規定され、第二のデータストア管理システム200における第二のデータモデルT2DMが規定されるとする。すなわち、第一のデータストア管理システム(その一)100-1、第一のデータストア管理システム(その二)100-2は、RDBデータベースシステムであり、第二のデータストア管理システム200は、ドキュメント型データベースシステムである。
そして、データ移行規則DTRは、図18に示されるように、第一のデータストア管理システム(その一)100-1、第一のデータストア管理システム(その二)100-2に対応して、それぞれ、Source1列、Source2列が定義され、第二のデータストア管理システム200に対応して、Target列が定義されるとする。
このときの、データモデル変換規則DMCRは、第一のデータストア管理システム(その一)100-1、第一のデータストア管理システム(その二)100-2の各々のデータであるテーブルT1-1、テーブルT1-2に対応して、同じように、第二のデータストア管理システム200のコレクションに変換することが規定される。
そして、これを用いたプログラム変換の処理は、実施形態1と同様である。
以上のように本実施形態によれば、データ移行元のデータストア管理システムとデータ移行先のデータストア管理システムの対応が、N:1、1:N、または、N:Nの対応であっても、開発環境におけるプログラムを本番環境のプログラムに工数をかけることなく、変換することができる。
1…データ移行システム、10…データ管理部、20…データモデル管理部、30…プログラム管理部、40…データモデル変換規則管理部、
100…第一のデータストア管理システム、110…第一のデータ格納部、120…第一のデータ管理部、130…第一のプログラム管理部、
200…第二のデータストア管理システム、210…第二のデータ格納部、220…第二のデータ管理部、230…第二のプログラム管理部

Claims (9)

  1. 第一の情報システムから第二の情報システムにソフトウェア移行を行うデータ移行システムであって、
    前記データ移行システムは、プロセッサがプログラムを実行することにより機能を実現するハードウェアを有する情報処理装置により実現され、
    前記第一の情報システムは、第一のデータの構造と属性を記述する第一のデータモデルを保持し、第一のデータを入力とする第一のプログラムを実行し、
    前記第二の情報システムは、第二のデータの構造と属性を記述する第二のデータモデルを保持し、第二のデータを入力とする第二のプログラムを実行し、
    前記第一のデータと前記第二のデータのデータ名、構成要素について、SourceとTargetとの対応を規定したデータ移行規則にしたがって、前記第一のデータを前記第二のデータに変換し、前記データ移行規則と、前記第一のデータモデルと前記第二のデータモデルとを参照し、前記データ移行規則の前記第一のデータと前記第二のデータのデータ名、構成要素との対応に適合するように、前記第一のデータモデルと前記第二のデータモデルにおけるデータの構造と属性を対応させるデータモデル変換規則を作成し、
    前記データモデル変換規則を参照し、前記第二のプログラムに用いられる入力データの構造と属性を前記データモデル変換規則の対応する前記第一のデータの構造と属性に変換した前記第一のプログラムを生成することを特徴とするデータ移行システム。
  2. 前記データモデル変換規則のSourceと、Targetのデータモデルの対応を反転させた逆データモデル変換規則を作成し、
    前記逆データモデル変換規則を用いて、前記第二のプログラムから前記第一のデータの構造と属性に変換した前記第一のプログラムを生成することを特徴とする請求項1記載のデータ移行システム。
  3. 前記第一のデータモデルと、前記第二のデータモデルのいずれか一方が、RDB(RelationalDataBase)のデータモデルであることを特徴とする請求項1記載のデータ移行システム。
  4. 前記第一のデータモデルと、前記第二のデータモデルのいずれか一方が、ドキュメント型データベース、キーバリュー、ファイルシステムのいずれかのデータモデルであることを特徴とする請求項1記載のデータ移行システム。
  5. 前記データモデル変換規則は、RDBのデータベース、テーブル、カラムに関する規則を含むことを特徴とする請求項3記載のデータ移行システム。
  6. 前記データモデル変換規則は、主キー、外部キー、インデックスに関する規則を含むことを特徴とする請求項3記載のデータ移行システム。
  7. 第一の情報処理システムは、単数または複数のシステムからなり、第二の情報処理システムは、単数または複数のシステムからなることを特徴とする請求項1記載のデータ移行システム。
  8. 前記データ移行規則を入力する画面を表示することを特徴とする請求項1記載のデータ移行システム。
  9. 第一の情報システムから第二の情報システムにソフトウェア移行を行うデータ移行システムにより実現されるデータ移行方法であって、
    前記データ移行システムは、プロセッサがプログラムを実行することにより機能を実現するハードウェアを有する情報処理装置により実現され、
    前記第一の情報システムは、第一のデータの構造と属性を記述する第一のデータモデルを保持し、第一のデータを入力とする第一のプログラムを実行し、
    前記第二の情報システムは、第二のデータの構造と属性を記述する第二のデータモデルを保持し、第二のデータを入力とする第二のプログラムを実行し、
    前記プロセッサが、前記第一のデータと前記第二のデータのデータ名、構成要素について、SourceとTargetとの対応を規定したデータ移行規則にしたがって、前記第一のデータを前記第二のデータに変換し、前記データ移行規則と、前記第一のデータモデルと前記第二のデータモデルとを参照し、前記データ移行規則の前記第一のデータと前記第二のデータのデータ名、構成要素との対応に適合するように、前記第一のデータモデルと前記第二のデータモデルにおけるデータの構造と属性を対応させるデータモデル変換規則を作成するステップと、
    前記データモデル変換規則を参照し、前記第二のプログラムに用いられる入力データの構造と属性を前記データモデル変換規則の対応する前記第一のデータの構造と属性に変換した前記第一のプログラムを生成するステップとを有することを特徴とするデータ移行方法。
JP2020127235A 2020-07-28 2020-07-28 データ移行システムおよびデータ移行方法 Active JP7449190B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020127235A JP7449190B2 (ja) 2020-07-28 2020-07-28 データ移行システムおよびデータ移行方法
US17/166,520 US11467752B2 (en) 2020-07-28 2021-02-03 Data migration system and data migration method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020127235A JP7449190B2 (ja) 2020-07-28 2020-07-28 データ移行システムおよびデータ移行方法

Publications (2)

Publication Number Publication Date
JP2022024566A JP2022024566A (ja) 2022-02-09
JP7449190B2 true JP7449190B2 (ja) 2024-03-13

Family

ID=80003182

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020127235A Active JP7449190B2 (ja) 2020-07-28 2020-07-28 データ移行システムおよびデータ移行方法

Country Status (2)

Country Link
US (1) US11467752B2 (ja)
JP (1) JP7449190B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12159050B1 (en) * 2022-03-31 2024-12-03 Amazon Technologies, Inc. Data store conversion from a source data store to a virtual target
US12524382B2 (en) 2023-11-10 2026-01-13 The Toronto-Dominion Bank Systems and methods for converting data types in data migration

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277644A (ja) 2005-03-30 2006-10-12 Nomura Research Institute Ltd データ移行支援システム及びデータ移行支援プログラム
JP2011258002A (ja) 2010-06-09 2011-12-22 Inforce Co Ltd データ変換方法、その装置およびそのプログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000207257A (ja) * 1999-01-20 2000-07-28 Fujitsu Ltd デ―タベ―ス移行システムおよびプログラム記憶媒体
EP1395919B1 (en) * 2001-05-30 2006-02-08 Sap Ag Method and computer program for migrating content from source database to target database
US20030195862A1 (en) * 2002-04-10 2003-10-16 Harrell James E. Method and system for providing SQL or other RDBMS access to native xbase application
US20080320054A1 (en) * 2003-04-09 2008-12-25 Cindy Howard Database and Software Conversion System and Method
US20050097086A1 (en) * 2003-10-30 2005-05-05 Riaz Merchant System and method for migrating an application developed around an ISAM database server to an SQL database server without source level changes
US20060173865A1 (en) * 2005-02-03 2006-08-03 Fong Joseph S System and method of translating a relational database into an XML document and vice versa
US20060195436A1 (en) * 2005-02-28 2006-08-31 Fujitsu Network Communications, Inc. Phased migration of database software application
US20100094838A1 (en) * 2008-10-10 2010-04-15 Ants Software Inc. Compatibility Server for Database Rehosting
US8037108B1 (en) * 2009-07-22 2011-10-11 Adobe Systems Incorporated Conversion of relational databases into triplestores
JP4754021B1 (ja) 2010-03-19 2011-08-24 株式会社エクサ データベース変換システム
JP5867208B2 (ja) * 2012-03-16 2016-02-24 富士通株式会社 データモデル変換プログラム、データモデル変換方法およびデータモデル変換装置
US9189504B2 (en) * 2013-01-22 2015-11-17 Oracle International Corporation Application source code scanning for database migration
US20160188710A1 (en) * 2014-12-29 2016-06-30 Wipro Limited METHOD AND SYSTEM FOR MIGRATING DATA TO NOT ONLY STRUCTURED QUERY LANGUAGE (NoSOL) DATABASE
US10803031B1 (en) * 2015-12-30 2020-10-13 Amazon Technologies, Inc. Migrating data between databases
US11474982B2 (en) * 2018-07-26 2022-10-18 Sap Se Zero downtime evolution of database schemas for cloud applications
US10838952B2 (en) * 2019-01-03 2020-11-17 Bank Of America Corporation Resource offloading process using machine learning for database
US11354284B2 (en) * 2019-06-14 2022-06-07 Atos France System and method for migration of a legacy datastore

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277644A (ja) 2005-03-30 2006-10-12 Nomura Research Institute Ltd データ移行支援システム及びデータ移行支援プログラム
JP2011258002A (ja) 2010-06-09 2011-12-22 Inforce Co Ltd データ変換方法、その装置およびそのプログラム

Also Published As

Publication number Publication date
US20220035553A1 (en) 2022-02-03
JP2022024566A (ja) 2022-02-09
US11467752B2 (en) 2022-10-11

Similar Documents

Publication Publication Date Title
Foster et al. Chimera: A virtual data system for representing, querying, and automating data derivation
JP6434960B2 (ja) フローベースのetlおよびエンティティリレーションシップベースのetlの組合せのサポート
KR102229010B1 (ko) 데이터를 모델링하기 위한 시스템 및 방법
US8122044B2 (en) Generation of business intelligence entities from a dimensional model
Hasani et al. Lambda architecture for real time big data analytic
JP6412924B2 (ja) Etlマップ設計のためのプロジェクタおよびセレクタコンポーネントタイプの使用
JP2015072688A (ja) Hadoopにおける強化されたSQLライクなクエリのためのバックグラウンドフォーマット最適化
WO2009134430A1 (en) System, method and computer program product for generating a set of instructions to an on-demand database service
US20090313208A1 (en) Sortable hash table
JP2006012146A (ja) 影響分析のためのシステムおよび方法
JP5677319B2 (ja) ウェブに基づくダイアグラム視覚性の拡張性
US20190213007A1 (en) Method and device for executing the distributed computation task
US7711675B2 (en) Database simulation of data types
CN108829879A (zh) 一种充电桩数据监控方法
US11232105B2 (en) Unified metrics computation platform
Mior et al. Renormalization of NoSQL database schemas
US11467752B2 (en) Data migration system and data migration method
CN110309214A (zh) 一种指令执行方法及其设备、存储介质、服务器
Abeysinghe et al. Architecting intermediate layers for efficient composition of data management and machine learning systems
Cabral et al. MySQL administrator's bible
Konstantinou et al. An approach for the incremental export of relational databases into RDF graphs
US11061965B1 (en) Stored procedure execution in a distributed database system
US11521089B2 (en) In-database predictive pipeline incremental engine
ALVES et al. Estratégias de sharding de based de dados: Um guia orientado a domínio para construir sistemas escalávéis
US20170161359A1 (en) Pattern-driven data generator

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231031

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231201

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240301

R150 Certificate of patent or registration of utility model

Ref document number: 7449190

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150