JP2021140430A - データベースマイグレーション方法、データベースマイグレーションシステム、及びデータベースマイグレーションプログラム - Google Patents

データベースマイグレーション方法、データベースマイグレーションシステム、及びデータベースマイグレーションプログラム Download PDF

Info

Publication number
JP2021140430A
JP2021140430A JP2020037182A JP2020037182A JP2021140430A JP 2021140430 A JP2021140430 A JP 2021140430A JP 2020037182 A JP2020037182 A JP 2020037182A JP 2020037182 A JP2020037182 A JP 2020037182A JP 2021140430 A JP2021140430 A JP 2021140430A
Authority
JP
Japan
Prior art keywords
database
migration
sql
incompatibility
verification
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
JP2020037182A
Other languages
English (en)
Other versions
JP7346332B2 (ja
Inventor
一彦 小崎
Kazuhiko Ozaki
一彦 小崎
泰史 豊永
Yasushi Toyonaga
泰史 豊永
泰成 松尾
Yasunari Matsuo
泰成 松尾
祐一 平峰
Yuichi Hiramine
祐一 平峰
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.)
Kyuden Business Solutions Co Inc
Original Assignee
Kyuden Business Solutions Co Inc
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 Kyuden Business Solutions Co Inc filed Critical Kyuden Business Solutions Co Inc
Priority to JP2020037182A priority Critical patent/JP7346332B2/ja
Publication of JP2021140430A publication Critical patent/JP2021140430A/ja
Application granted granted Critical
Publication of JP7346332B2 publication Critical patent/JP7346332B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】アプリケーションのプログラム修正を不要とし、ユーザーへの負担を軽減したデータベースマイグレーション方法の提供。【解決手段】データベースマイグレーション方法は、評価検証装置が現行データベースに関する情報と非互換リストとに基づいて非互換結果を抽出すること、データベース言語変換装置が前記非互換結果を用いて、アプリケーションサーバが前記現行データベースへアクセスする際に用いるデータベース言語を、移行先データベースで使用可能なデータベース言語に変換して前記移行先データベースへアクセスすること、前記評価検証装置が前記現行データベースのログから検証SQLファイルを出力して、前記評価検証装置が前記検証SQLファイルに基づいて、前記現行データベースへのアクセス処理結果と前記移行先データベースへのアクセス処理結果とを比較し、比較結果を出力することを含む。【選択図】図1

Description

