JP6737039B2 - Database system, data processing program, and data processing method - Google Patents
Database system, data processing program, and data processing method Download PDFInfo
- Publication number
- JP6737039B2 JP6737039B2 JP2016144475A JP2016144475A JP6737039B2 JP 6737039 B2 JP6737039 B2 JP 6737039B2 JP 2016144475 A JP2016144475 A JP 2016144475A JP 2016144475 A JP2016144475 A JP 2016144475A JP 6737039 B2 JP6737039 B2 JP 6737039B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- database
- output
- file
- migration
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
この発明は、データベースシステム、データ処理プログラム、及びデータ処理方法に関し、例えば、データベースサーバ間のデータ移行が可能なデータベースシステムに適用し得る。 The present invention relates to a database system, a data processing program, and a data processing method, and can be applied to, for example, a database system capable of migrating data between database servers.
通常、データベースサーバ間でデータを移行した後、移行元のデータベースサーバと移行先のデータベースのデータとの間で、データの同一性を比較検証する処理(以下、「コンペア処理」とも呼ぶ)が行われる。従来のデータベースシステムにおいて、全件コンペア処理を実施する処理は、例えば、移行元又は移行先のデータどちらか一方を基準に他方のデータを繰り返しサーチし、同一レコード(比較対象となるレコード)を検出してコンペア処理を実施するという流れとなる。 Normally, after migrating data between database servers, the process of comparing and verifying the identity of the data between the source database server and the destination database data (hereinafter also referred to as "compare process") is performed. Be seen. In the conventional database system, the process of performing the all-compare process, for example, searches the other data repeatedly based on either the migration source data or the migration destination data, and detects the same record (record to be compared). Then, the comparison process is performed.
従来のデータベースシステムにおけるコンペア処理方法としては、例えば、特許文献1に記載された方法がある。特許文献1では、移行前と移行後のデータベース間で、全件のデータに対してコンペア処理を実施することで、移行後のデータベースの信頼性を保証し、さらに、移行前と移行後で不一致が発見された場合に調査を可能とする。
As a compare processing method in a conventional database system, for example, there is a method described in
しかしながら、特許文献1にはコンペア処理の具体的な手続きについては開示されておらず、その処理にどの程度のリソース及び、処理時間が必要となるか不明となっている。
However,
近年、ハードウェアやDBMS等のミドルウェアのライフサイクルは短くなっており、システムの移行/再構築が必要となるケースは多く、その際のデータ移行作業は、極力短い時間で実施可能であることが要求されている。 In recent years, the life cycle of middleware such as hardware and DBMS has become shorter, and system migration/restructuring is often necessary, and data migration work in such cases can be performed in the shortest possible time. Is required.
従来のデータベースシステムにおいて、データ移行を行った後のコンペア処理方式としては、例えば、特許文献1のコンペア処理方式がある。特許文献1に記載されたコンペア処理方式では、シェルスクリプトを用いてコンペア処理を行うことについて記載されている。
In the conventional database system, as a compare processing method after data migration, for example, there is a compare processing method of
例えば、従来の特許文献1の請求項1に記載されている「移行データファイルを移行後データベースのテーブルにセットアップ」するシェルスクリプトや、特許文献1の段落「0012」に記載されている移行前検査ファイルと移行後検査ファイルとの全件コンペア処理を行うシェルスクリプトには、以下の課題があると考えられる。
For example, a shell script that “sets up a migration data file in a post-migration database table” described in
従来のコンペア処理方式では、移行前データベースからデータを抽出する際、データが抽出される順序(物理的な順序及び論理的な順序)は、移行後のデータベースからデータが抽出される順序と同一とは限らない。DBMSは一般的にデータを登録する際、空きデータブロックに連続的にデータを登録する方式で動作するが、データブロックが格納領域の上限まで使用されているような場合は、空きブロックを探索しながらデータを登録することになる。この場合、データを検索する(例えば、「SELECT * FROM 表」というSQL文)場合、データブロックの先頭からデータレコードが取得されるが、それは登録順序とは異なることになる。 In the conventional compare processing method, when extracting data from the pre-migration database, the order in which the data is extracted (physical order and logical order) is the same as the order in which the data is extracted from the post-migration database. Not necessarily. When registering data, the DBMS generally operates by a method of continuously registering data in empty data blocks. However, when the data blocks are used up to the upper limit of the storage area, empty blocks are searched. While registering the data. In this case, when the data is searched (for example, the SQL sentence "SELECT * FROM table"), the data record is acquired from the beginning of the data block, which is different from the registration order.
したがって、従来のコンペア処理方式では、移行前又は移行後の一方のデータベースから任意のデータ(レコード)を抽出し、一方のデータベースから抽出したデータと対応するデータを他方のデータベースから検出して比較する処理を繰り返すことになる。 Therefore, in the conventional compare processing method, arbitrary data (record) is extracted from one database before or after migration, and the data corresponding to the data extracted from one database is detected from the other database and compared. The process will be repeated.
上述のような従来のコンペア処理方式では、コンペア処理対象のデータベースの全件のデータ(レコード)について、検索する処理が必要となる。すなわち、上述のような従来のコンペア処理方式では、コンペア処理対象のデータベースのデータ数(レコード数)の増加に伴い、検索処理の処理量(処理ステップや処理時間)も比例して多くなる。 In the conventional compare processing method as described above, it is necessary to perform a search process for all data (records) in the database to be compared. That is, in the conventional compare processing method as described above, the processing amount (processing step or processing time) of the search processing increases in proportion to the increase in the number of data (the number of records) in the database to be compared.
また、上述のような従来のコンペア処理方式では、コンペア処理対象のデータに主キーが設定されていない場合(データベース内でユニークなデータとなるカラムが設定されていない場合)、一方のデータベースから抽出したデータと対応するデータを他方のデータベースから検出する処理が困難となってしまう。 In addition, in the conventional compare processing method as described above, when the primary key is not set in the data to be compared (when the column that is unique data in the database is not set), it is extracted from one database. It becomes difficult to detect the data corresponding to this data from the other database.
さらに、上述のような従来のコンペア処理方式では、一方のデータベースから抽出したデータを、他方のデータベースから検出したデータと比較する際には、当該データ(レコード)の全データカラムについて比較する処理を繰り返すことになるため、多くの処理量(処理ステップや処理時間)が必要となる。すなわち、上述のような従来のコンペア処理方式では、データカラム数の増加に伴い、比較処理の処理量(処理ステップや処理時間)も比例して多くなる。 Further, in the conventional compare processing method as described above, when comparing the data extracted from one database with the data detected from the other database, a process of comparing all data columns of the data (record) is performed. Since it is repeated, a large amount of processing (processing steps and processing time) is required. That is, in the conventional compare processing method as described above, the processing amount (processing step or processing time) of the comparison processing increases proportionally as the number of data columns increases.
そのため、より少ない処理量で正確に2つのデータベースのデータを比較する処理(コンペア処理)を行うことができるデータベースシステム、データ処理プログラム、及びデータ処理方法が望まれている。 Therefore, there is a demand for a database system, a data processing program, and a data processing method that can accurately perform a process (compare process) of comparing data in two databases with a smaller processing amount.
第1の本発明のデータベースシステムは、(1)第1のデータベースから、前記第1のデータベースを構成するデータを順次読み出し、前記第1のデータベースから読み出したデータを読みだした順序で出力した第1の出力データを生成する第1のデータベース出力手段と、(2)前記第1の出力データからデータを順次読み出し、読み出した各データに順序を識別する順序識別子を付加したデータを、第2のデータベースに登録するデータ登録手段と、(3)前記第2のデータベースから、前記第2のデータベースを構成するデータを、順序識別子が示す順序で読み出し、前記第2のデータベースから読み出したデータを読みだした順序で出力した第2の出力データを生成する第2のデータベース出力手段と、(4)前記第1の出力データと前記第2の出力データとの比較結果に基づいて、前記第1のデータベースと前記第2のデータベースとを比較する処理を行うデータ比較手段とを有することを特徴とする。 The database system according to the first aspect of the present invention is: (1) The data constituting the first database is sequentially read from the first database, and the data read from the first database is output in the order of reading. A first database output means for generating one output data; and (2) data obtained by sequentially reading the data from the first output data and adding an order identifier for identifying the order to each read data, the second data. (3) Data registering means for registering in the database, and (3) the data constituting the second database is read from the second database in the order indicated by the sequence identifier, and the data read from the second database is read. Second database output means for generating second output data output in the order, and (4) the first database based on a comparison result of the first output data and the second output data. And a data comparison means for performing a process of comparing the second database with the second database.
第2の本発明のデータ処理プログラムは、コンピュータを、(1)第1のデータベースから、前記第1のデータベースを構成するデータを順次読み出し、前記第1のデータベースから読み出したデータを読みだした順序で出力した第1の出力データを生成する第1のデータベース出力手段と、(2)前記第1の出力データからデータを順次読み出し、読み出した各データに順序を識別する順序識別子を付加したデータを、第2のデータベースに登録するデータ登録手段と、(3)前記第2のデータベースから、前記第2のデータベースを構成するデータを、順序識別子が示す順序で読み出し、前記第2のデータベースから読み出したデータを読みだした順序で出力した第2の出力データを生成する第2のデータベース出力手段と、(4)前記第1の出力データと前記第2の出力データとの比較結果に基づいて、前記第1のデータベースと前記第2のデータベースとを比較する処理を行うデータ比較手段として機能させることを特徴とする。 A data processing program according to a second aspect of the present invention causes a computer to (1) sequentially read data constituting the first database from the first database and read the data read from the first database. A first database output means for generating the first output data output in step (2), and (2) sequentially reading data from the first output data, and adding data to each read data with an order identifier for identifying the order. Data registering means for registering in the second database, and (3) the data constituting the second database is read out from the second database in the order indicated by the order identifier, and read out from the second database. Second database output means for generating second output data output in the order of reading the data; (4) based on a comparison result of the first output data and the second output data, It is characterized in that it functions as data comparison means for performing a process of comparing the first database with the second database.
第3の本発明は、データベースシステムにおけるデータ処理方法において、(1)第1のデータベース出力手段、データ登録手段、第2のデータベース出力手段、及びデータ比較手段を備え、(2)前記第1のデータベース出力手段は、第1のデータベースから、前記第1のデータベースを構成するデータを順次読み出し、前記第1のデータベースから読み出したデータを読みだした順序で出力した第1の出力データを生成し、(3)前記データ登録手段は、前記第1の出力データからデータを順次読み出し、読み出した各データに順序を識別する順序識別子を付加したデータを、第2のデータベースに登録し、(4)前記第2のデータベース出力手段は、前記第2のデータベースから、前記第2のデータベースを構成するデータを、順序識別子が示す順序で読み出し、前記第2のデータベースから読み出したデータを読みだした順序で出力した第2の出力データを生成し、(5)前記データ比較手段は、前記第1の出力データと前記第2の出力データとの比較結果に基づいて、前記第1のデータベースと前記第2のデータベースとを比較する処理を行うことを特徴とする。 A third aspect of the present invention provides a data processing method in a database system, comprising (1) first database output means, data registration means, second database output means, and data comparison means, and (2) the first database output means. The database output means sequentially reads the data forming the first database from the first database, and generates the first output data that is output in the order of reading the data read from the first database, (3) The data registration unit sequentially reads the data from the first output data, and registers the read data with an order identifier for identifying the order in the second database, (4) The second database output means reads the data forming the second database from the second database in the order indicated by the order identifier, and outputs the data read from the second database in the order of reading. And (5) the data comparing means generates the second output data based on a comparison result between the first output data and the second output data. It is characterized by performing a process of comparing with a database.
本発明によれば、より少ない処理量で正確に2つのデータベースのデータを比較する処理を行うことができる。 According to the present invention, it is possible to perform a process of accurately comparing data in two databases with a smaller processing amount.
(A)主たる実施形態
以下、本発明によるデータベースシステム、データ処理プログラム、及びデータ処理方法の一実施形態を、図面を参照しながら詳述する。
(A) Main Embodiment Hereinafter, one embodiment of a database system, a data processing program, and a data processing method according to the present invention will be described in detail with reference to the drawings.
(A−1)実施形態の構成
図1は、この実施形態のデータベース(以下、「DB」とも呼ぶ)システム1の全体構成を示すブロック図である。
(A-1) Configuration of Embodiment FIG. 1 is a block diagram showing the overall configuration of a database (hereinafter, also referred to as “DB”)
DBシステム1は、2つのDBサーバ10、20を有している。また、DBサーバ10、20は、それぞれネットワークNに接続しているものとする。
The
DBサーバ10、20は、図示しないDBクライアントから与えられたトランザクションの処理を行うものである。DBサーバ10、20は、PCなどの情報処理装置(1台に限定されず、複数台を分散処理し得るようにしたものであっても良い。)上に、プログラム(実施形態に係るデータ処理プログラムやデータベースのミドルウェアを含む)をインストールすることにより構築されるものであるが、機能的には図1のように表すことができる。なお、DBサーバ10、20は同じ構成としてもよいし、一部が異なる構成としてもよい。なお、DBシステム1を構成するDBサーバ20の台数は3台以上としてもよい。
The
この実施形態では、DBサーバ10がデータベースの移行元(移行前)となるDBサーバ(以下、「移行元DBサーバ」とも呼ぶ)であり、DBサーバ20がデータベースの移行先(移行後)となるDBサーバ(以下、「移行先DBサーバ」とも呼ぶ)であるものとして説明する。なお、DBシステム1において、データの移行元又は移行先となるDBサーバは限定されないものであり、任意の組み合わせを適用可能であるものとする。
In this embodiment, the
次に、移行元DBサーバ10と移行先DBサーバ20の機能的な構成について説明する。図1に示すように、この実施形態では、移行元DBサーバ10と移行先DBサーバ20は、いずれも基本的な構成(大別された機能的構成)は同様なものとして図示することができる。例えば、ハードウェア更新等で、移行元DBサーバ10から移行先DBサーバ20にデータベース(データベースを構成する表)を移行する場合、通常は、移行先DBサーバ20の方が、OS、データベースミドルウェア等のソフトウェアがバージョンアップした状態となるが、基本的な構成(大別された機能的構成)としては同様の構成として図示される。
Next, the functional configurations of the migration
図1に示すように、DBサーバ10、20は、大別するとDBMS11、21、データ記憶部12、22、及びデータベース制御部13、23を有している。
As shown in FIG. 1, the
DBサーバ10、20は、いずれもPCやワークステーション等のコンピュータに、OS(ミドルウェア)をインストール及びデータベースミドルウェアをインストールすることにより構築されたプラットフォーム上で実現されているものとする。DBサーバ10、20にインストールするOSやデータベースミドルウェアについては限定されないものであるが、この実施形態の例では、UNIX(登録商標)系のOS(例えば、種々のLINUX(登録商標)系OS)とORACLE(登録商標)データベースが適用されるものとして説明する。
The
DBMS11、21は、DB管理システム(Data Base Management System)の機能を担っており、例えば、図示しないDBクライアントやデータベース制御部13、23から要求(例えば、SQL(Structured Query Language)文で記述されたトランザクション)を受け取り、データ記憶部12、22のデータベース(表)を制御するなどして処理を行うものである。DBMS11、21は、例えば、種々のデータベースシステム(データベースミドルウェア)を用いて構築することができる。移行元DBサーバ10よりも、移行先DBサーバ20の方が新しく構築されたサーバの場合、移行先DBサーバ20のDBMS21で用いられるミドルウェア(データベースミドルウェア)は、移行元DBサーバ10で用いられるものと異なる場合(例えば、新しいバージョンのデータベースミドルウェアである場合)もあり得る。
The
データ記憶部12、22は、DBサーバ10、20において、データベースのデータを記憶する機能(データベース部の機能)などを担っており、例えば、DBMS11、21の制御に基づいて記憶しているデータの更新を行う。
The
データベース制御部13、23は、DBMS11、21(DBMS11、21のライブラリ)を用いてデータベース(例えば、データベースを構成する表)を制御する機能を担っている。特に、この実施形態では、データベース制御部13、23が、データベース移行の際のコンペア処理の制御を行うものとして説明する。
The
この実施形態では、データベース制御部13、23は、UNIX系OS上のシェルスクリプトを用いて構成されているものとして説明する。なお、データベース制御部13、23(データベース制御部13、23を構成する各構成要素)を実現する手段は、シェルスクリプトに限らず、任意の言語により記述されたプログラムがコンパイルされた実行可能ファイル(バイナリ形式の実行可能ファイル)であってもよい。
In this embodiment, the
移行元DBサーバ10のデータベース制御部13には、データ出力処理部131及びデータ送信部132が含まれている。
The
データ出力処理部131は、DBMS11を制御して、DBMS11(データ記憶部12)上にセットアップされたデータベース(データベースを構成する表)の各データ(レコード)を読み出して、文字列データに変換して出力(例えば、テキストデータのファイルとして出力)する処理を行う。以下では、データ出力処理部131が出力するテキストデータのファイルを「移行元データファイル」と呼ぶものとする。データ出力処理部131は、例えば、特許文献1と同様の方式により移行元データファイルを出力する処理を行うようにしてもよい。
The data
データ送信部132は、データ出力処理部131が出力した移行元データファイルを、移行先DBサーバ20側に送信(供給)する処理を行う。移行元DBサーバ10から移行先DBサーバ20に移行元データファイルを送信する手順や方式については限定されないものであり、例えば、FTP(File Transfer Protocol)や種々のネットワークファイルシステムを用いたファイルコピーにより実現するようにしてもよい。なお、データ出力処理部131が移行元データファイルを、直接移行先DBサーバ20に引き渡す処理を行う場合(例えば、移行先DBサーバ20のデータ記憶部22に書込む処理まで実行する場合)には、データ送信部132及び後述するデータ受信部231の構成は省略するようにしてもよい。
The
移行先DBサーバ20のデータベース制御部23には、データ受信部231、データセットアップ制御部232、データ出力処理部233、データ比較処理部234、及びカラム削除処理部235を有している。
The
データ受信部231は、移行元DBサーバ10のデータ送信部132が送信した移行元データファイルを受信する処理を行う。データ受信部231により受信された移行元データファイルは、データセットアップ制御部232及びデータ比較処理部234に引き渡される。なお、移行元DBサーバ10のデータ出力処理部131が移行元データファイルを、直接データセットアップ制御部232及びデータ比較処理部234に引き渡す処理を行う場合(例えば、移行先DBサーバ20のデータ記憶部22に書込む処理まで実行する場合)には、データ受信部231の構成は省略するようにしてもよい。
The
データセットアップ制御部232は、DBMS21を制御して、供給された移行元データファイルに基づくデータベース(データベースを構成する表)を、セットアップさせる処理(データ記憶部12上に表を生成して各データを登録させる処理)を行う。
The data
このとき、データセットアップ制御部232は、移行元データファイル(テキストファイル)の先頭のデータ(レコード)から順に読み込んでDBMS21にセットアップ(登録)させる処理を行う。また、データセットアップ制御部232は、DBMS21に、データのセットアップを(登録)させる際に当該データの処理順序(すなわち、移行元データファイルにおいてデータが記述された順序)を示す順序番号(順序識別子)のカラム(以下、「順序番号カラム」とも呼ぶ)を追加させる処理を行う。この実施形態では、最初にセットアップされたデータ(移行元データファイルの先頭のデータ)の順序番号カラムの値を「1」とし、以後昇順に通し番号(シーケンス番号)が設定されるものとして説明する。
At this time, the data
データ出力処理部233は、DBMS21(データ記憶部22)上に展開(セットアップ)されたデータベース(表)の各データ(レコード)を読み出して、文字列データに変換して出力(テキストデータファイルとして出力)する処理を行う。以下では、データ出力処理部233が出力するテキストデータのファイルを「移行先データファイル」と呼ぶものとする。このとき、データ出力処理部233は、データベース上から、順序番号カラムに示される順序でデータ(レコード)の読出しを行い、順序番号カラムを除外したデータ(順序番号カラム以外のカラムのデータ)を取得して、移行先データファイルに出力する処理を行う。すなわち、データ出力処理部233は、順序番号カラムに示される順序でデータの読み込み及び出力を行うことで、移行元データファイルと同じ順序で移行先データファイルへのデータ出力を行うことができる。データ出力処理部233は、順序番号カラムに示される順序でデータの読み込み及び出力を行うこと以外については、例えば、特許文献1と同様の処理により移行元データファイルの出力処理を行うことができる。
The data
データ比較処理部234は、移行元データファイルと移行先データファイルの同一性を比較(テキストデータとしての同一性を比較)する処理を行う。言い換えると、データ比較処理部234は、移行元データファイルと移行先データファイルの同一性を比較結果に基づいて、移行元DBサーバ10のデータベース(移行元のデータベース)と、移行先DBサーバ20のデータベース(移行先のデータベース)との同一性を判断する。データ比較処理部234では、移行元データファイルと移行先データファイルを一行ずつ比較する処理を行うようにしてもよいが、diffコマンド等のUNIX上のコマンド処理により移行元データファイルと移行先データファイルのテキストファイルとしての同一性を比較するようにしてもよい。スクリプト等により、移行元データファイルと移行先データファイルのデータを一行ずつ比較する処理を行うようにしてもよいが、diffコマンドを用いたファイル全体の比較処理の方が高速に処理を行うことが可能となる。
The data
データ比較処理部234では、移行元データファイルと移行先データファイルとがテキストデータとして同一(差分がない状態)であれば、移行元DBサーバ10のデータベース(移行元のデータベース)と、移行先DBサーバ20のデータベース(移行先のデータベース)とで全件のデータ(レコード)が同一の内容であると判断できる。
In the data
(A−2)実施形態の動作
次に、以上のような構成を有するDBシステム1の動作(実施形態のデータ処理方法)を説明する。
(A-2) Operation of Embodiment Next, an operation (data processing method of the embodiment) of the
図2は、DBシステム1(移行元DBサーバ10、移行先DBサーバ20)においてデータベースの移行に伴ってコンペア処理を行う際の動作概要について示したフローチャートである。図3は、図2のフローチャートに従ってDBシステム1(移行元DBサーバ10、移行先DBサーバ20)が動作した場合の各データの遷移について示した説明図である。図2、図3では、移行元DBサーバ10で保持されている表A1のデータベースを、移行先DBサーバ20に移行して表A2をセットアップし、表A1と表A2のコンペア処理を行う際の動作について示している。
FIG. 2 is a flowchart showing an outline of the operation of the DB system 1 (the migration
まず、移行先DBサーバ20のデータ出力処理部131が、DBMS11を制御して、DBMS11(データ記憶部12)上にセットアップ(登録)された表A1のデータベースの各データ(レコード)を読み出して、文字列データに変換し、移行元データファイルF1として出力する処理を行ったものとする(S101)。なお、データ出力処理部131が、表A1のデータを読み出す際の順序については限定されないものである。ここでは、表A1には主キーが設定されておらず、データ出力処理部131は、特に表A1から読み出すデータの順序については指定せずに(ソート条件を指定せずに)、表A1の全てのデータについて読出しを行ったものとして説明する。なお、DBMS11では、特に順序を指定せずに表A1のデータ全件について読出しが要求された場合、データ記憶部22上で表A1の各データが登録されている物理的な順序(物理アドレスに基づく順序)で読みだすようにしてもよい。また、表A1に主キーが設定されている場合には、データ出力処理部131は、当該主キーに基づいてデータの読出しを行うようにしてもよい。そして、ここでは、移行元DBサーバ10のデータ送信部132が、移行元データファイルF1を移行先DBサーバ20に送信し、移行先DBサーバ20のデータ受信部231で受信されたものとする。そして、データ受信部231により受信された移行元データファイルF1は、データ記憶部22に記憶されデータセットアップ制御部232及びデータ比較処理部234に引き渡される。
First, the data
ここでは、図3に示すように、移行元DBサーバ10の表A1の各データ(レコード)は、3つのカラムC1〜C3により構成されているものとする。図3に示すように、表A1の先頭に配置されたデータD11(データ出力処理部131が出力する際に最初に読み出されるデータ)の内容は、「カラムC1:AAA、カラムC2:000、カラムC3:あいう」となっている。また、図3に示すように、表A1の先頭から2番目に配置されたデータD12(表A1から2番目に読み出されるデータ)は、「カラムC1:XXX、カラムC2:456、カラムC3:かきく」となっている。さらに、図3に示すように、表A1で先頭から3番目に配置されたD13(表A1から3番目に読み出されるデータ)は、「カラムC1:123、カラムC2:*+−、カラムC3:abc」となっている。
Here, as shown in FIG. 3, it is assumed that each data (record) in the table A1 of the migration
また、図3に示すように、移行元データファイルF1(ファイル名:data1.txt)では、表A1を構成する各データがそれぞれ1行で記述されており、各行では各カラムの間にスペースを空けた形式で記述されている。言い換えると、図3に示す移行元データファイルF1では、各データ(各レコード)の間が改行(改行コード)で区切られており、各行の各カラムの間がスペース(スペースのコード)で区切られた記述形式となっている。例えば、移行元データファイルF1において、データD11は「AAA 000 あいう」となっている。なお、移行元データファイルF1において、各データや各カラムを区切るコードの種類は限定されないものであり、例えば、各カラム間をカンマ(,)で区切る形式(いわゆるCSV(Comma−Separated Values)形式)やタブ(タブのコード)で区切る形式としてもよい。
Further, as shown in FIG. 3, in the migration source data file F1 (file name: data1.txt), each data forming the table A1 is described in one line, and a space is provided between each column in each line. It is written in an open format. In other words, in the migration source data file F1 shown in FIG. 3, each data (each record) is separated by a line feed (line feed code), and each column of each line is separated by a space (space code). The description format is as follows. For example, in the migration source data file F1, the data D11 is "
次に、移行先DBサーバ20のデータセットアップ制御部232が、DBMS21を制御して、供給された移行元データファイルF1に基づいて「表A2」をセットアップする処理(データベースの登録処理)を実行させる(S102)。
Next, the data
このときデータセットアップ制御部232は、移行元データファイルF1の先頭のデータD11から順に読み込み、DBMS21を用いて表A2にセットアップさせる処理を行う。また、データセットアップ制御部232は、表A2に順序番号カラムC4を追加するようにDBMS21を制御し、各データの順序番号カラムC4に当該データの処理順序の番号(移行元データファイルF1における当該データの先頭からの配置順序の番号)を入力する。図2では、表A1のデータD11〜D13が、それぞれ、表A2のデータD21〜D23に対応するものとして図示している。また、図2に示すように、表A2のデータD21〜D23には、順序番号カラムC4が付加されている。データD21〜D23の順序番号カラムC4の値(番号)はそれぞれ1〜3となっている。
At this time, the data
次に、移行先DBサーバ20のデータ出力処理部233が、表A2のデータベースの各データ(レコード)を読み出して、DBMS21を制御して、表A2の各データ(レコード)を、文字列データに変換し、移行先データファイルF2として出力する処理を行う(S103)。このとき、データ出力処理部233は、表A2のデータベースから、順序番号カラムC4に示される順序でデータ(順序番号カラムC4を除外したカラムのデータ)の読出しを行い、移行先データファイルF2に出力する処理を行う。
Next, the data
次に、データ比較処理部234は、移行元データファイルと移行先データファイルの同一性を比較(テキストデータとしての同一性を比較)する処理を行う(S104)。
Next, the data
次に、カラム削除処理部235は、DBMS21を制御して、表A2から順序番号カラムC4を除去する処理を行い(S105)、本フローチャートの処理を終了する。
Next, the column
次に、上述のステップS101〜S105のそれぞれの処理の詳細について説明する。 Next, details of each of the above-described steps S101 to S105 will be described.
まず、ステップS101で、移行元DBサーバ10のデータ出力処理部131が行う処理の具体例について説明する。
First, a specific example of the processing performed by the data
移行元DBサーバ10の表A1からデータを抽出し移行元データファイルF1に出力する手順としては種々の手順(例えば、特許文献1の手順)を適用することができる。
As a procedure for extracting data from the table A1 of the migration
データ出力処理部131は、表A1のデータ(レコード)を順次読込んで、読込んだ順序で移行元データファイルF1に出力する処理を行う。データ出力処理部131が行う処理は、例えば、図4に示すようなシェルスクリプトで実現することができる。
The data
図4に示すシェルスクリプトでは、ORACLEデータベース上のコマンド「sqlplus」に、「get_data.sql」というファイル名のSQLファイルを適用している。なお、図4に示すシェルスクリプトにおける「ユーザ/パスワード」には、sqlplusコマンドを実行可能なユーザID及びパスワードが入力されることを示している。これは、以下に示すシェルスクリプトでも同様である。 In the shell script shown in FIG. 4, the SQL file having the file name “get_data.sql” is applied to the command “sqplus” on the ORACLE database. It should be noted that the "user/password" in the shell script shown in FIG. 4 indicates that the user ID and password capable of executing the sqplus command are input. This also applies to the shell script shown below.
表A1からデータを抽出(特に順序を指定せずに抽出)するためのSQL文は、単純には、図5に示すようなSELECT文を用いて実現することができる。そして、上述の図4のシェルスクリプトに適用するSQLファイル(get_data.sql)の内容としては、例えば、図6に示す内容のSQL文を適用することができる。 The SQL statement for extracting the data from the table A1 (extracting without specifying the order) can be simply realized by using the SELECT statement as shown in FIG. Then, as the content of the SQL file (get_data.sql) applied to the above-mentioned shell script of FIG. 4, for example, the SQL statement having the content shown in FIG. 6 can be applied.
図6に示すSQLファイルのラインL101には、検索結果のメッセージを抑止する指定が記述されている。また、図6に示すSQLファイルのラインL102には、検索結果の行間のラベル表示を抑止する指定が記述されている。さらに、図6に示すSQLファイルのラインL103には、移行元データファイルF1(data1.txt)への出力を開始する処理が記述されている。さらにまた、図6に示すSQLファイルのラインL104には、表Aから全てのカラムのデータを出力(移行元データファイルF1に出力)する処理(SELECT文)が記述されている。また、図6に示すSQLファイルのラインL105には、移行元データファイルF1(data1.txt)への出力を終了する処理が記述されている。 The line L101 of the SQL file shown in FIG. 6 describes the specification to suppress the message of the search result. Further, in the line L102 of the SQL file shown in FIG. 6, a designation for suppressing the label display between the search result lines is described. Further, a line L103 of the SQL file shown in FIG. 6 describes a process of starting output to the migration source data file F1 (data1.txt). Furthermore, in the line L104 of the SQL file shown in FIG. 6, a process (SELECT statement) for outputting the data of all columns from the table A (outputting to the migration source data file F1) is described. Further, the line L105 of the SQL file shown in FIG. 6 describes a process of ending the output to the migration source data file F1 (data1.txt).
データベース制御部13(データ出力処理部131)が、図6に示すSQLファイル(get_data.sql)を、図4のシェルスクリプトに組み込んで実行した場合、移行元データファイルF1(data1.txt)の内容は、図3に示す内容となる。図3では、各カラム間がスペースで区切られている。 When the database control unit 13 (data output processing unit 131) incorporates the SQL file (get_data.sql) shown in FIG. 6 into the shell script of FIG. 4 and executes it, the contents of the migration source data file F1 (data1.txt) Has the content shown in FIG. In FIG. 3, each column is separated by a space.
移行元データファイルF1(data1.txt)において、各カラムの間をカンマ(,)で区切るように記述する場合(移行元データファイルF1をCSVファイルとした場合)、SQLファイル(get_data.sql)の内容は図7のような内容となる。図7では、ラインL104がラインL104Aに置き換わっていること以外は、上述の図6と同様の内容となっている。図7のラインL104Aでは、各カラムの間にカンマ(,)が入るようにSELECT文が記述されている。 In the migration source data file F1 (data1.txt), when description is made such that each column is separated by a comma (,) (when the migration source data file F1 is a CSV file), the SQL file (get_data.sql) is The contents are as shown in FIG. In FIG. 7, the content is the same as that in FIG. 6 described above except that the line L104 is replaced with the line L104A. In line L104A of FIG. 7, the SELECT statement is described such that a comma (,) is inserted between each column.
そして、データベース制御部13(データ出力処理部131)が、図7に示すSQLファイル(get_data.sql)を、図4のシェルスクリプトに組み込んで実行した場合、移行元データファイルF1(data1.txt)の内容は、図8に示す内容となる。図8では、各カラム間がスペースで区切られた形式(CSV形式)となっている。 Then, when the database control unit 13 (data output processing unit 131) incorporates the SQL file (get_data.sql) shown in FIG. 7 into the shell script of FIG. 4 and executes it, the migration source data file F1 (data1.txt). 8 has the content shown in FIG. In FIG. 8, the columns are separated by spaces (CSV format).
次に、ステップS102で、移行先DBサーバ20のデータセットアップ制御部232が行う処理の具体例について説明する。
Next, a specific example of the processing performed by the data
データセットアップ制御部232が、移行元データファイルF1に基づいてデータセットアップを行う処理は、例えば、図9に示すようなシェルスクリプトで実現できる。
The process in which the data
図9に示すシェルスクリプトでは、ORACLEデータベースのコマンド「sqlldr」を用いて、移行元データファイルF1(data1.txt)に基づく表A2(データベース)のセットアップを実行する例について示している。ORACLEデータベースでは、ファイルからデータを一括読み込みするためのコマンドとして「sqlldr」が実装されおり、このコマンドにより、簡単、且つ、高速にデータセットアップが可能となる。 The shell script shown in FIG. 9 shows an example of executing the setup of the table A2 (database) based on the migration source data file F1 (data1.txt) by using the command “sqlldr” of the ORACLE database. In the ORACLE database, "sqlldr" is installed as a command for batch reading of data from a file, and this command enables simple and high-speed data setup.
sqlldrコマンドを起動する際には、制御ファイルを引き渡す必要があるため、図9の例では、コマンド「sqlldr」に、「load.ctl」という名前の制御ファイルを適用する例について示している。 Since the control file needs to be handed over when the sqlldr command is activated, the example of FIG. 9 shows an example in which the control file named “load.ctl” is applied to the command “sqlldr”.
この実施形態では、制御ファイル「load.ctl」の内容は、図10に示すような内容を適用することができる。 In this embodiment, the content as shown in FIG. 10 can be applied to the content of the control file “load.ctl”.
図10の制御ファイルは、供給されたデータ(CSV形式の移行元データファイルF1のデータ)を表A2にセットアップする内容となっている。 The control file of FIG. 10 has the contents of setting up the supplied data (data of the migration source data file F1 in CSV format) in the table A2.
図10の制御ファイル「load.ctl」では、ラインL301で、移行後のデータベースとして表A2を指定している。また、図10の制御ファイル「load.ctl」では、ラインL302で読込データ(移行元データファイルF1のデータ)における各カラムがカンマ(,)で区切られた形式(CSV形式)であることを指定している。さらに、図10の制御ファイル「load.ctl」では、ラインL303で、移行後の表A2に、カラムC1〜C3(移行元データファイルF1のカラム)に加え、順序番号カラムC4を設定し、順序番号カラムC4にSEQUENCE(COUNT)を設定している。これにより、sqlldrコマンドでは、移行元のデータ(移行元データファイルF1)を先頭行から読み込んだ順に、順序番号カラムC4(1,2,3、…)を付与(処理順序に相当するシーケンス番号を付与)して、移行先の表A2に反映することができる。 In the control file “load.ctl” in FIG. 10, the line L301 specifies the table A2 as the database after migration. In the control file "load.ctl" of FIG. 10, the line L302 specifies that each column in the read data (data of the migration source data file F1) is in a format (CSV format) separated by commas (,). doing. Further, in the control file “load.ctl” of FIG. 10, in line L303, in addition to the columns C1 to C3 (columns of the migration source data file F1), the sequence number column C4 is set in the table A2 after migration, SEQUENCE (COUNT) is set in the number column C4. As a result, in the sqlldr command, the sequence number column C4 (1, 2, 3,...) Is added in the order in which the data of the migration source (migration source data file F1) is read from the first row (sequence numbers corresponding to the processing sequence are assigned. (Granted) and reflected in the table A2 of the transfer destination.
移行先DBサーバ20にセットアップされる表A2には、順序番号カラムC4が定義されているが、これは、移行元データファイルF1(移行元のデータベースの表A)には無いカラムである。
A sequence number column C4 is defined in the table A2 set up in the migration
これにより、移行先DBサーバ20の表A2では、この順序番号カラムC4を、検索や読み出しのソートキー(ソート条件)として利用することができる。例えば、移行先DBサーバ20では、SELECT文等で、表A2の読み出しを行う際に、SQLの「ORDER BY」句を用いることで、データ検索の出力順序を指定することができる。例えば、図11に示すように、表A2をSELECT文で読み出す際に、「ORDER BY カラムC4」と記述することにより、順序番号カラムC4をソートキー(ソート条件)とした読み出しを行うことができる。
As a result, in the table A2 of the migration
次に、ステップS103で、移行先DBサーバ20のデータ出力処理部233が行う処理の具体例について説明する。
Next, a specific example of the processing performed by the data
データベース制御部23(データ出力処理部233)が、表A2のデータを読込んで、移行先データファイルF2を出力する処理は、例えば、図12に示すようなシェルスクリプトで実現できる。 The process in which the database control unit 23 (data output processing unit 233) reads the data in the table A2 and outputs the migration destination data file F2 can be realized by a shell script as shown in FIG. 12, for example.
図12のシェルスクリプトでは、ORACLEデータベース上のコマンド「sqlplus」に、「get_after_data.sql」というファイル名のSQLファイルを適用することを示している。 The shell script shown in FIG. 12 indicates that the SQL file having the file name “get_after_data.sql” is applied to the command “sqplus” on the ORACLE database.
図12のシェルスクリプトでは、「get_after_data.sql」は、表A2からデータを抽出するためのSQL文が記述されたSQLファイルである。表A2からデータを抽出するためのSQL文は、単純には、図11に示すようなSELECT文で構成することができる。そして、上述の図12のシェルスクリプトに適用するSQLファイル(get_after_data.sql)の内容は、例えば、図13の内容としてもよい。 In the shell script of FIG. 12, “get_after_data.sql” is an SQL file in which an SQL statement for extracting data from the table A2 is described. The SQL statement for extracting the data from the table A2 can be simply composed of the SELECT statement as shown in FIG. The content of the SQL file (get_after_data.sql) applied to the shell script of FIG. 12 described above may be the content of FIG. 13, for example.
図13に示すSQLファイルのラインL401には、検索結果のメッセージを抑止する指定について記述されている。また、図13に示すSQLファイルのラインL402には、検索結果の行間のラベル表示を抑止する指定について記述されている。さらに、図13に示すSQLファイルのラインL403には、移行先データファイルF2(data2.txt)への出力を開始する処理が記述されている。さらにまた、図13に示すSQLファイルのラインL404には、表A2のカラムC1〜C3のデータをカラムC4でソートされた順序で出力(移行先データファイルF2に出力)する処理(SELECT文)について記述されている。図13に示すSQLファイルのラインL405には、移行先データファイルF2(data2.txt)への出力を終了する処理が記述されている。 The line L401 of the SQL file shown in FIG. 13 describes the designation of suppressing the message of the search result. Line L402 of the SQL file shown in FIG. 13 describes the designation of suppressing the label display between the search result lines. Further, a line L403 of the SQL file shown in FIG. 13 describes a process of starting output to the migration destination data file F2 (data2.txt). Furthermore, regarding the line L404 of the SQL file shown in FIG. 13, regarding the processing (SELECT statement) of outputting the data of the columns C1 to C3 of the table A2 in the order sorted by the column C4 (outputting to the migration destination data file F2). is described. Line L405 of the SQL file shown in FIG. 13 describes a process of ending the output to the migration destination data file F2 (data2.txt).
データベース制御部23(データ出力処理部233)が、図12に示すSQLファイル(get_after_data.sql)を、図12のシェルスクリプトに組み込んで実行した場合、移行先データファイルF2(data2.txt)の内容は、図3に示す内容となる。図3に示す移行先データファイルF2(data2.txt)では、各カラム間がスペースで区切られている。 When the database control unit 23 (data output processing unit 233) incorporates the SQL file (get_after_data.sql) shown in FIG. 12 into the shell script of FIG. 12 and executes it, the contents of the migration destination data file F2 (data2.txt) Has the content shown in FIG. In the migration destination data file F2 (data2.txt) shown in FIG. 3, each column is separated by a space.
移行先データファイルF2(data2.txt)において、各カラムの間をカンマ(,)で区切るように記述する場合(移行先データファイルF2をCSVファイルとした場合)、SQLファイル(get_after_data.sql)の内容は図14のような内容となる。図14では、ラインL404がL404Aに置き換わっていること以外は、上述の図13と同様の内容について示している。図14のラインL404Aでは、各カラムの間にカンマ(,)が入るようにSELECT文が記述されている。 In the migration destination data file F2 (data2.txt), when description is made so that each column is separated by a comma (,) (when the migration destination data file F2 is a CSV file), the SQL file (get_after_data.sql) is The contents are as shown in FIG. FIG. 14 shows the same contents as in FIG. 13 described above except that the line L404 is replaced with L404A. In line L404A of FIG. 14, the SELECT statement is described such that a comma (,) is inserted between each column.
そして、データベース制御部23(データ出力処理部233)が、図14に示すSQLファイル(get_after_data.sql)を、図12のシェルスクリプトに組み込んで実行した場合、移行先データファイルF2(data2.txt)の内容は、図15に示す内容となる。図15では、各カラム間がカンマ(,)で区切られた形式(CSV形式)となっている。 When the database control unit 23 (data output processing unit 233) incorporates the SQL file (get_after_data.sql) shown in FIG. 14 into the shell script shown in FIG. 12 and executes the migration destination data file F2 (data2.txt). The contents of are as shown in FIG. In FIG. 15, columns are separated by commas (,) (CSV format).
図3、図8、図15に示すように、移行元の表A1と移行先の表A2が実際に同一のデータの集合で構成されている場合、移行元DBサーバ10におけるデータ出力結果(移行元データファイルF1)と、移行先DBサーバ20におけるデータ出力結果(移行先データファイルF2)の内容は、全く同一の内容となることがわかる。
As shown in FIGS. 3, 8, and 15, when the migration source table A1 and the migration destination table A2 are actually composed of the same data set, the data output result in the migration source DB server 10 (migration It can be seen that the content of the original data file F1) and the data output result (migration destination data file F2) in the migration
次に、ステップS104で、移行先DBサーバ20のデータ比較処理部234が行う処理の具体例について説明する。
Next, a specific example of the processing performed by the data
データベース制御部23(データ比較処理部234)は、移行元データファイルF1と移行先データファイルF2の比較処理(差分の有無を抽出する処理)を行う。データ比較処理部234が行う比較処理としては、種々のファイル比較処理を適用することができる。この実施形態では、データ比較処理部234は、UNIX(Linux)上のdiffコマンドを用いて、移行元データファイルF1と移行先データファイルF2の比較処理(テキストデータとしての比較処理)を行う。
The database control unit 23 (data comparison processing unit 234) performs a comparison process (a process of extracting the difference) between the migration source data file F1 and the migration destination data file F2. As the comparison processing performed by the data
例えば、データ比較処理部234は、図16に示すようなシェルスクリプトにより、移行元データファイルF1(data1.txt)と移行先データファイルF2(data2.txt)の比較処理を行うようにしてもよい。例えば、図16に示すシェルスクリプトでは、diffコマンド(UNIX上のコマンド)により、移行元データファイルF1と移行先データファイルF2との差分の抽出を試み、差分があった場合には、その差分の内容が、所定の出力先のテキストデータファイル(result.txt)に出力される内容となっている。図16に示すシェルスクリプトでは、移行元データファイルF1と移行先データファイルF2に差分が無かった場合(同一だった場合)には出力先のテキストデータファイル(result.txt)にデータ(差分)が出力されない(データ量が増加しない)結果となり、移行元データファイルF1と移行先データファイルF2に差分が有った場合には出力先のテキストデータファイル(result.txt)にデータ(差分)が記録される(データ量が増加する)ことになる。ユーザや他のプロセスは、result.txtの発生の有無や容量の変動を監視することにより、移行元データファイルF1と移行先データファイルF2の比較結果(コンペア処理の結果)を認識することができる。
For example, the data
また、ステップS104では、diffコマンドにより、移行元データファイルF1と移行先データファイルF2との差分を抽出する前処理として、移行元データファイルF1又は移行先データファイルF2の一方について、他方のファイルと文字コードを統一する処理を行うことがのぞましい。例えば、移行元データファイルF1と移行先データファイルF2とで文字コード(特に全角文字の文字コード)の形式が異なる場合には、移行元データファイルF1の文字コードを移行先データファイルF2と同様の形式に変換してからdiffコマンドを適用するようにしてもよい。 In step S104, as a pre-process for extracting the difference between the migration source data file F1 and the migration destination data file F2 by the diff command, one of the migration source data file F1 and the migration destination data file F2 is replaced with the other file. It is desirable to perform processing that unifies the character codes. For example, if the source data file F1 and the destination data file F2 have different character code (especially double-byte character code) formats, the character code of the source data file F1 is the same as that of the destination data file F2. You may make it apply a diff command after converting into a format.
次に、ステップS105で、移行先DBサーバ20のカラム削除処理部235が行う処理の具体例について説明する。
Next, a specific example of the processing performed by the column
移行先DBサーバ20の表A2では、移行対象でない順序番号カラムC4が定義されているが、データのコンペア処理まで実施し、データの信頼性が確認できれば、順序番号カラムC4が不要のカラムとなる。そこで、移行先DBサーバ20のカラム削除処理部235は、データ比較処理部234の終了(同一性が確認された後)、図17に示すようなSQL文の処理実行(例えば、ORACLEデータベースにより当該SQL文を含むSQLファイルを実行する処理)を行うことで、表A2から順序番号カラムC4を削除させる処理を行う。これにより、移行前の表A1と、移行先の表A2は完全に一致(データベースとして一致)することになる。
In the table A2 of the migration
(A−3)実施形態の効果
この実施形態によれば、以下のような効果を奏することができる。
(A-3) Effects of the Embodiment According to this embodiment, the following effects can be achieved.
この実施形態では、データセットアップ制御部232が、移行元データファイルF1に基づき、移行先DBサーバ20の表A2をセットアップする際、順序番号カラムC4(移行元データファイルF1から読込んだ順序番号)を付与している。また、データ出力処理部233が、移行先の表2Aからデータを読出しする際、順序番号カラムC4を抽出ソート条件として、データを読出して移行先データファイルF2を出力する。これにより、データ比較処理部234では、移行元データファイルと移行先データファイルとがテキストデータとして同一(差分がない状態)であれば、移行元DBサーバ10のデータベース(移行元のデータベース)と、移行先DBサーバ20のデータベース(移行先のデータベース)とで全件のデータ(レコード)が同一の内容であると判断できる。また、移行元データファイルF1と移行先データファイルF2とは単なるテキストデータであるため、データ比較処理部234ではdiffコマンドでこの2つのファイルを比較するだけで、簡単、且つ、高速にコンペア処理を実施し、データベースを移行する際の信頼性(表A1と表A2とがデータベースとして同一であることの信頼性)を確保することができる。diffコマンドでテキストデータの比較を行うだけであれば、データ量が大きい場合でも高速に処理(表のデータを1件ずつ検索して全てのカラムについて比較する処理と比較して高速に処理)することができる。
In this embodiment, when the data
例えば図3では、表A1には、データD11、D12、D13の順に登録されている。しいて、表A2では、データD11に対応するデータD21、データD13に対応するデータD23、データD12に対応するD22の順で登録している。表A2から単純にSELECT文で表A2のデータを読み出して移行先データファイルF2を生成する場合、移行先データファイルF2にはデータD21、D23、D22の順序で出力されることになる。しかしながら、データ出力処理部233では、表A2から順序番号カラムC4でソートした順序で読みだすため、図3に示すように移行先データファイルF2にはデータD21、D22、D23の順序(移行元データファイルF1と同じ順序)でデータの出力が行われることになる。
For example, in FIG. 3, data D11, D12, and D13 are registered in this order in the table A1. Therefore, in Table A2, data D21 corresponding to the data D11, data D23 corresponding to the data D13, and D22 corresponding to the data D12 are registered in this order. When the data of the table A2 is simply read from the table A2 by the SELECT statement to generate the migration destination data file F2, the data D21, D23, and D22 are output to the migration destination data file F2 in this order. However, since the data
(B)他の実施形態
本発明は、上記の実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
(B) Other Embodiments The present invention is not limited to the above-described embodiments, but may include modified embodiments as exemplified below.
(B−1)上記の実施形態では、移行先DBサーバ20に表A2をセットアップし、コンペア処理後に順序番号カラムC4を削除する例について説明したが、移行先DBサーバ20の表A2をコンペア処理専用として利用し、コンペア処理後に表A2全部を削除又は表A2を放置するようにしてもよい。
(B-1) In the above embodiment, the example in which the table A2 is set up in the migration
(B−2)上記の実施形態では、本発明のデータ処理プログラムに、データベース制御部13(データ出力処理部131、データ送信部132)、及びデータセットアップ制御部232(データ受信部231、データセットアップ制御部232、データ出力処理部233、データ比較処理部234、及びカラム削除処理部235)が含まれるものとして説明した。しかし、本発明のデータ処理プログラムは、少なくとも、データ出力処理部131、データセットアップ制御部232、データ出力処理部233、及びデータ比較処理部234を含む構成要素(実体としてはシェルスクリプト群)で実現することが可能である。
(B-2) In the above embodiment, the data processing program of the present invention includes a database control unit 13 (data
また、この実施形態では、データ処理プログラムの構成要素として、データ送信部132とデータ受信部231が配置されているが、移行元データファイルF1をデータセットアップ制御部232及びデータ比較処理部234に引き渡す処理に支障がなければ、データ送信部132とデータ受信部231については削除(実施形態に係るデータ処理プログラムの構成要素から削除)するようにしてもよい。また、この実施形態では、データ処理プログラムの構成要素として、カラム削除処理部235が配置されているが、表A2から順序番号カラムC4を削除する必要がなければ、削除(実施形態に係るデータ処理プログラムの構成要素から削除)するようにしてもよい。
Further, in this embodiment, the
(B−3)上記の実施形態では、移行元DBサーバ10にデータ出力処理部131を配置し、移行先DBサーバ20に、データセットアップ制御部232、データ出力処理部233、データ比較処理部234、及びカラム削除処理部235を配置する構成としているが、これらの構成要素(実体としてはシェルスクリプト)を配置するコンピュータは限定されないものである。例えば、データ出力処理部131、データセットアップ制御部232、データ出力処理部233、データ比較処理部234、及びカラム削除処理部235を全て別の端末(シェルスクリプトが実行可能なPCやワークステーション)に配置して実行するようにしてもよいし、構成要素ごとに異なる端末を適用するようにしてもよい。以上のように、本発明のデータベースシステム、データ処理プログラム、及びデータ処理方法において、コンペア処理の分散処理方式については限定されないものである。
(B-3) In the above embodiment, the data
1…DBシステム、10…DBサーバ、10…移行元DBサーバ、12…データ記憶部、13…データベース制御部、20…移行先DBサーバ、22…データ記憶部、23…データベース制御部、131…データ出力処理部、132…データ送信部、231…データ受信部、232…データセットアップ制御部、233…データ出力処理部、234…データ比較処理部、235…カラム削除処理部、F1…移行元データファイル、F2…移行先データファイル。 1... DB system, 10... DB server, 10... Migration source DB server, 12... Data storage unit, 13... Database control unit, 20... Migration destination DB server, 22... Data storage unit, 23... Database control unit, 131... Data output processing unit, 132... Data transmitting unit, 231,... Data receiving unit, 232... Data setup control unit, 233... Data output processing unit, 234... Data comparison processing unit, 235... Column deletion processing unit, F1... Transfer source data File, F2... Transfer destination data file.
Claims (6)
前記第1の出力データからデータを順次読み出し、読み出した各データに順序を識別する順序識別子を付加したデータを、第2のデータベースに登録するデータ登録手段と、
前記第2のデータベースから、前記第2のデータベースを構成するデータを、順序識別子が示す順序で読み出し、前記第2のデータベースから読み出したデータを読みだした順序で出力した第2の出力データを生成する第2のデータベース出力手段と、
前記第1の出力データと前記第2の出力データとの比較結果に基づいて、前記第1のデータベースと前記第2のデータベースとを比較する処理を行うデータ比較手段と
を有することを特徴とするデータベースシステム。 First database output means for sequentially reading the data forming the first database from the first database and generating first output data in the order in which the data read from the first database is read out. When,
A data registration means for sequentially reading data from the first output data, and registering the read data with a sequence identifier for identifying a sequence in the second database.
The data forming the second database is read from the second database in the order indicated by the order identifier, and the second output data is generated by outputting the data read from the second database in the order of reading. Second database output means for
Data comparison means for performing a process of comparing the first database and the second database based on a comparison result of the first output data and the second output data. Database system.
前記データ比較手段は、前記第1の出力データと前記第2の出力データとのテキストデータとしての同一性を比較する処理を行う
ことを特徴とする請求項1〜3のいずれかに記載のデータベースシステム。 Both the first output data and the second output data are text data,
The database according to any one of claims 1 to 3, wherein the data comparison means performs a process of comparing the sameness of the first output data and the second output data as text data. system.
第1のデータベースから、前記第1のデータベースを構成するデータを順次読み出し、前記第1のデータベースから読み出したデータを読みだした順序で出力した第1の出力データを生成する第1のデータベース出力手段と、
前記第1の出力データからデータを順次読み出し、読み出した各データに順序を識別する順序識別子を付加したデータを、第2のデータベースに登録するデータ登録手段と、
前記第2のデータベースから、前記第2のデータベースを構成するデータを、順序識別子が示す順序で読み出し、前記第2のデータベースから読み出したデータを読みだした順序で出力した第2の出力データを生成する第2のデータベース出力手段と、
前記第1の出力データと前記第2の出力データとの比較結果に基づいて、前記第1のデータベースと前記第2のデータベースとを比較する処理を行うデータ比較手段と
して機能させることを特徴とするデータ処理プログラム。 Computer,
First database output means for sequentially reading the data forming the first database from the first database and generating first output data in the order in which the data read from the first database is read out. When,
A data registration means for sequentially reading data from the first output data, and registering the read data with a sequence identifier for identifying a sequence in the second database.
The data forming the second database is read from the second database in the order indicated by the order identifier, and the second output data is generated by outputting the data read from the second database in the order of reading. Second database output means for
It is made to function as a data comparison means for performing a process of comparing the first database and the second database based on a comparison result of the first output data and the second output data. Data processing program.
第1のデータベース出力手段、データ登録手段、第2のデータベース出力手段、及びデータ比較手段を備え、
前記第1のデータベース出力手段は、第1のデータベースから、前記第1のデータベースを構成するデータを順次読み出し、前記第1のデータベースから読み出したデータを読みだした順序で出力した第1の出力データを生成し、
前記データ登録手段は、前記第1の出力データからデータを順次読み出し、読み出した各データに順序を識別する順序識別子を付加したデータを、第2のデータベースに登録し、
前記第2のデータベース出力手段は、前記第2のデータベースから、前記第2のデータベースを構成するデータを、順序識別子が示す順序で読み出し、前記第2のデータベースから読み出したデータを読みだした順序で出力した第2の出力データを生成し、
前記データ比較手段は、前記第1の出力データと前記第2の出力データとの比較結果に基づいて、前記第1のデータベースと前記第2のデータベースとを比較する処理を行う
ことを特徴とするデータ処理方法。 In the data processing method in the database system,
A first database output means, a data registration means, a second database output means, and a data comparison means,
The first database output means sequentially reads the data constituting the first database from the first database, and outputs the data read from the first database in the order of reading the first output data. Produces
The data registration means sequentially reads the data from the first output data, and registers, in the second database, data obtained by adding an order identifier for identifying the order to each read data.
The second database output means reads the data forming the second database from the second database in the order indicated by the order identifier, and reads the data read from the second database in the order of reading. Generate the output second output data,
The data comparison means performs a process of comparing the first database and the second database based on a comparison result of the first output data and the second output data. Data processing method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016144475A JP6737039B2 (en) | 2016-07-22 | 2016-07-22 | Database system, data processing program, and data processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016144475A JP6737039B2 (en) | 2016-07-22 | 2016-07-22 | Database system, data processing program, and data processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018014036A JP2018014036A (en) | 2018-01-25 |
JP6737039B2 true JP6737039B2 (en) | 2020-08-05 |
Family
ID=61021235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016144475A Active JP6737039B2 (en) | 2016-07-22 | 2016-07-22 | Database system, data processing program, and data processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6737039B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108573042B (en) * | 2018-04-10 | 2022-06-10 | 平安科技(深圳)有限公司 | Report synchronization method, electronic equipment and computer readable storage medium |
US11212514B2 (en) * | 2019-03-25 | 2021-12-28 | Light Field Lab, Inc. | Light field display system for cinemas |
DE112021006204T5 (en) * | 2021-02-03 | 2023-10-12 | Mitsubishi Electric Corporation | Data transfer device, data transfer method and data transfer program |
-
2016
- 2016-07-22 JP JP2016144475A patent/JP6737039B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018014036A (en) | 2018-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11403269B2 (en) | Versioning validation for data transfer between heterogeneous data stores | |
US8065323B2 (en) | Offline validation of data in a database system for foreign key constraints | |
US20140358859A1 (en) | File sharing system and file sharing method | |
US20140297592A1 (en) | Computer-readable medium storing program and version control method | |
US10095699B2 (en) | Computer-readable recording medium, execution control method, and information processing apparatus | |
US20150128150A1 (en) | Data processing method and information processing apparatus | |
JP6737039B2 (en) | Database system, data processing program, and data processing method | |
AU2018290753B2 (en) | Systems and methods of creation and deletion of tenants within a database | |
US20160154851A1 (en) | Computing device, storage medium, and data search method | |
CN112912870A (en) | Tenant identifier conversion | |
US20110107198A1 (en) | Information processing apparatus, storage medium, and information processing method | |
US11030162B2 (en) | Distributed processing management method and distributed processing management apparatus | |
CN111680030A (en) | Data fusion method and device, and data processing method and device based on meta information | |
US20180232353A1 (en) | Non-transitory computer-readable storage medium, record data processing method, and record data processing apparatus | |
US10083121B2 (en) | Storage system and storage method | |
JP6438295B2 (en) | Automatic editing of graph input for hypergraph solvers | |
CN103220355B (en) | Multi-user configuration method in content distributing network | |
CN111400243B (en) | Development management system based on pipeline service and file storage method and device | |
JP6705482B2 (en) | System construction parameter management device, system construction parameter management system, system construction parameter management method, and system construction parameter management program | |
JP2018109898A (en) | Data migration system | |
JP2015153323A (en) | Symbolic execution program, symbolic execution method, and symbolic execution device | |
JP2008171225A (en) | Database automatic migration system | |
KR101733118B1 (en) | Method for avoiding conflict among metadata operation and metadata management system for performing the same | |
JP5517904B2 (en) | Data access processing management / generation system | |
CN112035501B (en) | User identifier updating method, device and equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190515 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200529 |
|
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: 20200616 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200629 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6737039 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |