JP2010218219A - レプリカ表生成装置、レプリカ表生成方法、及びプログラム - Google Patents
レプリカ表生成装置、レプリカ表生成方法、及びプログラム Download PDFInfo
- Publication number
- JP2010218219A JP2010218219A JP2009064348A JP2009064348A JP2010218219A JP 2010218219 A JP2010218219 A JP 2010218219A JP 2009064348 A JP2009064348 A JP 2009064348A JP 2009064348 A JP2009064348 A JP 2009064348A JP 2010218219 A JP2010218219 A JP 2010218219A
- Authority
- JP
- Japan
- Prior art keywords
- replica
- site
- master
- replica table
- ddl
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】レプリカ表の元となるマスタ表のDDLが予め管理されていなくても、レプリカ表を生成し得る、レプリカ表生成装置、レプリカ表生成方法、及びプログラムを提供する。
【解決手段】マスタサイト120のマスタ表124に対応するレプリカ表134をレプリカサイト130に生成する、レプリカ表生成装置110を用いる。レプリカ表生成装置110は、マスタサイト120のデータベースからマスタ表124の定義情報を取得する、情報取得部114と、情報取得部114によって取得された定義情報に基づいて、レプリカサイト130のデータベースにレプリカ表134を生成する、レプリカ表生成部112とを備えている。
【選択図】図1
【解決手段】マスタサイト120のマスタ表124に対応するレプリカ表134をレプリカサイト130に生成する、レプリカ表生成装置110を用いる。レプリカ表生成装置110は、マスタサイト120のデータベースからマスタ表124の定義情報を取得する、情報取得部114と、情報取得部114によって取得された定義情報に基づいて、レプリカサイト130のデータベースにレプリカ表134を生成する、レプリカ表生成部112とを備えている。
【選択図】図1
Description
本発明は、レプリケーションで必要となるレプリカ表を生成可能なレプリカ表生成装置、レプリカ表生成方法、及びプログラムに関する。
近年、サーバ装置での負荷の分散や、ネットワークにおける負荷の軽減を図るため、複数のサイトでのデータの共有を可能とするレプリケーションが注目されている(例えば、特許文献1及び特許文献2参照)。レプリケーションは、あるデータベースと同じ内容のデータベース(レプリカ)を、ネットワーク上に配置し、両者の間でデータの同期を取る仕組みのことである。
また、レプリケーションにおいて、通常、データベースとしては、リレーショナルデータベース(RDB:Relational Data Base)が利用される。この場合、レプリケーション元(以下「マスタサイト」)のRDBのレプリケーション対象表(以下「マスタ表」)と、レプリケーション先(以下「レプリカサイト」)のRDBのレプリケーション対象表(以下「レプリカ表」)との間で、データレコードの同期が取られる。
よって、利用者によるレプリカサイトでの業務のため、アプリケーションによってレプリカ表へのアクセスが行われる。更に、レプリケーションは、マスタサイトとなるRDBと、レプリカサイトとなるRDBとが、互いに異種である場合にも適用でき、この場合は、異種RDB間でのデータの共有が可能となる。
また、RDBを用いたレプリケーションを実現するためには、レプリカサイトのRDB上にデータレコードを格納するためのレプリカ表を事前に生成しておく必要がある。RDB上への表の作成は、データ操作や定義を行うための問い合わせ言語であるSQL(Structured Query Language)のデータ定義言語(DDL:Data Definition Language)を用いて行われる。具体的には、システムの管理者が、レプリカ表を生成するための元となるマスタ表のDDLを修正して、レプリカ表のDDLを作成し、これを用いてレプリカサイトのRDB上にレプリカ表を生成する。
ところで、RDBにおいて、表を生成するための定義情報は、RDBでの管理を容易にするため、DDLそのものではなく、定義情報を格納した表(以下「システム表」)として、ディレクトリファイル上で管理される。このため、レプリカ表を生成するための元となるマスタ表のDDLは、人の手でライブラリ等によって管理されている必要がある。
しかしながら、レプリカ表の元となるマスタ表のDDLの管理を人の手に委ねた場合は、人為的ミスにより、元となるDDLがライブラリ等に残っていない場合がある。この場合は、レプリカ表の作成に、多くの工数が費やされるという問題が発生する。
また、DDLは各リレーショナルデータベースの管理システム(RDBMS:Relation
al Data Base Management System)毎に独自に記述されている場合がある。この場合、異種RDB間でのレプリケーションでは、レプリカ表の元となるDDLが残っていないと、更に多くの工数が費やされてしまい、より大きな問題となる。
al Data Base Management System)毎に独自に記述されている場合がある。この場合、異種RDB間でのレプリケーションでは、レプリカ表の元となるDDLが残っていないと、更に多くの工数が費やされてしまい、より大きな問題となる。
本発明の目的は、上記問題を解消し、レプリカ表の元となるマスタ表のDDLが予め管理されていなくても、レプリカ表を生成し得る、レプリカ表生成装置、レプリカ表生成方法、及びプログラムを提供することにある。
上記目的を達成するため、本発明におけるレプリカ表生成装置は、マスタサイトのマスタ表に対応するレプリカ表をレプリカサイトに生成する、レプリカ表生成装置であって、
前記マスタサイトのデータベースから前記マスタ表の定義情報を取得する、情報取得部と、
前記情報取得部によって取得された前記定義情報に基づいて、前記レプリカサイトのデータベースに前記レプリカ表を生成する、レプリカ表生成部と、
を備えることを特徴とする。
前記マスタサイトのデータベースから前記マスタ表の定義情報を取得する、情報取得部と、
前記情報取得部によって取得された前記定義情報に基づいて、前記レプリカサイトのデータベースに前記レプリカ表を生成する、レプリカ表生成部と、
を備えることを特徴とする。
また、上記目的を達成するため、本発明におけるレプリカ表生成方法は、マスタサイトのマスタ表に対応するレプリカ表をレプリカサイトに生成するためのレプリカ表生成方法であって、
(a)前記マスタサイトのデータベースから前記マスタ表の定義情報を取得する、ステップと、
(b)前記(a)のステップで取得された前記定義情報に基づいて、前記レプリカサイトのデータベースに前記レプリカ表を生成する、ステップと、
を有することを特徴とする。
(a)前記マスタサイトのデータベースから前記マスタ表の定義情報を取得する、ステップと、
(b)前記(a)のステップで取得された前記定義情報に基づいて、前記レプリカサイトのデータベースに前記レプリカ表を生成する、ステップと、
を有することを特徴とする。
更に、上記目的を達成するため、本発明におけるプログラムは、コンピュータによって、マスタサイトのマスタ表に対応するレプリカ表をレプリカサイトに生成するためのプログラムであって、
前記コンピュータに、
(a)前記マスタサイトのデータベースから前記マスタ表の定義情報を取得する、ステップと、
(b)前記(a)のステップで取得された前記定義情報に基づいて、前記レプリカサイトのデータベースに前記レプリカ表を生成する、ステップと、
を実行させることを特徴とする。
前記コンピュータに、
(a)前記マスタサイトのデータベースから前記マスタ表の定義情報を取得する、ステップと、
(b)前記(a)のステップで取得された前記定義情報に基づいて、前記レプリカサイトのデータベースに前記レプリカ表を生成する、ステップと、
を実行させることを特徴とする。
以上の特徴により、本発明における、レプリカ表生成装置、レプリカ表生成方法、及びプログラムによれば、レプリカ表の元となるマスタ表のDDLが予め管理されていなくても、レプリカ表を生成することが可能となる。
(実施の形態1)
以下、本発明の実施の形態1における、レプリカ表生成装置、レプリカ表生成方法、及びプログラムについて、図1〜図4を参照しながら説明する。最初に、本実施の形態1におけるレプリカ表生成装置とそれを用いたレプリケーションシステムとの概略構成を図1に基づいて説明する。図1は、本発明の実施の形態1におけるレプリカ表生成装置の概略構成を示すブロック図である。
以下、本発明の実施の形態1における、レプリカ表生成装置、レプリカ表生成方法、及びプログラムについて、図1〜図4を参照しながら説明する。最初に、本実施の形態1におけるレプリカ表生成装置とそれを用いたレプリケーションシステムとの概略構成を図1に基づいて説明する。図1は、本発明の実施の形態1におけるレプリカ表生成装置の概略構成を示すブロック図である。
図1に示すように、本実施の形態におけるレプリカ表生成装置110は、マスタサイト120及びレプリカサイト130と共にレプリケーションシステムを構成する。そして、レプリカ表生成装置110は、マスタサイト120のマスタ表124に対応するレプリカ表134をレプリカサイト130に生成する。
また、図1に示すように、レプリカ表生成装置110は、情報取得部114と、レプリカ表生成部112とを備えている。情報取得部114は、マスタサイト120のデータベースからマスタ表124の定義情報を取得する。レプリカ表生成部112は、情報取得部114によって取得された定義情報に基づいて、レプリカサイト130のデータベースにレプリカ表134を生成する。
本実施の形態において、マスタサイト120及びレプリカサイト130は、共に、サーバコンピュータによって構築されている。また、マスタサイト120のデータベースは、システム表122を含むマスタディレクトリファイル121と、マスタ表124を含むマスタデータベースファイル123とによって構成されている。マスタ表124の定義情報は、システム表122に含まれている。更に、レプリカサイト130のデータベースは、システム表132を含むレプリカディレクトリファイル131と、レプリカ表134を含むレプリカデータベースファイル133とによって構成されている。
このように、レプリカ表生成装置110は、マスタサイト120のデータベース上のマスタディレクトリファイル121から、マスタ表の定義情報を取得することができる。よって、レプリカ表生成装置110によれば、レプリカ表の元となるマスタ表のDDLがライブラリ等によって管理されていなくても、工数をかけることなく、自動的にレプリカ表を生成することが可能となる。
ここで、レプリカ表生成装置110の構成について、更に具体的に説明する。本実施の形態1では、レプリカ表生成装置110は、後述するようにコンピュータによって実現することができる。また、本実施の形態1では、マスタサイト120のデータベースと、レプリカサイト130のデータベースとは、共に、リレーショナルデータベース(RDB)であるが、それぞれSQLにおいて独自の記述を持っている。両者のSQLの間には相違点が存在する。
そして、マスタサイト120とレプリカサイト130とのレプリケーションは、異種RDBシステム間のレプリケーションに相当する。また、マスタサイト120のマスタ表124とレプリカサイト130のレプリカ表134とのデータレコードの同期が取られながら、レプリカサイト130の業務でレプリカ表に対してアプリケーション118からアクセスが行われる。
図1に示すように、本実施の形態1では、レプリカ表生成装置110は、情報取得部114及びレプリカ表生成部112に加えて、レプリケーション制御部111と、DDL生成部113と、情報記録部115と、SQL解析部117とを備えている。
本実施の形態1では、情報取得部114は、レプリカ表134の元となるマスタ表124の定義情報を取得するため、マスタディレクトリファイル121に格納されているシステム表122にアクセスする。そして、情報取得部114は、システム表122が管理しているマスタ表124の列情報(図4参照)の中から、対象となるマスタ表124の表名に基づいて、対象となるマスタ表124の列情報をSQLによって検索する。本実施の形態1では、このとき検索されたマスタ表124の列情報が定義情報となる。
更に、情報取得部114は、DDL生成部113の一部を構成している。DDL生成部113は、情報取得部114が取得した定義情報を用いて、レプリカ表134を生成するためのDDL113aを生成する。また、上述したように、マスタサイト120とレプリカサイト130とがSQLにおいて異なっているため、DDL生成部113は、定義情報に加えて、SQLの相違点も用いて、DDL113aを生成する。
具体的には、本実施の形態1では、情報記録部115が、マスタサイト120のSQLの独自の記述と、レプリカサイト130のSQLの独自の記述とを特定する情報(DBMS−SQL情報)を記録している。そして、DDL生成部113は、レプリカサイト130におけるRDBシステムの独自の記述を情報記録部115から読み出し、目的のDBMS−SQL情報を取得する。その後、DDL生成部113は、定義情報として取得されたマスタ表124の列情報と、DBMS−SQL情報とを用いて、レプリカ表134を生成するためのDDL113aを生成する。
よって、本実施の形態では、情報記録部115により、異種RDBシステム間のレプリケーションにおいても、レプリカ表134の元となるDDL113aをライブラリなどに管理する必要がなく、又管理していなくても多くの工数が費やされることもない。そして、この場合も、レプリケーションを初めて開始する際に自動でレプリカ表が生成される。
また、DDL生成部113は、レプリカ表134に対する、予定されたSQLによる操作に基づき、DDL113aの最適化を行うこともできる。具体的には、図1に示すように、外部のクライアントコンピュータ119において、レプリカ表134に対してSQLによる操作を行うアプリケーション118が実行される予定であるとする。この場合、SQL解析部117は、DLL113aによって生成されるレプリカ表134について、アプリケーション118からの予定される操作を解析し、解析結果をDDL生成部113に入力する。DDL生成部113は、SQL解析部117によって解析された結果を用いて、レプリカサイト130の業務に適したレプリカ表134が生成されるように、DDL113aに修正を加え、最適化を実行する。
また、本実施の形態1では、レプリカ表生成部112は、レプリカ表134がレプリカサイト130のデータベースシステム上に存在しているかどうかを判定し、存在してない場合に、レプリカ表134の生成を行っている。具体的には、レプリカ表生成部112は、レプリカディレクトリファイル131にアクセスし、そこに存在する表の表名を管理しているシステム表132に対して、レプリカ表134の表名を元にSQLによって検索を実行する。
レプリカ表生成部112は、検索の結果、求める表名が見つからなかった場合は、レプリカ表134が存在していないと判定する。また、レプリカ表生成部112は、判定の結
果を、レプリケーション制御部111に通知する。そして、レプリカ表生成部112は、存在していない場合に、DDL生成部113が作成したレプリカ表134に対するDDL113aを用いて、レプリカサイト130のデータベースシステム上にレプリカ表134を生成する。
果を、レプリケーション制御部111に通知する。そして、レプリカ表生成部112は、存在していない場合に、DDL生成部113が作成したレプリカ表134に対するDDL113aを用いて、レプリカサイト130のデータベースシステム上にレプリカ表134を生成する。
レプリケーション制御部111は、レプリケーションの制御を行い、マスタ表124とレプリカ表134とに対し、逐次または特定の時間間隔でデータレコードの同期を実行する。また、レプリケーション制御部111は、レプリケーションを初めて開始する際において、レプリカ表生成部112からの通知に基づき、レプリケーション対象のレプリカ表134がレプリカサイト130のデータベースシステム上に存在するか確認する。
そして、確認の結果、レプリカ表134が存在しない場合に、レプリケーション制御部111は、DDL生成部113に対して、DDL113aの生成を指示する。上述したDDL生成部113によるDDL113aの生成は、このように、レプリケーション制御部111の指示によって開始される。
また、図1に示すように、レプリカ表生成装置110には、DBMS−SQL情報を情報記録部115に入力するため、情報入力装置116が接続されている。情報入力装置116から、DBMS−SQL情報として、マスタサイト120及びレプリカサイト130それぞれのRDBシステムの独自の記述が情報記録部115に入力されると、情報記録部115は入力された記述を記録する。
なお、情報入力装置116の具体例としては、キーボード等の入力機器や、記録媒体に記憶された情報を読取可能な各種読取装置、ネットワーク等を介して接続された別のコンピュータ等が挙げられる。
次に、本発明の実施の形態1におけるレプリカ表生成装置110の動作について図2〜図5を用いて説明する。図2は、本発明の実施の形態1におけるレプリカ表生成装置の動作を示すフロー図である。図3は、本発明の実施の形態1においてレプリカサイトに格納されているシステム表の一例を示す図である。図4は、本発明の実施の形態1においてマスタサイトに格納されているシステム表の一例を示す図である。図5は、本発明の実施の形態1で生成されたDDLの一例を示す図である。
また、本実施の形態1におけるレプリカ表生成方法は、本実施の形態1におけるレプリカ表生成装置110を動作させることによって実行することができる。よって、本実施の形態1におけるレプリカ表生成方法の説明は、以下のレプリカ表生成装置110の動作の説明に代える。なお、以下の説明においては、適宜図1を参酌する。
図2に示すように、先ずに、レプリケーション制御部111が、レプリケーション開始の指示を受ける(ステップS401)。本実施の形態1では、例えば、マスタ表124に含まれる表名T01の表と、レプリカ表134に含まれる(又は含まれる予定)の表名T11の表との間でのレプリケーションの開始が指示される。
具体的には、レプリケーション制御部111は、上記のレプリケーションを初めて開始する際、レプリカ表生成部112に、対象となるレプリカ表134の名称(表名T11)と、レプリカサイト130のデータベースシステム上での、対象となるレプリカ表(以下「レプリカ表(T11)」とする。)の存在の確認を求める命令とを渡す。
次に、レプリカ表生成部112は、レプリケーション制御部111から、対象となるレプリカ表134の名称(表名T11)と、レプリカ表(T11)の存在の確認命令とを受
け取る。そして、レプリカ表生成部112は、レプリカ表(T11)がレプリカサイト130のデータベース上に存在しているかどうかを確認する(ステップS402)。
け取る。そして、レプリカ表生成部112は、レプリカ表(T11)がレプリカサイト130のデータベース上に存在しているかどうかを確認する(ステップS402)。
具体的には、レプリカ表生成部112は、レプリカディレクトリファイル131にアクセスし、そこに構築されたシステム表132(図3参照)に対して、レプリカ表134の表名T11を元に、SQLによる検索を実行し、判断を行う。システム表132は、図3に示すように、レプリカディレクトリファイル131に存在する表の表名を管理している。また、この場合、例えば、SQLとしては、データベースシステムで一般的に使用される検索のSQL(SELECT文)が用いられる。また、図3の例では、対象となるレプリカ表134(T11)は存在していないことになる。
また、ステップS402の判定が終了すると、レプリカ表生成部112は、レプリカ表(T11)がレプリカサイト130のデータベースシステム上に存在するか存在しないかの結果と、レプリカ表134の名称(表名T11)とを、レプリケーション制御部111に渡す。
ステップS402の判定の結果、レプリカ表(T11)が存在する場合は、レプリケーション制御部111は、レプリケーションを開始する(ステップS409)。ステップS409では、レプリケーション制御部111は、マスタ表124(T01)とレプリカ表134(T11)とに対して、逐次または特定の時間間隔でそれぞれのデータレコードを同期させる。
一方、ステップS402の判定の結果、レプリカ表(T11)が存在しない場合は、レプリケーション制御部111は、DDL生成部113に、レプリカ表(T11)のDDL113aを生成する命令と、対象となるマスタ表124の表名T01及びレプリカ表134の表名T11とを渡す。これにより、ステップS403が実行される。
ステップS403においては、DDL生成部113は、レプリケーション制御部111から、DDL113aの生成命令と、表名T01及びレプリカ表134の表名T11とを受け取ると、情報取得部114によって、レプリカ表(T11)の元となるマスタ表124のT01の定義情報を取得する。具体的には、情報取得部114は、図4に示すシステム表122にアクセスする。システム表122は、マスタディレクトリファイル121に格納されている。そして、情報取得部114は、システム表122が管理しているマスタ表124の列情報(図4参照)の中から、表名T01の列情報をSQLによって検索する。
また、ステップS403では、検索の際、SQLとしては、データベースシステムで一般的に使用される検索のSQL(SELECT文)を用いることができる。図4に示されたシステム表の場合、マスタ表124のT01は、列名C01−01、列名C01−02、列名C01−03の3列から構成されている。
次に、DDL生成部113は、ステップS403によってレプリカ表(T11)の元となるマスタ表124のT01の定義情報を取得すると、レプリカサイト130のRDBにおける独自の記述(DBMS−SQL情報)を情報記録部115から取得する(ステップS404)。
次に、DDL生成部113は、ステップS403で取得したマスタ表(T01)の定義情報(列名C01−01、C01−02、C01−03)と、ステップS404で取得したDBMS−SQL情報とを用いて、レプリカ表134(T11)を生成するためのDDL113aを作成する(ステップS405)。
具体的には、ステップS405では、DDL生成部113は、図5に示すように、データベースシステムで一般的に使用されるSQL(例えば、CREATE文)によって、DDL113aを生成する。続いて、DDL生成部113は、ステップS405が終了すると、SQL解析部117に対して、レプリカ表134(T11)にアクセスするアプリケーション118の解析命令と、レプリカ表134の表名T11とを渡す。
次に、SQL解析部117は、DDL生成部113からアプリケーション118の解析命令とレプリカ表134の表名T11とを受け取ると、アプリケーション118の解析を実行する(ステップS406)。具体的には、SQL解析部117は、レプリカ表134(T11)へのアクセスが予定されるアプリケーション118について、予定されるSQLによる操作を解析する。
例えば、SQL解析部117は、レプリカ表134(T11)へのアクセスが予定されるアプリケーションのSQLを抽出し、抽出したSQLについて、検索系が多いのか、又は更新系が多いのかを判定する。また、SQL解析部117は、レプリカ表134(T11)へのアクセスが予定されるアプリケーションにおいて使用される条件が多い列はどれであるかを判定する。そして、SQL解析部117は、これらの判定結果を、レプリカ表134(T11)に対して予定される解析結果として、DDL生成部113に出力する。
次に、DDL生成部113は、SQL解析部117からの解析結果を用いて、ステップS405で作成されたDDL113aを、レプリカサイト130のレプリカ表134(T11)をアクセスする業務に適合するように修正する(ステップS407)。
例えば、ステップS406において、レプリカ表(T11)へのアクセスが予定されるアプリケーション118において、検索系の業務が多いと判断されたとする。この場合、DDL生成部113は、特定の列が検索された場合は、レプリカ表134(T11)の該当列にインデックスが付加されるように、DDL113aを修正することができる。それによって、該当検索系の業務処理は、インデックスの使用によって高速化される。
ステップS407が終了すると、DDL生成部113は、レプリケーション制御部111に対して、レプリカ表(T11)のDDL113aを生成した旨を通知し、更に、レプリカ表134の表名T11を渡す。そして、レプリケーション制御部111は、これにより、レプリカ表生成部112に、レプリカサイト130のデータベースシステム上へのレプリカ表(T11)の生成命令と、レプリカ表134の表名T11とを渡す。
次に、レプリカ表生成部112は、レプリケーション制御部111からレプリカ表(T11)の生成命令を受け取ると、DDL113aを用いて、レプリカサイト130のデータベースシステム上にレプリカ表(T11)を生成する。(ステップS408)。この後、レプリカ表生成部112は、レプリケーション制御部111に、レプリカ表(T11)を生成した旨を通知し、更に、レプリカ表134の表名T11を渡す。
次に、レプリケーション制御部111は、レプリカ表生成部112からレプリカ表134(T11)の生成の通知を受け取ると、レプリカ表(T11)がレプリカサイト130のデータベースシステム上に存在するので、レプリケーションを開始する(ステップS409)。
以上のステップS401〜S409により、レプリケーションが開始されると、レプリケーション制御部111は、マスタ表(T01)とレプリカ表(T11)とに対して、逐次または特定の時間間隔でそれぞれのデータレコードの同期を取る。
また、本実施の形態におけるプログラムは、コンピュータに、図2に示すステップS401〜S409を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールして実行すれば、本実施の形態におけるレプリカ表生成装置110及びレプリカ表生成方法を実現できる。
この場合、コンピュータのCPU(central processing unit)は、レプリケーション制御部111、レプリカ表生成部112、DDL生成部113(情報取得部114)、及びSQL解析部117部として機能し、処理を行なう。また、情報記録部115は、コンピュータに備えられたハードディスク等の記憶装置に、これらを構成するデータファイルを格納することによって実現できる。
以上のように、本実施の形態1では、レプリケーションが開始される際に、マスタサイト120のマスタディレクトリファイル121からマスタ表124の定義情報が自動的に取得され、これを用いてレプリカ表を自動的に生成される。よって、マスタ表124のDDLが予めライブラリなどに管理されていなくても良い。また、この場合に、多くの工数がかかることもない。更に、管理者が、一般的なDDLを知らなくても、工数がかかることなく、レプリカサイト130にレプリカ表134が生成される。
また、本実施の形態1では、各RDBシステムの独自の記述が記録されており、これらの記述を用いてDDL113aが生成される。よって、本実施の形態1は、異種RDBシステム間のレプリケーションシステムにも適用でき、その際、管理者が、それぞれのRDBシステムの独自の記述を知らなくても、工数がかかることなく、レプリカサイト130にレプリカ表134が自動的に生成される。
更に、本実施の形態1では、レプリカ表にアクセスするアプリケーションによるSQL操作が解析され、解析結果が、レプリカ表134の生成のためのDDLに反映される。よって、本実施の形態1を用いた場合は、自動的に最適なDLLが作成されるので、管理者は、レプリカ表134に対する性能等のチューニングを行う必要がない。
(実施の形態2)
次に本発明の実施の形態2における、レプリカ表生成装置、レプリカ表生成方法、及びプログラムについて、図6及び図7を参照しながら説明する。図6は、本発明の実施の形態2においてマスタサイトに格納されているシステム表の一例を示す図である。図7は、本発明の実施の形態2で生成されたDDLの一例を示す図である。
次に本発明の実施の形態2における、レプリカ表生成装置、レプリカ表生成方法、及びプログラムについて、図6及び図7を参照しながら説明する。図6は、本発明の実施の形態2においてマスタサイトに格納されているシステム表の一例を示す図である。図7は、本発明の実施の形態2で生成されたDDLの一例を示す図である。
本実施の形態2におけるレプリカ表生成装置では、DDL生成部における機能が、実施の形態1において図1に示したレプリカ表生成装置110におけるそれと異なっている。それ以外の点については、本実施の形態2におけるレプリカ表生成装置は、図1に示したレプリカ表生成装置110と同様に構成されている。また、本実施の形態2におけるレプリカ表生成装置の動作も、図2に示したステップに沿って行われている。以下に相違点について説明する。なお、以下においては適宜図1を参照する。
図4及び図5で示したように、実施の形態1においては、情報取得部114(DDL生成部113)は、定義情報を取得する際に、対象となるマスタ表124の列情報全てを取得する。これに対して、本実施の形態2においては、情報取得部114は、対象となるマスタ表の列情報の中から幾つかの列情報のみを選択できる。この場合、定義情報は、選択された列情報によって構成される。
具体的には、本実施の形態2では、図4に示したシステム表と共に、図6に示すシステ
ム表もマスタディレクトリファイルに格納されている。図6に示したシステム表では、各表名の列情報のうち、レプリケーションの対象として選択された列情報のみが管理されている。
ム表もマスタディレクトリファイルに格納されている。図6に示したシステム表では、各表名の列情報のうち、レプリケーションの対象として選択された列情報のみが管理されている。
例えば、図4に示すシステム表では、マスタ表(T01)の列情報としては、列名C01−01、列名C01−02、列名C01−03の3列が管理されている。これに対して、図6に示すシステム表では、マスタ表(T01)のレプリケーションの対象として選択された列情報として、列名C01−01及び列名C01−03の2列のみが管理されている。そして、DDL作成部113は、レプリケーション対象となっている列情報(列名C01−01、C01−03)のみを用いて、図7に示すように、レプリカ表(T11)を生成するためのDDLを生成する。
このように、本実施の形態2では、マスタサイト120のマスタディレクトリファイル121には、レプリケーションの対象となる列情報のみを管理するシステム表122が配置されている。よって、情報取得部114は、対象となるマスタ表の列情報を取得する際に、レプリケーションの対象として選択された列情報のみを取得し、これを定義情報とすることができる。本実施の形態2は、マスタ表の列を選択したレプリカ表に対して有効である。また、本実施の形態2を用いた場合も、実施の形態1で述べた全ての効果を得ることができ、レプリカ表は自動的に生成される。
本発明は、マスタサイトのマスタ表とレプリカサイトのレプリカ表とのデータレコードの同期を取るレプリケーションシステムに有効である。また、本発明は、更に、レプリカサイトの業務でレプリカ表に対してアクセスが行われる異種リレーショナルデータベースシステム間のレプリケーションシステムにも有効である。本発明は、産業上の利用可能性を有するものである。
110 レプリカ表生成装置
111 レプリケーション制御部
112 レプリカ表生成部
113 DDL生成部
113a DDL
114 情報取得部
115 情報記録部
116 情報入力装置
117 SQL解析部
118 アプリケーション
119 クライアントコンピュータ
120 マスタサイト(コンピュータ)
121 マスタディレクトリファイル
122 システム表
123 マスタデータベースファイル
124 マスタ表
130 レプリカサイト(コンピュータ)
131 レプリカディレクトリファイル
132 システム表
133 レプリカデータベースファイル
134 レプリカ表
111 レプリケーション制御部
112 レプリカ表生成部
113 DDL生成部
113a DDL
114 情報取得部
115 情報記録部
116 情報入力装置
117 SQL解析部
118 アプリケーション
119 クライアントコンピュータ
120 マスタサイト(コンピュータ)
121 マスタディレクトリファイル
122 システム表
123 マスタデータベースファイル
124 マスタ表
130 レプリカサイト(コンピュータ)
131 レプリカディレクトリファイル
132 システム表
133 レプリカデータベースファイル
134 レプリカ表
Claims (15)
- マスタサイトのマスタ表に対応するレプリカ表をレプリカサイトに生成する、レプリカ表生成装置であって、
前記マスタサイトのデータベースから前記マスタ表の定義情報を取得する、情報取得部と、
前記情報取得部によって取得された前記定義情報に基づいて、前記レプリカサイトのデータベースに前記レプリカ表を生成する、レプリカ表生成部と、
を備えることを特徴とするレプリカ表生成装置。 - 前記レプリカ表生成部が、前記レプリケーションの開始時に、前記レプリカサイトのデータベースに前記レプリカ表が存在しているかどうかを判定し、存在していない場合に、前記レプリカ表を生成する、請求項1に記載のレプリカ表生成装置
- 前記マスタサイトのデータベースと前記レプリカサイトのデータベースとが、リレーショナルデータベースであり、
前記情報取得部が取得した前記定義情報を用いて、前記レプリカ表を生成するためのDDLを生成するDDL生成部を更に備え、
前記レプリカ表生成部が、前記DDL生成部が生成した前記DDLを用いて、前記レプリカ表を生成する、請求項1または2に記載のレプリカ表生成装置。 - 前記マスタサイト及び前記レプリカサイトそれぞれのSQLが異なっている場合に、
前記DDL生成部が、取得した前記定義情報に加えて、前記マスタサイトのSQLと前記レプリカサイトのSQLとの相違点を用いて、前記レプリカ表を生成するための前記DDLを生成する、請求項3に記載のレプリカ表生成装置。 - 前記レプリカ表に対する、予定されたSQLによる操作を解析するSQL解析部を更に備え、
前記DDL生成部が、生成した前記DDLを、前記SQL解析部による解析の結果に適合させる、請求項4に記載のレプリカ表生成装置。 - マスタサイトのマスタ表に対応するレプリカ表をレプリカサイトに生成するためのレプリカ表生成方法であって、
(a)前記マスタサイトのデータベースから前記マスタ表の定義情報を取得する、ステップと、
(b)前記(a)のステップで取得された前記定義情報に基づいて、前記レプリカサイトのデータベースに前記レプリカ表を生成する、ステップと、
を有することを特徴とするレプリカ表生成方法。 - 前記(b)のステップで、前記レプリケーションの開始時に、前記レプリカサイトのデータベースに前記レプリカ表が存在しているかどうかを判定し、存在している場合に、前記レプリカ表を生成する、請求項6に記載のレプリカ表生成方法。
- 前記マスタサイトのデータベースと前記レプリカサイトのデータベースとが、リレーショナルデータベースであり、
(c)前記(b)のステップの実行前に、前記(a)のステップで取得された前記定義情報を用いて、前記レプリカ表を生成するためのDDLを生成する、ステップを更に有し、
前記(b)のステップで、前記(c)のステップで生成した前記DDLを用いて、前記レプリカ表を生成する、請求項6または7に記載のレプリカ表生成方法。 - 前記マスタサイト及び前記レプリカサイトそれぞれのSQLが異なっている場合に、
前記(c)のステップで、前記(a)のステップで取得された前記定義情報に加えて、前記マスタサイトのSQLと前記レプリカサイトのSQLとの相違点を用いて、前記レプリカ表を生成するための前記DDLを生成する、請求項8に記載のレプリカ表生成方法。 - (d)前記(c)のステップの実行前に、前記レプリカ表に対する、予定されたSQLによる操作を解析する、ステップを更に有し、
前記(c)のステップで、生成した前記DDLを、前記(d)のステップによる解析の結果に適合させる、請求項9に記載のレプリカ表生成方法。 - コンピュータによって、マスタサイトのマスタ表に対応するレプリカ表をレプリカサイトに生成するためのプログラムであって、
前記コンピュータに、
(a)前記マスタサイトのデータベースから前記マスタ表の定義情報を取得する、ステップと、
(b)前記(a)のステップで取得された前記定義情報に基づいて、前記レプリカサイトのデータベースに前記レプリカ表を生成する、ステップと、
を実行させることを特徴とするプログラム。 - 前記(b)のステップで、前記レプリケーションの開始時に、前記レプリカサイトのデータベースに前記レプリカ表が存在しているかどうかを判定し、存在している場合に、前記レプリカ表を生成する、請求項11に記載のプログラム。
- 前記マスタサイトのデータベースと前記レプリカサイトのデータベースとが、リレーショナルデータベースであり、
(c)前記(b)のステップの実行前に、前記(a)のステップで取得された前記定義情報を用いて、前記レプリカ表を生成するためのDDLを生成する、ステップを更に前記コンピュータに実行させ、
前記(b)のステップで、前記(c)のステップで生成した前記DDLを用いて、前記レプリカ表を生成する、請求項11または12に記載のプログラム。 - 前記マスタサイト及び前記レプリカサイトそれぞれのSQLが異なっている場合に、
前記(c)のステップで、前記(a)のステップで取得された前記定義情報に加えて、前記マスタサイトのSQLと前記レプリカサイトのSQLとの相違点を用いて、前記レプリカ表を生成するための前記DDLを生成する、請求項13に記載のプログラム。 - (d)前記(c)のステップの実行前に、前記レプリカ表に対する、予定されたSQLによる操作を解析する、ステップを更に前記コンピュータに実行させ、
前記(c)のステップで、生成した前記DDLを、前記(d)のステップによる解析の結果に適合させる、請求項14に記載のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009064348A JP2010218219A (ja) | 2009-03-17 | 2009-03-17 | レプリカ表生成装置、レプリカ表生成方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009064348A JP2010218219A (ja) | 2009-03-17 | 2009-03-17 | レプリカ表生成装置、レプリカ表生成方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010218219A true JP2010218219A (ja) | 2010-09-30 |
Family
ID=42977003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009064348A Pending JP2010218219A (ja) | 2009-03-17 | 2009-03-17 | レプリカ表生成装置、レプリカ表生成方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010218219A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9424316B2 (en) | 2010-12-24 | 2016-08-23 | International Business Machines Corporation | Controlling mirroring of tables based on access prediction |
JP2021082257A (ja) * | 2019-11-18 | 2021-05-27 | エスアーペー エスエー | ハイブリッドクラウド弾性スケーリングおよび高性能データ仮想化のためのリアルタイムクロスシステムデータベースレプリケーション |
-
2009
- 2009-03-17 JP JP2009064348A patent/JP2010218219A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9424316B2 (en) | 2010-12-24 | 2016-08-23 | International Business Machines Corporation | Controlling mirroring of tables based on access prediction |
US10394819B2 (en) | 2010-12-24 | 2019-08-27 | International Business Machines Corporation | Controlling mirroring of tables based on access prediction |
JP2021082257A (ja) * | 2019-11-18 | 2021-05-27 | エスアーペー エスエー | ハイブリッドクラウド弾性スケーリングおよび高性能データ仮想化のためのリアルタイムクロスシステムデータベースレプリケーション |
JP7263297B2 (ja) | 2019-11-18 | 2023-04-24 | エスアーペー エスエー | ハイブリッドクラウド弾性スケーリングおよび高性能データ仮想化のためのリアルタイムクロスシステムデータベースレプリケーション |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7130600B2 (ja) | ファーストクラスデータベース要素としての半構造データの実装 | |
CN108932282B (zh) | 一种数据库迁移方法、装置和存储介质 | |
US9720992B2 (en) | DML replication with logical log shipping | |
US9251163B2 (en) | File sharing system and file sharing method | |
Vora | Hadoop-HBase for large-scale data | |
Bichsel et al. | A simple algorithm for shape from shading | |
US10534770B2 (en) | Parallelizing SQL on distributed file systems | |
US10885031B2 (en) | Parallelizing SQL user defined transformation functions | |
CN103617176A (zh) | 一种实现多源异构数据资源自动同步的方法 | |
EP3499388B1 (en) | Method and device for processing join query | |
US10296542B2 (en) | Integration database framework | |
JP5375972B2 (ja) | 分散ファイルシステム、そのデータ選択方法およびプログラム | |
GB2534373A (en) | Distributed system with accelerator and catalog | |
US20170270149A1 (en) | Database systems with re-ordered replicas and methods of accessing and backing up databases | |
JP5106062B2 (ja) | ファイル検索方法、ファイル検索装置、検索システム、及び、ファイル検索プログラム | |
JP2006172067A (ja) | データベース管理方法、システム及びプログラム | |
Yang | From Google file system to omega: a decade of advancement in big data management at Google | |
JP2010218219A (ja) | レプリカ表生成装置、レプリカ表生成方法、及びプログラム | |
US10803030B2 (en) | Asynchronous SQL execution tool for zero downtime and migration to HANA | |
JP4947407B2 (ja) | 高効率キャッシュシステム、高効率キャッシュ格納方法、及び高効率キャッシュ操作プログラム | |
CA3162146A1 (en) | Duplicate file management for content management systems and for migration to such systems | |
US11016946B1 (en) | Method and apparatus for processing object metadata | |
Jayakar et al. | Managing small size files through indexing in extended Hadoop file system | |
US20230281009A1 (en) | Managing artifact information including finding a searched artifact information item | |
JP2015045995A (ja) | 仮想データベースシステム管理装置、管理方法及び管理プログラム |