本発明は、アプリケーションがアクセスする現行データベースを、異なる種類の移行先データベースへ変更する際に行うデータベースマイグレーション方法、データベースマイグレーションシステム、及びデータベースマイグレーションプログラムに関するものである。
データベースを導入しているシステムにおいては、ハードウェア交換時や現行システムから新システムへの切り替え時等に、データの移行(データマイグレーション)が必要となる。
そして、異なる種類のデータベース間でデータの移行を行う場合、非互換機能が多いため、移行するにも非互換の対応、特に、移行先のデータベースに合わせたアプリケーションのプログラム修正や検証に大きな労力が必要となる。よって、このような労力を減らすための技術が求められている。
特許文献1には、移行元のデータベースのデータ構造と移行先データベースのデータ構造に応じた移行プランを示す移行情報テーブルや、データ構造が異なるDBシステム間でデータ移行処理を行う際に参照する変換情報テーブルを有するデータ移行管理システムが開示されている。
特許文献2には、異なるデータベース管理システムによって管理されているデータベース群を共用できるようにするために、ユーザプログラムに提供する共通のデータベース言語によるインタフェースが開示されている。
特許文献3には、データベースのマイグレーションに際して、移行先で移行元と同一のSQLを使用する場合に、効率的な動作確認を行えるようにするデータベースマイグレーション支援システムが開示されている。
特開2019−20793号公報 特開平1−211029号公報 特開2019−211805号公報
しかし、このような技術を用いて異なる種類のデータベース間でデータの移行やデータベース言語の変更、及び動作確認を行う場合、複雑な手順の把握等、ユーザーの負担は小さくない。
そこで、本発明は、システム切り替え時等にアプリケーションがアクセスするデータベースが異なる種類に変わる場合においても、ユーザー側(クライアント端末のアプリケーション)やサーバ側(アプリケーションサーバ)のプログラム修正を不要とし、かつユーザーの負担を軽減したデータベースマイグレーション方法、データベースマイグレーションシステム、及びデータベースマイグレーションプログラムを提供することを目的とする。
この目的を達成するため、本発明のデータベースマイグレーション方法は、アプリケーションサーバがアクセスする現行データベースを、異なる種類の移行先データベースへ変更する際に行うデータベースマイグレーション方法であって、評価検証装置が前記現行データベースに関する情報と、前記現行データベースと前記移行先データベースとの間の非互換情報としてのキーワード及び変換の程度を示す移行レベルを含む非互換リストとに基づいて、前記キーワードが含まれているため変換が必要な前記アプリケーションサーバから前記移行先データベースへのアクセス処理及び前記移行レベルを含む非互換結果を抽出すること、データベース言語変換装置が前記非互換結果を用いて、前記アプリケーションサーバが前記現行データベースへアクセスする際に用いるデータベース言語を、前記移行先データベースで使用可能なデータベース言語に変換し、前記変換後のデータベース言語を用いて、前記移行先データベースへアクセスすること、前記評価検証装置が前記現行データベースのログから、SQL実行情報を抽出して検証のための検証SQLファイルを出力すること、前記評価検証装置が前記検証SQLファイルに基づいて、前記変換前のデータベース言語を用いて前記現行データベースへアクセス処理を行った処理結果と、前記変換後のデータベース言語を用いて前記移行先データベースへアクセス処理を行った処理結果とを比較し、比較結果を出力することを含む。これにより、アプリケーションのプログラム修正が不要となり、かつ容易にデータベースマイグレーションを実行することができる。
また、本発明のデータベースマイグレーション方法は、ユーザー又は前記評価検証装置が前記比較結果に基づいて、前記非互換リストに含まれていなかった未対応非互換情報を前記非互換リストにフィードバックさせることが望ましい。これにより、非互換リストに含まれていなかった未対応情報にも適宜対応でき、データベース言語変換処理の精度をより向上させることができる。
また、本発明のデータベースマイグレーション方法は、ユーザー又は前記データベース言語変換装置が前記比較結果に基づいて、前記非互換結果に含まれていなかった未対応非互換情報を前記非互換結果にフィードバックさせることが望ましい。これにより、非互換結果に含まれていなかった未対応情報にも適宜対応でき、非互換リストから再度非互換結果を抽出せずとも、データベース言語変換処理の精度をより向上させることができる。
また、本発明のデータベースマイグレーション方法は、前記現行データベースはOracle(登録商標)であり、前記非互換リストには、前記現行データベースと異なる種類のデータベース間との非互換情報としてPL/SQLを含み、前記抽出された非互換結果には、変換が必要な前記アプリケーションのPL/SQL処理及び移行レベルを含むことが望ましい。これにより、よりデータベース言語変換処理の精度が向上し、現行データベースがOracle(登録商標)である場合に特化したデータベースマイグレーション方法を提供することができる。
本発明のデータベースマイグレーションシステムは、アプリケーションサーバがアクセスする現行データベースを、異なる種類の移行先データベースへ変更する際に用いるデータベースマイグレーションシステムであって、前記データベースマイグレーションシステムは、前記現行データベースに関する情報と、前記現行データベースと異なる種類のデータベース間との非互換情報としてのキーワード及び変換の程度を示す移行レベルを含む非互換リストとに基づいて、前記キーワードが含まれているため変換が必要な前記アプリケーションサーバから前記移行先データベースへのアクセス処理及び前記移行レベルを含む非互換結果を抽出する非互換結果抽出部を含む評価検証装置と、前記アプリケーションサーバ及び前記移行先データベースと通信する通信部と、前記非互換結果を用いて、前記アプリケーションサーバが前記現行データベースへアクセスする際に用いるデータベース言語を、前記移行先データベースで使用可能なデータベース言語に変換し、前記変換後のデータベース言語を用いて、前記移行先データベースへアクセスするSQL変換部とを含むデータベース言語変換装置とを含み、前記評価検証装置はさらに、前記現行データベースのログから、SQL実行情報を抽出して検証のための検証SQLファイルを出力するSQL抽出部と、前記検証SQLファイルに基づいて、前記変換前のデータベース言語を用いて前記現行データベースへアクセス処理を行った処理結果と、前記変換後のデータベース言語を用いて前記移行先データベースへアクセス処理を行った処理結果とを比較し、比較結果を出力するSQL検証部を含む。
また、本発明のデータベースマイグレーションシステムは、前記SQL変換部は、SQL共通変換部と、SQL個別変換部と、データ取得結果変換部とを含む。
本発明のデータベースマイグレーションプログラムは、アプリケーションサーバがアクセスする現行データベースを、異なる種類の移行先データベースへ変更する際に用いるデータベースマイグレーションシステムとしてコンピュータを機能させるためのデータベースマイグレーションプログラムであって、前記データベースマイグレーションプログラムは、前記現行データベースに関する情報と、前記現行データベースと異なる種類のデータベース間との非互換情報としてのキーワード及び非互換変換の程度を示す移行レベルを含む非互換リストとに基づいて、前記キーワードが含まれているため変換が必要な前記アプリケーションサーバから前記移行先データベースへのアクセス処理及び前記移行レベルを含む非互換結果を抽出する非互換結果抽出部を含む評価検証装置としてコンピュータを機能させるための比較検証プログラムと、前記アプリケーションサーバ及び前記移行先データベースと通信する通信部と、前記非互換結果を用いて、前記アプリケーションサーバが前記現行データベースへアクセスする際に用いるデータベース言語を、前記移行先データベースで使用可能なデータベース言語に変換し、前記変換後のデータベース言語を用いて、前記移行先データベースへアクセスするSQL変換部とを含むデータベース言語変換装置としてコンピュータを機能させるためのデータベース言語変換プログラムとを含み、前記比較検証プログラムはさらに、前記現行データベースのログから、SQL実行情報を抽出して検証のための検証SQLファイルを出力するSQL抽出部と、前記検証SQLファイルに基づいて、前記変換前のデータベース言語を用いて前記現行データベースへアクセス処理を行った処理結果と、前記変換後のデータベース言語を用いて前記移行先データベースへアクセス処理を行った処理結果とを比較し、比較結果を出力するSQL検証部を含む評価検証装置としてコンピュータを機能させる。
本発明に係るデータベースマイグレーション方法、データベースマイグレーションシステム、及びデータベースマイグレーションプログラムによれば、アプリケーションのプログラム修正を不要とし、かつユーザーへの負担を軽減したデータベースマイグレーション方法、データベースマイグレーションシステム、及びデータベースマイグレーションプログラムを提供することができる。
本発明の実施の形態に係るデータベースマイグレーションシステムを示す機能ブロック構成図である。 (A)は非互換リスト、(B)は抽出された非互換結果を示すイメージ図である。 非互換結果抽出手順を示すフローチャートである。 非互換抽出処理におけるGUIを示すイメージ図である。 SQL変換処理を示すフローチャートである。 検証用SQL抽出手順を示すフローチャートである。 検証用SQL抽出処理におけるGUIを示すイメージ図である。 検証用SQLファイルを用いた検証手順を示すフローチャートである。
図1は、本発明の実施の形態に係るデータベースマイグレーションシステムを示す機能ブロック構成図である。データベースマイグレーションシステム1は、保守PC上で動作する評価検証装置11とデータベース言語変換装置12とを含む。データベース言語変換装置12と、保守PC及び保守PC上で動作する評価検証装置11は、クライアント端末C、アプリケーションサーバS、現行データベースD11、移行先データベースD21や検証データベースD22と、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワーク通信網Nを介して通信する。
クライアント端末Cは、ユーザーが操作するパソコン等であり、日々の業務等で使用するアプリケーションがインストールされている。
アプリケーションサーバSは、ユーザーが日々の業務等で使用するアプリケーションを提供するサーバであり、種々のデータを記憶するためにデータベースを利用する。
現行データベースD11は、システム切り替え前においてクライアント端末CのアプリケーションやアプリケーションサーバSがアクセス(データベース処理命令を行う)するデータベースである。移行先データベースD21は、システム切り替え後においてクライアント端末CのアプリケーションやアプリケーションサーバSがアクセスするデータベースである。また、検証データベースD22は、データベースマイグレーションシステム1が、システム切り替え後においてデータベースマイグレーションが正しく行われているか検証するために使用する現行データベースのコピー(検証版)である。
評価検証装置11は、非互換結果抽出部111と、SQL抽出部112と、SQL検証部113とを含む。
非互換結果抽出部111は、現行データベースD11に関する情報と、非互換リスト(図2(A)参照)とに基づいて、非互換結果を抽出する(図2(B)参照)。
現行データベースD11に関する情報とは、SQL、DDL、PL/SQLやソースコード等の資産情報である。非互換リストとは、現行データベースD11とは異なる種類のデータベースの非互換情報の一覧が記載されたリストであり、キーワード(例えば、非互換関数名等)やその移行レベル(変換レベル)が示されている。移行レベルとは、非互換であるため変換処理が必要な対応の程度であり、例えば、「0:変換不要」、「1:単純変換で対応可能」、「2:アプリケーション側のプログラム修正が必要」等である。また、非互換結果とは、現行データベースD11から移行先データベースD21への移行にあたり、アプリケーションサーバSにおいて非互換であるため変換が必要な関数名や対象行、移行レベル等が示されたリストである。
SQL抽出部112は、現行データベースD11のログ(例えば、OracleにおけるSQLトレースログ)及びテーブル定義ファイルから、アプリケーションサーバS等からのSQL実行情報を抽出する。
SQL検証部113は、前記SQL実行情報に基づいた同じ処理を、(1)データベース言語変換装置12のSQL変換部122で変換した処理で移行先データベースD21へアクセスした結果と、(2)データベース言語変換装置12のSQL変換部122で変換せずに検証データベースD22へアクセスした結果とを比較し、変換が正しく行われているかを検証する。
データベース言語変換装置12は、通信部121と、SQL変換部122とを含み、SQL変換部122は、SQL共通変換部1221と、SQL個別変換部1222と、データ取得結果変換部1223とを含む。
通信部121は、ネットワーク通信網Nを介して評価検証装置11や上記データベース等と通信する。また、アプリケーションサーバSと移行先データベースD21間の通信メッセージを中継する。なお、受信した通信メッセージを、SQL変換部122に通知する。
SQL変換部122は、SQL共通変換部1221と、SQL個別変換部1222と、データ取得結果変換部1223とを含み、非互換結果(図2(B)参照)に基づいて、通信部121で中継されるアプリケーションサーバSからの移行先データベースD21対するアクセス処理を移行先データベースD21に対応した処理(移行先データベースで使用可能なデータベース言語)に変換する。
(実施例)
実施例として、データベースマイグレーション方法を、データベースマイグレーションシステム1を用いて(1)非互換結果を抽出する処理(アセスメント)、(2)データベース言語を変換する処理(マイグレーション)、及び(3)検証まで行う手順を説明する。
[アセスメント]
最初に、図1と、図3に示すフローチャートに基づいて、非互換結果を抽出する手順を説明する。ユーザーはデータベースマイグレーションシステム1の評価検証装置11にアクセスし、非互換結果抽出処理におけるGUI画面を表示させる(図4参照)。そして、各条件(現行データベースD11に関する情報として、どの資産を解析対象とするかやそのファイル等)を指定し、出力ボタン押下により、非互換結果抽出部111に該指定した条件を読み込ませる(S101)。
非互換結果抽出部111は、非互換リスト及び現行データベースD11に関する情報を読み込む(S102,S103)。
非互換結果抽出部111は、解析対象として指定されたファイルを読み込み、非互換リストに記載されたキーワードを参照しつつ非互換抽出を行う。つまり、該指定されたファイルから、該キーワードを含む処理や移行レベルを抽出する。全てファイルを読み込み終わったら、その結果を出力する(S104,S105)。出力先は、保守パソコンMの所定のフォルダでもよいし、データベース言語変換装置12等でもよい。
抽出された非互換結果(図2(B)参照)には、非互換であるため変換が必要な関数名や対象行と共に移行レベルが示されているため、どの処理が変換不要又は単純変換でよいか、それともアプリケーションのプログラム修正が必要なのか、といった対応の程度を容易に把握することができる。この移行レベルは、現行データベースD11に関する情報(SQL、DDL、PL/SQLやソースコード等)毎に定義してもよいし、レベルを0〜10などより細分化してもよい。これにより、より詳細な非互換情報を抽出することができ、より適切な変換処理を導くことができる。
[マイグレーション]
次に、図1と、図5に示すフローチャートに基づいて、データベース言語を変換する処理を説明する。本処理は、アプリケーションサーバS等が現行データベースD11へアクセスする際に用いるデータベース言語を受信し、データベース言語変換装置12のSQL変換部122が変換し、該変換されたデータベース言語で移行先データベースD21へのアクセスが行われる。
データベース言語変換装置12の通信部121は、アプリケーションサーバSから現行データベースD11へのアクセスを受信した後、移行先データベースD21との接続を確立する(S201)。そして、SQLステートメント生成を行い、SQL共通変換部1221でSQL共通変換を、SQL個別変換部1222でSQL個別変換を行う(S202〜S204)。
SQLステートメント生成とは、SELECT,INSERT,UPDATE,DELETE等のSQL構文の生成である。SQL共通変換とは、例えば、一般的に使用される頻度が高い関数等の変換であり、具体的には、現行データベースD11(Oracle(登録商標))で使用していた「SYSTIMESTAMP」は、移行先データベースD21(PostgreSQL(登録商標))では使用できないため(非互換であるため)、「CLOCK_TIMESTAMP」に変換する。また、SQL個別変換とは、例えば、一部のアプリケーションにおいてのみ使用される関数や、個別のアプリケーションに特化した機能等の変換であり、具体的には、現行データベースD11(Oracle(登録商標))で使用していた「XXX.NEXTVAL」は、移行先データベースD21(PostgreSQL(登録商標))では使用できないため、「NEXTVAL(XXX)」に変換する。
共通変換と個別変換を分けることにより、システム毎に使用するアプリケーションサーバSが異なる場合、該アプリケーションサーバSが提供するアプリケーションに応じて個別変換処理(SQL個別変換部1222)を差し替えることができる。これにより、一部のアプリケーションにおいてのみ使用される関数等の有無を毎回確認する必要がなくなり、処理速度の向上等を図ることができる。
そして、変換されたデータベース言語にて移行先データベースD21にアクセスし、データ取得結果変換部1223でデータ取得結果変換を行う(S205,S206)。データ取得結果変換とは、例えば、移行先データベースD21から返ってきたのデータ取得結果の日付形式が「HH:MM:SS:mm」である場合、クライアント端末C上のアプリケーション画面等で正しく表示されるように、ミリ秒に対応していない現行データベースD11の日付形式「HH:MM:SS」に変換することである。
マイグレーションにおいて、このようなデータベース言語変換前に、データベースマイグレーションツール等を用いて現行データベースD11から移行先データベースD21へ蓄積されている全データの移行を行っていてもよい。一度、移行先データベースD21へ全データの移行が完了していれば、それ以降のアプリケーションから移行先データベースD21へのアクセスは、上述したSQL変換部122によるデータベース言語変換処理が行われるため、システム切り替え後もユーザーは接続先のデータベースの仕様を意識することなく運用を続けることができる。
[検証]
最後に、検証手順を説明する。本処理は、検証用SQLファイルに記載されたデータベースへのアクセス処理に基づいて、(1)SQL変換部122で変換した処理で移行先データベースD21へアクセスした結果と、(2)SQL変換部122で変換せずに検証データベースD22へアクセスした結果とを比較し、変換が正しく行われているかを検証する。
検証用SQLファイルは、現行データベースD11のログからSQL実行情報を抽出して作成する。
まず、図1と、図6に示すフローチャートに基づいて、検証用SQLを抽出する処理を説明する。本処理は、評価検証装置11のSQL抽出部112に現行データベースD11のログ及びテーブル定義ファイルを読み込ませることでSQL実行情報を抽出し、検証用SQLファイルを出力させる。テーブル定義ファイルは、例えば、アプリケーションに関するSQL実行情報のみを抽出させるために読み込ませるものであり、つまり、定期的にバックグラウンドで走っているSQL実行情報等を除くためのものである。
ユーザーは評価検証装置11にアクセスし、検証用SQL抽出処理におけるGUI画面を表示させる(図7参照)。そして、「結合後トレースログ」にて抽出対象のログを、「SQL出力ファイル」にて抽出した検証用SQLファイルの出力先を、「テーブル定義ファイル」にてテーブル定義ファイルを選択し、「抽出開始」にて実行させる。
SQL抽出部112は、該選択されたログやファイルを読み込む(S301,S302)。ログは1行ずつ読み込まれ、その行にSQL文が含まれているか、バインド変数が含まれているかを検索し、取得対象SQL判定を行う(S303〜S306)。そして、バインド変数埋め込みを行い(S307)、ログの最終行に到達するまでS302〜S308の処理を繰り返す。
ログの読み取りが完了したら、検証用SQLファイルを出力して処理を終了する(S309)。このように、検証用SQLファイルは現行データベースD11のログ、つまり、実際にアプリケーションサーバS等から実行されたSQL実行情報に基づいて作成されるため、実際の業務におけるアプリケーション操作に即した、精度の高い検証を行うことができる。
なお、本検証用SQLを抽出する処理は一例であり、例えば、複数のログを結合させたファイルより抽出してもよいし、現行データベースD11へのSQL実行情報が記載されていれば、ログの種類や数は問わない。
続いて、図1と、図8に示すフローチャートに基づいて、作成した検証用SQLファイルを用いた検証処理を説明する。本処理は、評価検証装置11のSQL検証部113に検証用SQLファイルを読み込ませ、移行先データベースD21と検証データベースD22に対して同一のアクセス処理を行い、その処理結果を比較する。
SQL検証部113は、検証用SQLファイルを読み込み、接続先のデータベースを判定する(S401,S402)。接続先のデータベースは、検証用SQLファイルに記載してもよいし、それ以外の方法(例えば、検証用SQLファイル名を移行先と検証用とで分ける)でもよい。
接続先のデータベースが検証データベースD22の場合、SQL検証部113は、データベース言語の変更を行わず(データベース言語変換装置12のSQL変換部122を介さず)、検証用SQLファイルに基づいたアクセス処理を現行データベースD11に対して行う(S410〜S413、S403〜S405)。そして、その検証結果をテキストデータで出力する(S406)。
一方、接続先のデータベースが移行先データベースD21の場合、SQL検証部113は、データベース言語変換装置12のSQL変換部122を介してデータベース言語変換を行い、検証用SQLファイルに基づいたアクセス処理を移行先データベースD21に対して行う(S420〜S425、S403〜S405)。そして、その検証結果をテキストデータで出力する(S406)。
双方の検証結果が揃った後、SQL検証部113は、該検証結果が同じであるか比較する。比較は、検証結果としてのテキストデータを比較ツール等(例えば、WinMerge)で比較してもよいし、それ以外の方法でもよい。比較結果が同じであれば、データベース言語変換装置12のSQL変換部122におけるデータベース言語変換処理が正しく動作していると判断できる。一方、比較結果に異なっていれば、誤って動作している箇所があると判断できる。
なお、比較結果が異なっていた場合、該比較結果に基づいて、現行データベースD11と異なる種類のデータベース間との非互換情報として非互換リストに含まれていなかった未対応非互換情報を非互換リストにフィードバック(非互換リストを更新)させる。これにより、容易に、よりデータベース言語変換処理の精度を向上させることができる。また、該フィードバックは、データベースの仕様変更があった場合の検知にも有効であり、検証用SQLの内容の充実化させ繰り返し検証を行うことにより、さらにデータベース言語変換処理の精度を向上させることができる。さらに、該フィードバックは、非互換リストだけでなく、SQL変換部122に読み込ませる非互換抽出結果にも反映させる。該フィードバックは、評価検証装置11やデータベース言語変換装置12が行ってもよく、又はユーザー自身が行ってもよい。
上述した構成要件の説明は、本発明の実施の形態の一例(代表例)であり、本発明はその要旨を変更しない限り、上述の内容に限定されない。例えば、評価検証装置11の非互換結果抽出部111を非互換結果抽出ツールと、機能の一部をツール化してもよい。また、データベース言語変換装置12のSQL変換部122をSQL変換ドライバと、機能の一部をドライバ化してもよい。
また、各データベースD11〜D22は、仮想化して1つにまとめてもよいし、クラウドデータベースを用いてもよい。
本発明のデータベースマイグレーションシステムを用いたデータベースマイグレーション方法は、システム切り替え等でアクセスするデータベースが異なる種類に変わる場合においても、アプリケーションのプログラム修正を不要とするデータベースマイグレーション方法として有用であり、データベースマイグレーション後の検証までを自動で行うこと等により、ユーザーの負担を軽減したデータベースマイグレーション方法として好適である。
1 データベースマイグレーションシステム
11 評価検証装置
111 非互換結果抽出部
112 SQL抽出部
113 SQL検証部
12 データベース言語変換装置
121 通信部
122 SQL変換部
1221 SQL共通変換部
1222 SQL個別変換部
1223 データ取得結果変換部
C クライアント端末
S アプリケーションサーバ
M 保守パソコン
D11 現行データベース
D21 移行先データベース
D22 検証データベース
N ネットワーク通信網

Claims (7)

  1. アプリケーションサーバがアクセスする現行データベースを、異なる種類の移行先データベースへ変更する際に行うデータベースマイグレーション方法であって、
    評価検証装置が前記現行データベースに関する情報と、前記現行データベースと前記移行先データベースとの間の非互換情報としてのキーワード及び変換の程度を示す移行レベルを含む非互換リストとに基づいて、前記キーワードが含まれているため変換が必要な前記アプリケーションサーバから前記移行先データベースへのアクセス処理及び前記移行レベルを含む非互換結果を抽出すること、
    データベース言語変換装置が前記非互換結果を用いて、前記アプリケーションサーバが前記現行データベースへアクセスする際に用いるデータベース言語を、前記移行先データベースで使用可能なデータベース言語に変換し、前記変換後のデータベース言語を用いて、前記移行先データベースへアクセスすること、
    前記評価検証装置が前記現行データベースのログから、SQL実行情報を抽出して検証のための検証SQLファイルを出力すること、
    前記評価検証装置が前記検証SQLファイルに基づいて、前記変換前のデータベース言語を用いて前記現行データベースへアクセス処理を行った処理結果と、前記変換後のデータベース言語を用いて前記移行先データベースへアクセス処理を行った処理結果とを比較し、比較結果を出力することを含むデータベースマイグレーション方法。
  2. ユーザー又は前記評価検証装置が前記比較結果に基づいて、前記非互換リストに含まれていなかった未対応非互換情報を前記非互換リストにフィードバックさせることを特徴とする請求項1に記載のデータベースマイグレーション方法。
  3. ユーザー又は前記データベース言語変換装置が前記比較結果に基づいて、前記非互換結果に含まれていなかった未対応非互換情報を前記非互換結果にフィードバックさせることを特徴とする請求項1又は2に記載のデータベースマイグレーション方法。
  4. 前記現行データベースはOracle(登録商標)であり、前記非互換リストには、前記現行データベースと異なる種類のデータベース間との非互換情報としてPL/SQLを含み、
    前記抽出された非互換結果には、変換が必要な前記アプリケーションサーバのPL/SQL処理及び移行レベルを含むことを特徴とする請求項1〜3のいずれか1項に記載のデータベースマイグレーション方法。
  5. アプリケーションサーバがアクセスする現行データベースを、異なる種類の移行先データベースへ変更する際に用いるデータベースマイグレーションシステムであって、
    前記データベースマイグレーションシステムは、前記現行データベースに関する情報と、前記現行データベースと異なる種類のデータベース間との非互換情報としてのキーワード及び変換の程度を示す移行レベルを含む非互換リストとに基づいて、前記キーワードが含まれているため変換が必要な前記アプリケーションサーバから前記移行先データベースへのアクセス処理及び前記移行レベルを含む非互換結果を抽出する非互換結果抽出部を含む評価検証装置と、
    前記アプリケーションサーバ及び前記移行先データベースと通信する通信部と、前記非互換結果を用いて、前記アプリケーションサーバが前記現行データベースへアクセスする際に用いるデータベース言語を、前記移行先データベースで使用可能なデータベース言語に変換し、前記変換後のデータベース言語を用いて、前記移行先データベースへアクセスするSQL変換部とを含むデータベース言語変換装置とを含み、
    前記評価検証装置はさらに、前記現行データベースのログから、SQL実行情報を抽出して検証のための検証SQLファイルを出力するSQL抽出部と、
    前記検証SQLファイルに基づいて、前記変換前のデータベース言語を用いて前記現行データベースへアクセス処理を行った処理結果と、前記変換後のデータベース言語を用いて前記移行先データベースへアクセス処理を行った処理結果とを比較し、比較結果を出力するSQL検証部を含むデータベースマイグレーションシステム。
  6. 前記SQL変換部は、SQL共通変換部と、SQL個別変換部と、データ取得結果変換部とを含むことを特徴とする請求項5に記載のデータベースマイグレーションシステム。
  7. アプリケーションサーバがアクセスする現行データベースを、異なる種類の移行先データベースへ変更する際に用いるデータベースマイグレーションシステムとしてコンピュータを機能させるためのデータベースマイグレーションプログラムであって、
    前記データベースマイグレーションプログラムは、前記現行データベースに関する情報と、前記現行データベースと異なる種類のデータベース間との非互換情報としてのキーワード及び非互換変換の程度を示す移行レベルを含む非互換リストとに基づいて、前記キーワードが含まれているため変換が必要な前記アプリケーションサーバから前記移行先データベースへのアクセス処理及び前記移行レベルを含む非互換結果を抽出する非互換結果抽出部を含む評価検証装置としてコンピュータを機能させるための比較検証プログラムと、
    前記アプリケーションサーバ及び前記移行先データベースと通信する通信部と、前記非互換結果を用いて、前記アプリケーションサーバが前記現行データベースへアクセスする際に用いるデータベース言語を、前記移行先データベースで使用可能なデータベース言語に変換し、前記変換後のデータベース言語を用いて、前記移行先データベースへアクセスするSQL変換部とを含むデータベース言語変換装置としてコンピュータを機能させるためのデータベース言語変換プログラムとを含み、
    前記比較検証プログラムはさらに、前記現行データベースのログから、SQL実行情報を抽出して検証のための検証SQLファイルを出力するSQL抽出部と、
    前記検証SQLファイルに基づいて、前記変換前のデータベース言語を用いて前記現行データベースへアクセス処理を行った処理結果と、前記変換後のデータベース言語を用いて前記移行先データベースへアクセス処理を行った処理結果とを比較し、比較結果を出力するSQL検証部を含む評価検証装置としてコンピュータを機能させるデータベースマイグレーションプログラム。
JP2020037182A 2020-03-04 2020-03-04 データベースマイグレーション方法、データベースマイグレーションシステム、及びデータベースマイグレーションプログラム Active JP7346332B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020037182A JP7346332B2 (ja) 2020-03-04 2020-03-04 データベースマイグレーション方法、データベースマイグレーションシステム、及びデータベースマイグレーションプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020037182A JP7346332B2 (ja) 2020-03-04 2020-03-04 データベースマイグレーション方法、データベースマイグレーションシステム、及びデータベースマイグレーションプログラム

Publications (2)

Publication Number Publication Date
JP2021140430A true JP2021140430A (ja) 2021-09-16
JP7346332B2 JP7346332B2 (ja) 2023-09-19

Family

ID=77668701

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020037182A Active JP7346332B2 (ja) 2020-03-04 2020-03-04 データベースマイグレーション方法、データベースマイグレーションシステム、及びデータベースマイグレーションプログラム

Country Status (1)

Country Link
JP (1) JP7346332B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102543749B1 (ko) * 2023-02-17 2023-06-14 주식회사 헤카톤에이아이 데이터 레이크 이관을 위한 인공지능 기반 자동화 시스템
JP7295541B1 (ja) 2022-01-28 2023-06-21 株式会社インサイトテクノロジー 情報処理システム、情報処理装置および情報処理方法、並びに、プログラム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11272524A (ja) * 1998-03-19 1999-10-08 Fujitsu Ltd データ変換装置および記憶媒体
WO2008056438A1 (fr) * 2006-11-06 2008-05-15 Nec Corporation Système informatique
JP2009223851A (ja) * 2008-03-19 2009-10-01 Inforce Co Ltd データベースシステム移行方法
JP2011258002A (ja) * 2010-06-09 2011-12-22 Inforce Co Ltd データ変換方法、その装置およびそのプログラム
JP2013239038A (ja) * 2012-05-15 2013-11-28 Toshiba Corp データベース装置およびデータベース装置の制御方法
US20140280259A1 (en) * 2013-03-15 2014-09-18 Oracle International Corporation Run-time sql language translation
JP2019211805A (ja) * 2018-05-31 2019-12-12 株式会社野村総合研究所 データベースマイグレーション支援システム及びプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11272524A (ja) * 1998-03-19 1999-10-08 Fujitsu Ltd データ変換装置および記憶媒体
WO2008056438A1 (fr) * 2006-11-06 2008-05-15 Nec Corporation Système informatique
JP2009223851A (ja) * 2008-03-19 2009-10-01 Inforce Co Ltd データベースシステム移行方法
JP2011258002A (ja) * 2010-06-09 2011-12-22 Inforce Co Ltd データ変換方法、その装置およびそのプログラム
JP2013239038A (ja) * 2012-05-15 2013-11-28 Toshiba Corp データベース装置およびデータベース装置の制御方法
US20140280259A1 (en) * 2013-03-15 2014-09-18 Oracle International Corporation Run-time sql language translation
JP2019211805A (ja) * 2018-05-31 2019-12-12 株式会社野村総合研究所 データベースマイグレーション支援システム及びプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7295541B1 (ja) 2022-01-28 2023-06-21 株式会社インサイトテクノロジー 情報処理システム、情報処理装置および情報処理方法、並びに、プログラム
JP2023110529A (ja) * 2022-01-28 2023-08-09 株式会社インサイトテクノロジー 情報処理システム、情報処理装置および情報処理方法、並びに、プログラム
KR102543749B1 (ko) * 2023-02-17 2023-06-14 주식회사 헤카톤에이아이 데이터 레이크 이관을 위한 인공지능 기반 자동화 시스템
KR102569185B1 (ko) * 2023-02-17 2023-08-22 주식회사 헤카톤에이아이 데이터 레이크 이관을 위한 인공지능 기반 자동화 시스템을 이용한 데이터 레이크 이관 방법

Also Published As

Publication number Publication date
JP7346332B2 (ja) 2023-09-19

Similar Documents

Publication Publication Date Title
CN109800207B (zh) 日志解析方法、装置、设备及计算机可读存储介质
US7386566B2 (en) External metadata processing
CN103514223A (zh) 一种数据仓库数据同步方法和系统
US9043651B2 (en) Systematic failure remediation
US20200285622A1 (en) System and method for data structure migration control
JP2022031625A (ja) 情報をプッシュするための方法および装置、電子機器、記憶媒体並びにコンピュータプログラム
CN111008020A (zh) 将逻辑表达式解析为通用查询语句的方法
JP2021140430A (ja) データベースマイグレーション方法、データベースマイグレーションシステム、及びデータベースマイグレーションプログラム
CA2734207C (en) Electronic file comparator
CN105843899A (zh) 一种可简化编程的大数据自动化解析方法及系统
CN114489950A (zh) 一种组件适配方法、装置、电子设备及存储介质
CN113962597A (zh) 一种数据分析方法、装置、电子设备及存储介质
WO2014113898A1 (en) Method for accessing and automatically correlating data from a plurality of external data sources
US10698884B2 (en) Dynamic lineage validation system
CN116303427A (zh) 数据处理方法及装置、电子设备和存储介质
US8856152B2 (en) Apparatus and method for visualizing data
CN115221936A (zh) 数据库系统中的记录匹配
CN113986951A (zh) 一种通用etl代码的生成系统及方法
CN111651531A (zh) 数据导入方法、装置、设备及计算机存储介质
CN112527818A (zh) 报表生成方法、装置、设备及存储介质
EP3991054A1 (en) Method for generating a coherent representation for at least two log files
CN111753045A (zh) 一种基于Elasticsearch的Hive二级全文索引技术方法及系统
CN116755684B (zh) OAS Schema的生成方法、装置、设备及介质
US11086848B1 (en) Dynamic data transformation system
US20210406226A1 (en) System Building Assisting Apparatus and System Building Assisting Method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221219

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20221219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230725

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230906

R150 Certificate of patent or registration of utility model

Ref document number: 7346332

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150