JPWO2004031957A1 - データベース複製方法、データベース複製装置、データベース創成方法およびデータベース創成装置 - Google Patents
データベース複製方法、データベース複製装置、データベース創成方法およびデータベース創成装置 Download PDFInfo
- Publication number
- JPWO2004031957A1 JPWO2004031957A1 JP2004541182A JP2004541182A JPWO2004031957A1 JP WO2004031957 A1 JPWO2004031957 A1 JP WO2004031957A1 JP 2004541182 A JP2004541182 A JP 2004541182A JP 2004541182 A JP2004541182 A JP 2004541182A JP WO2004031957 A1 JPWO2004031957 A1 JP WO2004031957A1
- Authority
- JP
- Japan
- Prior art keywords
- data
- database
- update
- extracted
- replication
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
データベース(2)の内容をデータベース(5)に複製する場合、抽出処理部(15)がデータ(21〜23)を順次抽出し、データベース創成装置(4)に送信する。抽出処理部(15)は、抽出を実行中のデータに対してのみ選択的に処理排他を獲得し、抽出済データおよび未抽出データに対する更新を許可する。ログ監視部(13)は、抽出済データに対する更新を監視し、更新があった場合、更新ログを作成してログ記憶部(16)に記憶する。修正処理部(14)は、更新ログをもとに修正要求を発行し、データベース(4)に送信する。データベース創成装置(4)は、抽出データをもとにデータベース(5)にデータ(51)およびデータ(52)を形成し、さらに修正要求にしたがってデータの同期をとる。
Description
この発明は、データベースに記憶されたデータ群を抽出してデータベースを複製するデータベース複製方法およびデータベース複製装置、また、抽出されたデータをもとにデータベースを創成するデータベース創成方法およびデータベース創成装置に関し、特に、データベースに対する処理排他を短縮し、データベースの複製とデータベースの更新とを同時に実行可能なデータベース複製方法およびデータベース複製装置に関する。
従来、データの共有化、統合管理、高い独立性を目的として、データをあらかじめ定義した形で集中して管理するデータベースが利用されてきた。一般に、データベースはネットワークなどを介して複数の端末に接続され、各端末が利用するデータを一元管理している。したがって各端末がデータベースに記憶した所望のデータの読み出しおよび書き込みをおこなうことで、複数の端末でデータの共有が実現できる。
このように、データベースを複数の端末で共有する場合、データベースが記憶したデータの二重更新を避けるため、排他制御をおこなう必要がある。排他制御は、データ管理において、複数の端末が同時に同じデータにアクセスできないようにする制御である。すなわち、データベースが記憶するデータに対してある端末がアクセスしている場合、アクセス終了までそのデータに対する他の端末からのアクセスを許可せずに待機させることにより、データが同時に更新されることを防止する。所定のデータに対して他のアクセスを許可しない状態にすることを、データに対して処理排他を獲得する、と言う。
近年、データベースの大容量化やネットワークの高速化によってデータベースの利用価値が上昇し、これにともなってデータベースのバックアップが重要視されている。データベースのバックアップとしてはデータベース全体を複製することが望ましい。しかし、データベース全体の複製などのように、データベースが記憶したデータを大量に読み出す場合、読み出すデータの量に応じて必要な時間が増大する。ここで、複製などの目的でデータベースからデータを読み出す操作をデータの抽出と言う。このようにデータの抽出に時間がかかる場合、データベースの複製開始からデータベースの複製終了までの間にデータベースの内容に変更が生じる可能性がある。
データベースの複製中におけるデータの更新を無制限に許可すると、複製元のデータベースと複製先のデータベースとに不整合が生じる。従来、この複製元のデータベースと複製先のデータベースとの不整合を避けるため、データベースの複製を実行している間、複製元のすべてのデータに対して処理排他を獲得していた。すなわち、従来のデータベース複製方法では、データベースの複製の間、複製元のデータベースの更新を停止する必要があるという問題点があった。
しかしながら、近年、データベースの規模の増大によって複製に必要な時間が増加する一方、データベースの利用価値の増加にともなってデータベースの利用時間が増加し、24時間無停止のデータベースが求められている。
この発明は、上述した従来技術による問題点を解消するためになされたものであり、データベースに対する処理排他を短縮し、データベースの複製とデータベースの更新とを同時に実行可能なデータベース複製方法およびデータベース複製装置を提供することを目的とする。
このように、データベースを複数の端末で共有する場合、データベースが記憶したデータの二重更新を避けるため、排他制御をおこなう必要がある。排他制御は、データ管理において、複数の端末が同時に同じデータにアクセスできないようにする制御である。すなわち、データベースが記憶するデータに対してある端末がアクセスしている場合、アクセス終了までそのデータに対する他の端末からのアクセスを許可せずに待機させることにより、データが同時に更新されることを防止する。所定のデータに対して他のアクセスを許可しない状態にすることを、データに対して処理排他を獲得する、と言う。
近年、データベースの大容量化やネットワークの高速化によってデータベースの利用価値が上昇し、これにともなってデータベースのバックアップが重要視されている。データベースのバックアップとしてはデータベース全体を複製することが望ましい。しかし、データベース全体の複製などのように、データベースが記憶したデータを大量に読み出す場合、読み出すデータの量に応じて必要な時間が増大する。ここで、複製などの目的でデータベースからデータを読み出す操作をデータの抽出と言う。このようにデータの抽出に時間がかかる場合、データベースの複製開始からデータベースの複製終了までの間にデータベースの内容に変更が生じる可能性がある。
データベースの複製中におけるデータの更新を無制限に許可すると、複製元のデータベースと複製先のデータベースとに不整合が生じる。従来、この複製元のデータベースと複製先のデータベースとの不整合を避けるため、データベースの複製を実行している間、複製元のすべてのデータに対して処理排他を獲得していた。すなわち、従来のデータベース複製方法では、データベースの複製の間、複製元のデータベースの更新を停止する必要があるという問題点があった。
しかしながら、近年、データベースの規模の増大によって複製に必要な時間が増加する一方、データベースの利用価値の増加にともなってデータベースの利用時間が増加し、24時間無停止のデータベースが求められている。
この発明は、上述した従来技術による問題点を解消するためになされたものであり、データベースに対する処理排他を短縮し、データベースの複製とデータベースの更新とを同時に実行可能なデータベース複製方法およびデータベース複製装置を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明に係るデータベース複製方法およびデータベース複製装置は、データベースに記憶されたデータ群を抽出してデータベースを複製するデータベース複製方法およびデータベース複製装置であって、前記データ群に含まれる複数のデータを順次抽出するデータ抽出工程と、前記データ抽出工程による抽出が終了したデータに対するデータ内容の更新の有無を監視する更新監視工程と、前記更新監視工程によりデータ内容の更新が検出された場合に、該更新の内容を更新ログとして記憶する更新ログ記憶工程と、前記データ抽出工程によって抽出したデータの内容を前記更新ログに基づいて修正する修正工程と、を実行するように構成している。
この発明によれば、データベースが記憶した複数のデータを順次抽出し、抽出が終了したデータに対するデータ内容の更新を監視し、抽出済データに対して更新があった場合に更新内容を更新ログとして記憶し、この更新ログをもとに抽出したデータの内容を修正することで、抽出したデータの内容を常に最新の状態に保つことができる。
また、本発明に係るデータベース複製方法およびデータベース複製装置では、前記データ抽出工程は、ネットワークを介して接続された複製先データベースに前記抽出したデータを送信し、前記修正工程は、前記更新ログに対応したデータの修正を要求する修正要求を前記複製先データベースに送信するように構成している。
この発明によれば、ネットワークを介して接続された複製先データベースに抽出したデータを送信し、ネットワークを介して複製先データベースに修正要求を送信することで、ネットワークを介して接続されたデータベース間でデータ内容を同期させることができる。
また、本発明に係るデータベース複製方法およびデータベース複製装置では、前記データ抽出工程による抽出が実行中であるデータに対する更新を禁止し、抽出を実行済みのデータおよび抽出の実行前のデータに対する更新を許可する排他制御工程をさらに実行するように構成している。
この発明によれば、抽出を実行中のデータに対して選択的に処理排他を獲得し、抽出を実行済みのデータおよび抽出を実行前のデータに対する処理排他を開放するようにしている。
また、本発明に係るデータベース複製方法およびデータベース複製装置では、前記排他制御工程によって更新を禁止されているデータに対してデータ内容の更新がある場合に、該更新内容を一時的に記憶する一時記憶工程をさらに実行するように構成している。
この発明によれば、抽出を実行中のデータに対して更新があった場合、当該更新内容を一時的に記憶し、抽出終了後に更新を実行するようにしている。
また、本発明に係るデータベース複製方法およびデータベース複製装置では、前記修正工程は、前記一時記憶工程によって記憶された更新内容を、前記更新ログとして取り扱うように構成している。
この発明によれば、抽出を実行中のデータに対して発生した更新について、更新内容の一時的な記憶をもとに修正要求を発行する。
また、本発明に係るデータベース複製装置では、前記一時記憶手段によって記憶される更新内容と前記更新ログとを同一の記憶領域に記憶するように構成している。
この発明によれば、更新ログと一時記憶手段によって記憶される更新内容とを同一の記憶領域に記憶し、記憶領域の共用をおこなうようことができる。
また、本発明に係るデータベース創成方法およびデータベース創成装置では、データベースに対して複数のデータを順次書き込み、当該書き込みが終了したデータに対する更新を許可するデータ書込工程と、前記データ書込工程によって更新が許可されたデータに対して、更新処理をおこなう更新工程と、を実行するように構成している。
この発明によれば、データベースに対して複数のデータを順次書き込む場合に、書き込みが終了したデータについて順次処理排他を開放し、書込み終了後のデータを更新可能とすることができる。
この発明によれば、データベースが記憶した複数のデータを順次抽出し、抽出が終了したデータに対するデータ内容の更新を監視し、抽出済データに対して更新があった場合に更新内容を更新ログとして記憶し、この更新ログをもとに抽出したデータの内容を修正することで、抽出したデータの内容を常に最新の状態に保つことができる。
また、本発明に係るデータベース複製方法およびデータベース複製装置では、前記データ抽出工程は、ネットワークを介して接続された複製先データベースに前記抽出したデータを送信し、前記修正工程は、前記更新ログに対応したデータの修正を要求する修正要求を前記複製先データベースに送信するように構成している。
この発明によれば、ネットワークを介して接続された複製先データベースに抽出したデータを送信し、ネットワークを介して複製先データベースに修正要求を送信することで、ネットワークを介して接続されたデータベース間でデータ内容を同期させることができる。
また、本発明に係るデータベース複製方法およびデータベース複製装置では、前記データ抽出工程による抽出が実行中であるデータに対する更新を禁止し、抽出を実行済みのデータおよび抽出の実行前のデータに対する更新を許可する排他制御工程をさらに実行するように構成している。
この発明によれば、抽出を実行中のデータに対して選択的に処理排他を獲得し、抽出を実行済みのデータおよび抽出を実行前のデータに対する処理排他を開放するようにしている。
また、本発明に係るデータベース複製方法およびデータベース複製装置では、前記排他制御工程によって更新を禁止されているデータに対してデータ内容の更新がある場合に、該更新内容を一時的に記憶する一時記憶工程をさらに実行するように構成している。
この発明によれば、抽出を実行中のデータに対して更新があった場合、当該更新内容を一時的に記憶し、抽出終了後に更新を実行するようにしている。
また、本発明に係るデータベース複製方法およびデータベース複製装置では、前記修正工程は、前記一時記憶工程によって記憶された更新内容を、前記更新ログとして取り扱うように構成している。
この発明によれば、抽出を実行中のデータに対して発生した更新について、更新内容の一時的な記憶をもとに修正要求を発行する。
また、本発明に係るデータベース複製装置では、前記一時記憶手段によって記憶される更新内容と前記更新ログとを同一の記憶領域に記憶するように構成している。
この発明によれば、更新ログと一時記憶手段によって記憶される更新内容とを同一の記憶領域に記憶し、記憶領域の共用をおこなうようことができる。
また、本発明に係るデータベース創成方法およびデータベース創成装置では、データベースに対して複数のデータを順次書き込み、当該書き込みが終了したデータに対する更新を許可するデータ書込工程と、前記データ書込工程によって更新が許可されたデータに対して、更新処理をおこなう更新工程と、を実行するように構成している。
この発明によれば、データベースに対して複数のデータを順次書き込む場合に、書き込みが終了したデータについて順次処理排他を開放し、書込み終了後のデータを更新可能とすることができる。
第1図は、本実施の形態におけるデータベース複製装置の概要構成を示す概要構成図であり、第2図および第3図は、データベース複製方法を説明する説明図であり、第4図は、抽出処理部15の動作について説明する説明図であり、第5図は、抽出処理部15による抽出動作と、ログ監視部13による監視とのタイミングチャートであり、第6図は、データベース創成装置4の概要構成を説明する説明図であり、第7図は、抽出データ処理部42の処理動作を説明する説明図であり、第8図は、修正要求処理部43の処理動作を説明する説明図である。
以下に添付図面を参照して、この発明に係るデータベース複製方法およびデータベース複製装置の好適な実施の形態を詳細に説明する。
第1図は、本実施の形態におけるデータベース複製装置の概要構成を示す概要構成図である。第1図において、データベース複製装置1は、データベース2とネットワーク3とを接続している。同様に、データベース創成装置4は、データベース5とネットワーク3とを接続している。さらに、ネットワーク3には端末6が接続されている。
データベース複製装置1は、その内部に入出力処理部11.更新処理部12、ログ監視部13、修正処理部14、抽出処理部15、ログ記憶部16、抽出用バッファメモリ17および排他制御部18を備えている。
また、データベース2は、その内部にデータ21,22,23を記憶し、データベース5は、その内部にデータ51,52を記憶している。データベース2およびデータベース5の内部におけるデータ管理は、ページと呼称される入出力単位を用いておこなう。
端末6がデータベース2に記憶されたデータを更新する場合、端末6はネットワーク3を介してデータベース複製装置1にアクセスする。データベース複製装置1内部の入出力処理部11は、端末6からのアクセスを更新処理部12に送信する。更新処理部12は、端末6からのアクセスをもとに排他制御部18を介して所望のデータを記憶するページの処理排他を獲得し、データの読み出しおよび書き込みをおこなう。
一方、データベース2に記憶したデータを抽出し、データベース5をデータベース2の複製とする場合、まず、抽出処理部15が排他制御部18を介して抽出するデータの処理排他を獲得する。つぎに、抽出処理部15は、所望のデータを抽出し、このデータに対する処理排他を開放する。その後、抽出処理部15は、抽出したデータをデータベース創成装置4に送信する。
ここで、抽出処理部15は、データの抽出を実行するページに対してのみ処理排他を獲得し、他のページに対する処理排他は獲得しない。したがって、抽出処理部15が抽出を実行しているデータは更新ができないが、他のデータは任意に更新可能となる。
具体的には、抽出処理部15は、まずデータベース2が記憶するデータ21に対して処理排他を獲得し、データ21の内容を抽出用バッファメモリ17に記憶させた後、データ21に対する処理排他を開放する。つぎに、抽出処理部15は、抽出用バッファメモリ17に記憶したデータ21の内容、ここでは「A」を入出力処理部11に出力する。入出力処理部11は、データ21の内容「A」を、ネットワーク3を介してデータベース創成装置4に送信する。データベース創成装置4は受信したデータ21の内容である「A」を、データベース5のデータ51の内容として書き込む。
抽出処理部15は、データ21の内容を送信した後、データ22に対する処理排他を獲得し、データ22の内容を抽出用バッファメモリ17に記憶させ、データ22に対する処理排他を開放する。その後、抽出処理部15は、抽出用バッファメモリ17に記憶したデータ22の内容、ここでは「B」を入出力処理部11に出力する。入出力処理部11は、データ22の内容「B」を、ネットワーク3を介してデータベース創成装置4に送信する。データベース創成装置4は受信したデータ22の内容である「B」を、データベース5のデータ52の内容として書き込む。
このように、抽出処理部15は、データベース2が記憶する複数のデータに対して順次処理排他を獲得し、データの抽出を実行する。
したがって、更新処理部12は、抽出処理部15が抽出を実行中であるデータ以外は随時更新が可能である。この更新処理部12が実行する更新によってデータベース2とデータベース5の内容に不整合が生じることを防ぐため、ログ監視部13は、更新処理部12による更新動作を監視する。
データベース2とデータベース5の内容に不整合が生じるのは、データベース2からの抽出が終了し、データベース創成装置4に送信されたデータ、すなわち抽出済データに対して更新があった場合であり、抽出が未実行であるデータ、すなわち未抽出データに対する更新はデータベース間の不整合を生じない。
したがって、ログ監視部13は、抽出処理部15がデータの抽出を実行した場合に、そのデータに対する更新の監視を開始する。ログ監視部13は、抽出済データに更新があった場合、その更新内容を更新ログとしてログ記憶部16に記憶する。
修正処理部14は、この更新ログをもとに、データ内容の修正を要求する修正要求を作成し、入出力処理部11を介してデータベース創成装置4に送信する。データベース創成装置4は、この修正要求を受信した場合に、データベース5内部のデータ内容の修正をおこなう。したがって、更新処理部12が抽出済データに対して更新を実行した場合、その更新内容は修正要求としてデータベース創成装置4に送信され、データベース5に反映されることとなり、データの内容の同期をとることができる。
また、抽出処理部15が処理排他を獲得しているデータに対して更新要求があった場合、更新処理部12は、その更新内容をログ記憶部16に記憶し、抽出処理部15が処理排他を開放するのを待って更新を実行する。すなわち、更新処理部12は、更新処理の対象となるデータに対して、抽出処理部15がアクセスを実行している場合、ログ記憶部16を一時的な記憶領域として使用する。
したがって、ログ記憶部16は、ログ監視部13による更新ログの記憶と、更新処理部12による一時的な記憶とに共用されることとなる。ここで、修正処理部14は、更新処理部12が記録した一時的な記憶を、更新ログと同様に取り扱い、更新処理部12が記録した一時的な記憶をもとに修正要求を発行する。このように、更新処理部12が形成する一時記憶を更新ログとして取り扱うことで、ログ監視部13が独立して更新ログを形成する必要を排し、使用する記憶容量を減少させることができる。
つぎに、第2図および第3図を参照し、データベース複製方法について具体的に説明する。データベース2の内容をデータベース5に複製する場合、第2図(a)に示すように、まず、抽出処理部15がデータベース2のデータ21に対する処理排他を獲得し、データ21を読み出してデータベース創成装置4に送信する。つぎに、データベース創成装置4がデータベース5のデータ51に対して処理排他を獲得し、書き込みを実行する。したがって、データ51の内容は、データ21と同一の「A0」となる。
ここで、データベース2においては、データ21に対して選択的に処理排他を獲得しているため、データ22およびデータ23は更新可能である。したがって、第2図(b)に示すように、データ23の内容を「C0」から「C1」に書き換える更新要求31が発生した場合、データ23の内容は「C1」に書き換えられる。
データ21の内容をデータ51に複製した後、第2図(c)に示すように、データ21およびデータ51に対する処理排他を開放し、データ22に対して処理排他を獲得する。つぎに、このデータ22を読み出してデータベース創成装置4に送信する。データベース創成装置4は、データ52に対して処理排他を獲得し、書き込みをおこなう。したがって、データ52の内容は、データ22と同一の「B0」となる。
このデータ22の抽出中にデータ22の内容を「B0」から「B1」に書き換える更新要求32が発生した場合、抽出処理部15によってデータ22の処理排他が獲得されているため、データ22の更新ができない。したがって、この更新要求32は、更新処理部12によって一時記憶32bとしてログ記憶部16に記憶される。
データ22の内容をデータ52に複製した後、第3図(a)に示すように、データ22およびデータ52に対する処理排他を開放する。ここで、データ22に対する処理排他が開放されたので、更新処理部12は、一時記憶32bを用いてデータ22の内容を「B0」から「B1」に書き換える。また、修正処理部14は、一時記憶32bをもとにデータベース創成装置4に修正要求を送信し、データ52の内容を「B0」から「B1」に書き換える。
つぎに、抽出処理部15は、データ23に対して処理排他を獲得し、このデータ23を読み出してデータベース創成装置4に送信する。データベース創成装置4は、データ53に対して処理排他を獲得し、書き込みをおこなう。したがって、データ53の内容は、データ23と同一の「C1」となる。
このデータ23の複製中にデータ21の内容を「A0」から「A1」に書き換える更新要求33が発生した場合、第3図(b)に示すように、データ21に対する処理排他は開放されているので、更新処理部12は、データ21の内容を「A0」から「A1」に書き換える。ここで、データ21は、抽出処理部15によって抽出が実行済みであるので、ログ監視部13は、データ21の更新内容を更新ログ33aとしてログ記憶部16に記憶する。
修正処理部14は、第3図(c)に示すように、更新ログ33aをもとにデータベース創成装置4に修正要求を送信し、データ21の内容を「A0」から「A1」に書き換える。したがって、データベース5の内容は、データベース2の更新を反映し、データベース2とデータベース5の内容の同一性が確保させることとなる。
つぎに、第4図を参照し、抽出処理部15の動作について詳細に説明する。データベース2を複製する場合、抽出処理部15は、まず、抽出するデータのうち、最初のページを抽出対象ページに指定する(ステップS101)。つぎに、抽出処理部15は、抽出対象ページに対する処理排他を獲得し(ステップS102)、抽出対象ページの更新ログの取得を開始する(ステップS103)。
その後、抽出処理部15は、抽出対象ページのページイメージ、すなわち抽出対象ページが記憶するデータの内容を抽出用バッファメモリ17に記憶し(ステップS104)、抽出対象ページに対する処理排他を開放する(ステップS105)。
続いて、抽出処理部15は、抽出用バッファメモリ17に記憶したページイメージをデータベース創成装置4に送信する(ステップS106)。ここで、抽出処理部15は、すべてのページを抽出したか、すなわちすべてのデータの抽出を完了したかを判定する(ステップS107)。
まだ抽出を完了していないデータがある場合(ステップS107,No)、抽出処理部15は、つぎのページを抽出対象ページに指定し(ステップS108)、抽出対象ページに対する処理排他を獲得する(ステップS102)。
一方、すべてのページを抽出した場合(ステップS107,Yes)、抽出処理部15は、抽出するデータ全体に対する処理排他を獲得する(ステップS109)。つぎに、更新ログの取得を終了し、データベース複製完了の処理をおこなった後(ステップS110)、データ全体に対する処理排他を開放し(ステップS111)、処理動作を終了する。
ここで、データベース複製完了の処理について説明する。複製元のデータベース2がメインとなるデータベースであり、複製先のデータベース5がバックアップとして機能する場合、データベースの複製後に端末6がアクセスするデータベースはデータベース2である。この場合、データベース複製完了の動作としては、ログ監視部13による監視を終了し、更新処理部12による更新処理を継続させればよい。
一方で、複製元のデータベース2がバックアップであり、複製先のデータベース5がメインのデータベースとして機能する場合、すなわち、データベースの複製がバックアップからのリカバリである場合、データベースの複製後に端末6がアクセスするデータベースはデータベース5となる。したがって、この場合のデータベース複製完了の処理としては、更新処理部12による更新動作を終了し、端末6のアクセス先を切り替える処理が必要となる。
つぎに、ログ監視部13による監視対象と、ログ記憶部13に記憶される更新ログと、についてさらに説明する。ログ監視部13は、抽出処理部15による抽出処理が完了したデータについてその更新を監視する。したがって、抽出処理部15がデータを抽出するごとに、ログ監視部13の監視対象となるデータが増えることとなる。第5図に、抽出処理部15による抽出動作と、ログ監視部13による監視とのタイミングチャートを示す。
第5図に示すように、抽出処理部15がデータ21の抽出を開始した場合にログ監視部13はデータ21の監視を開始する。このログ監視部13によるデータ21の監視は、抽出処理部15がデータ21の抽出を完了した後も継続する。また、抽出処理部21がデータ22の抽出を開始した場合に、ログ監視部13は、データ22を監視対象に追加する。したがって、この時点でログ監視部13は、データ21およびデータ22を共に監視することとなる。
さらに、抽出処理部15がデータ22の抽出を完了し、データ23の抽出を開始した場合に、ログ監視部13は、データ23の監視を開始する。このように、ログ監視部13の監視対象となるデータが増えていく。これらのデータの監視は、データベース複製の終了は、データベースの複製完了時に一括して行われるので、複製の完了直前には、ログ監視部13は、全データを監視していることとなる。
この監視の実行中にデータの更新が行われた場合、その更新内容は更新ログとしてログ記憶部16に記憶される。この更新ログは、修正処理部14によって修正要求が発行され、データベース5に更新内容が反映された後は、任意に破棄可能である。修正処理部14による修正要求の発行は、更新ログが形成される度に随時実行されるので、ログ記憶部16は、更新ログを長時間蓄積する必要なく、使用する記憶容量を必要最小限とすることができる。
つぎに、データベース創成装置4によるデータベース5の構築について説明する。第6図は、データベース創成装置4の概要構成を説明する説明図である。データベース創成装置4は、その内部に入出力処理部41、抽出データ処理部42、修正要求処理部43および排他制御部46を備えている。
入出力処理部41は、抽出処理部15が抽出したページイメージ、すなわち抽出データを受信した場合、受信した抽出データを抽出データ処理部42に送出する。また、入出力処理部41は、修正処理部14が送信した修正要求を受信した場合、この修正要求を修正要求処理部43に送出する。
抽出データ処理部42は、抽出データを受信した場合に、排他制御部46を介してデータベース5に対する処理排他を獲得し、抽出データの内容をデータベース5に書き込む。また、抽出データ処理部42は、抽出データを受信した場合に、修正要求処理部43に対して修正処理の開始を指示する。
修正要求処理部43は、抽出データ処理部42の指示によって修正要求の受信を開始する。この後、修正要求を受信した場合に、修正要求処理部43は、排他制御部46を介してデータベース5に対する処理排他を獲得し、修正要求の内容をデータベース5に反映させる。
ここで第7図を参照し、抽出データ処理部42の処理動作を具体的に説明する。第7図において、抽出データ処理部42は、まず、データベース5の全ページに対して排他処理を獲得する(ステップS201)。つぎに、抽出データ処理部42は、修正要求処理部43に修正処理の開始要求を送信する(ステップS202)。つづいて、抽出データ処理部42は、データベース5内におけるデータの書き込み位置を決定する(ステップS203)。
この書き込み位置の決定は、受信した抽出データに含まれるページイメージについて、その複製を作成する場所を決定するものであり、既にデータベース5の内部に必要なページが存在していれば、存在するページから書き込み先を選択し、データベース5の内部に必要なページが存在しない場合、必要なページを作成する。
つぎに、抽出データ処理部42は、ページに対してデータの書き込みを実行し(ステップS204)、ページイメージの複製を作成する。つづいて、抽出データ処理部42は、データの書き込みが終了したページに対する処理排他を開放する(ステップS205)。
その後、抽出データ処理部42は、すべてのデータの書き込みが終了したか否かを判定し(ステップS206)、すべてのデータの書き込みが終了した場合(ステップS206,Yes)に、処理を終了する。一方、書き込みが終了していないデータが残っている場合(ステップS206,No)、抽出データ処理部42は、データを書き込むページを決定し(ステップS203)、処理を継続する。
つぎに、第8図を参照し、修正要求処理部43の処理動作を具体的に説明する。第8図において、修正要求処理部43は、まず、抽出データ処理部42から修正処理の開始要求を受信し、修正要求の受け付けを開始する(ステップS301)。つぎに、修正要求処理部43は、データベース5の中から受信した修正要求に対応するページを特定し(ステップ302)、特定したページに対する処理排他を獲得する(ステップS303)。
つづいて、修正要求処理部43は、修正要求の内容をもとにデータの書き込みを行い、修正要求の内容をデータベース5反映させる(ステップS304)。その後、修正要求処理部43は、修正処理が終了したページに対する処理排他を開放する(ステップS305)。
つぎに、修正要求処理部43は、すべての修正要求に対する処理を終了したか否かを判定し(ステップS306)、すべての修正要求に対する処理が終了した場合(ステップS306,Yes)に、処理動作を終了する。一方、処理が終了していない修正要求が残っている場合(ステップS306,No)、再度ステップS302に移行し、処理動作を継続する。
このデータベース創成装置4では、抽出データ処理部42は、データの書き込みが終了したページに対する処理排他を順次開放していく。したがって、修正要求処理部43は、抽出データ処理部42によるデータベースの再構築と平行してデータベースの修正処理を実行することができる。
上述してきたように、本実施の形態にかかるデータベース複製装置1では、データベースの複製をおこなう場合に、抽出を実行中のデータに対してのみ処理排他を獲得し、さらに、抽出済データに対する更新を監視して更新ログを作成し、この更新ログをもとに、修正要求を発行することでデータベース2に対する更新をデータベース5に反映させるようにしているので、抽出処理と更新処理とを平行して実行することができ、データベースの更新を停止させることなくデータベースの複製を創成することができる。
また、データベース2の更新のための一時記憶と、データベース2とデータベース5との同期処理のための更新ログとを、共にログ記憶部16に記憶することで装置構成を簡易化し、さらに修正処理部14がデータベース2の更新のための一時記憶を更新ログとして取り扱うことで、ログ監視部13が独立して更新ログを形成する必要を排し、使用する記憶容量を必要最小限とすることができる。
さらに、データベース創成装置4において、抽出データ処理部42が、データの書き込みが終了したページに対する処理排他を順次開放するので、抽出データ処理部42によるデータベースの再構築と平行してデータベースの同期処理を実行することができる。
なお、上述の実施の形態においては、説明を簡明にするため、データベース2が記憶するデータをデータ21〜23としたが、この記載はデータベース2のデータ記憶方式およびデータ量を規定するものではなく、任意の方式かつ任意のデータ量のデータベースについて本発明を適用することができる。
また、上述の実施の形態では、データベース2を複製元としてデータベース複製装置1を接続し、データベース5を複製先としてデータベース創成装置4を接続したが、データベース創成装置4が有する抽出データ処理部42および修正要求処理部43をデータベース複製装置1にさらに付加することで、データベースの複製および創成をともに実行可能なデータベース複製装置を得ることができる。
さらに、上述の実施の形態では、データベース複製方法の実行に特に適したデータベース複製装置について説明したが、この実施の形態に示した機能をソフトウェアによって実現することで、任意のコンピュータ端末上で実行可能なデータベース複製プログラムとして実施することができる。
以上説明したように、本発明によれば、データベースが記憶した複数のデータを順次抽出し、抽出が終了したデータに対するデータ内容の更新を監視し、抽出済データに対して更新があった場合に更新内容を更新ログとして記憶し、この更新ログをもとに抽出したデータの内容を修正することで、抽出したデータの内容を常に最新の状態に保つことができるので、データベース全体に対する処理排他を短縮し、データベースの複製とデータベースの更新とを同時に実行可能なデータベース複製方法およびデータベース複製装置を提供することができるという効果を奏する。
また、本発明によれば、ネットワークを介して接続された複製先データベースに抽出したデータを送信し、ネットワークを介して複製先データベースに修正要求を送信することで、ネットワークを介して接続されたデータベース間でデータ内容を同期させることができるので、ネットワーク経由のデータベース複製において、データベースに対する処理排他を短縮し、データベースの複製とデータベースの更新とを同時に実行可能とすることができるという効果を奏する。
また、本発明によれば、抽出を実行中のデータに対して選択的に処理排他を獲得し、抽出を実行済みのデータおよび抽出を実行前のデータに対する処理排他を開放するようにしているので、データベースに対する処理排他を短縮し、データベースの複製とデータベースの更新とを同時に実行可能なデータベース複製方法およびデータベース複製装置を提供することができるという効果を奏する。
また、本発明によれば、抽出を実行中のデータに対して更新があった場合、当該更新内容を一時的に記憶し、抽出終了後に更新を実行するようにしているので、データベースに対する処理排他を短縮し、データベースの複製とデータベースの更新とを同時に実行可能なデータベース複製方法およびデータベース複製装置を提供することができるという効果を奏する。
また、本発明によれば、抽出を実行中のデータに対して発生した更新について、更新内容の一時的な記憶をもとに修正要求を発行するので、データベースに対する処理排他を短縮し、データベースの複製とデータベースの更新とを同時に実行可能なデータベース複製方法およびデータベース複製装置を提供することができるという効果を奏する。
また、本発明によれば、更新ログと一時記憶手段によって記憶される更新内容とを同一の記憶領域に記憶し、記憶領域の共用をおこなうようことができるので、データベースに対する処理排他を短縮し、データベースの複製とデータベースの更新とを同時に実行可能で、かつ記憶領域の使用量の小さいデータベース複製装置を提供することができるという効果を奏する。
また、本発明によれば、データベースに対して複数のデータを順次書き込む場合に、書き込みが終了したデータについて順次処理排他を開放し、書込み終了後のデータを更新可能とすることができるので、データベースに対する処理排他を短縮し、データベースの構築とデータベースの同期とを平行して実行可能なデータベース創成方法およびデータベース創成装置を提供することができるという効果を奏する。
第1図は、本実施の形態におけるデータベース複製装置の概要構成を示す概要構成図である。第1図において、データベース複製装置1は、データベース2とネットワーク3とを接続している。同様に、データベース創成装置4は、データベース5とネットワーク3とを接続している。さらに、ネットワーク3には端末6が接続されている。
データベース複製装置1は、その内部に入出力処理部11.更新処理部12、ログ監視部13、修正処理部14、抽出処理部15、ログ記憶部16、抽出用バッファメモリ17および排他制御部18を備えている。
また、データベース2は、その内部にデータ21,22,23を記憶し、データベース5は、その内部にデータ51,52を記憶している。データベース2およびデータベース5の内部におけるデータ管理は、ページと呼称される入出力単位を用いておこなう。
端末6がデータベース2に記憶されたデータを更新する場合、端末6はネットワーク3を介してデータベース複製装置1にアクセスする。データベース複製装置1内部の入出力処理部11は、端末6からのアクセスを更新処理部12に送信する。更新処理部12は、端末6からのアクセスをもとに排他制御部18を介して所望のデータを記憶するページの処理排他を獲得し、データの読み出しおよび書き込みをおこなう。
一方、データベース2に記憶したデータを抽出し、データベース5をデータベース2の複製とする場合、まず、抽出処理部15が排他制御部18を介して抽出するデータの処理排他を獲得する。つぎに、抽出処理部15は、所望のデータを抽出し、このデータに対する処理排他を開放する。その後、抽出処理部15は、抽出したデータをデータベース創成装置4に送信する。
ここで、抽出処理部15は、データの抽出を実行するページに対してのみ処理排他を獲得し、他のページに対する処理排他は獲得しない。したがって、抽出処理部15が抽出を実行しているデータは更新ができないが、他のデータは任意に更新可能となる。
具体的には、抽出処理部15は、まずデータベース2が記憶するデータ21に対して処理排他を獲得し、データ21の内容を抽出用バッファメモリ17に記憶させた後、データ21に対する処理排他を開放する。つぎに、抽出処理部15は、抽出用バッファメモリ17に記憶したデータ21の内容、ここでは「A」を入出力処理部11に出力する。入出力処理部11は、データ21の内容「A」を、ネットワーク3を介してデータベース創成装置4に送信する。データベース創成装置4は受信したデータ21の内容である「A」を、データベース5のデータ51の内容として書き込む。
抽出処理部15は、データ21の内容を送信した後、データ22に対する処理排他を獲得し、データ22の内容を抽出用バッファメモリ17に記憶させ、データ22に対する処理排他を開放する。その後、抽出処理部15は、抽出用バッファメモリ17に記憶したデータ22の内容、ここでは「B」を入出力処理部11に出力する。入出力処理部11は、データ22の内容「B」を、ネットワーク3を介してデータベース創成装置4に送信する。データベース創成装置4は受信したデータ22の内容である「B」を、データベース5のデータ52の内容として書き込む。
このように、抽出処理部15は、データベース2が記憶する複数のデータに対して順次処理排他を獲得し、データの抽出を実行する。
したがって、更新処理部12は、抽出処理部15が抽出を実行中であるデータ以外は随時更新が可能である。この更新処理部12が実行する更新によってデータベース2とデータベース5の内容に不整合が生じることを防ぐため、ログ監視部13は、更新処理部12による更新動作を監視する。
データベース2とデータベース5の内容に不整合が生じるのは、データベース2からの抽出が終了し、データベース創成装置4に送信されたデータ、すなわち抽出済データに対して更新があった場合であり、抽出が未実行であるデータ、すなわち未抽出データに対する更新はデータベース間の不整合を生じない。
したがって、ログ監視部13は、抽出処理部15がデータの抽出を実行した場合に、そのデータに対する更新の監視を開始する。ログ監視部13は、抽出済データに更新があった場合、その更新内容を更新ログとしてログ記憶部16に記憶する。
修正処理部14は、この更新ログをもとに、データ内容の修正を要求する修正要求を作成し、入出力処理部11を介してデータベース創成装置4に送信する。データベース創成装置4は、この修正要求を受信した場合に、データベース5内部のデータ内容の修正をおこなう。したがって、更新処理部12が抽出済データに対して更新を実行した場合、その更新内容は修正要求としてデータベース創成装置4に送信され、データベース5に反映されることとなり、データの内容の同期をとることができる。
また、抽出処理部15が処理排他を獲得しているデータに対して更新要求があった場合、更新処理部12は、その更新内容をログ記憶部16に記憶し、抽出処理部15が処理排他を開放するのを待って更新を実行する。すなわち、更新処理部12は、更新処理の対象となるデータに対して、抽出処理部15がアクセスを実行している場合、ログ記憶部16を一時的な記憶領域として使用する。
したがって、ログ記憶部16は、ログ監視部13による更新ログの記憶と、更新処理部12による一時的な記憶とに共用されることとなる。ここで、修正処理部14は、更新処理部12が記録した一時的な記憶を、更新ログと同様に取り扱い、更新処理部12が記録した一時的な記憶をもとに修正要求を発行する。このように、更新処理部12が形成する一時記憶を更新ログとして取り扱うことで、ログ監視部13が独立して更新ログを形成する必要を排し、使用する記憶容量を減少させることができる。
つぎに、第2図および第3図を参照し、データベース複製方法について具体的に説明する。データベース2の内容をデータベース5に複製する場合、第2図(a)に示すように、まず、抽出処理部15がデータベース2のデータ21に対する処理排他を獲得し、データ21を読み出してデータベース創成装置4に送信する。つぎに、データベース創成装置4がデータベース5のデータ51に対して処理排他を獲得し、書き込みを実行する。したがって、データ51の内容は、データ21と同一の「A0」となる。
ここで、データベース2においては、データ21に対して選択的に処理排他を獲得しているため、データ22およびデータ23は更新可能である。したがって、第2図(b)に示すように、データ23の内容を「C0」から「C1」に書き換える更新要求31が発生した場合、データ23の内容は「C1」に書き換えられる。
データ21の内容をデータ51に複製した後、第2図(c)に示すように、データ21およびデータ51に対する処理排他を開放し、データ22に対して処理排他を獲得する。つぎに、このデータ22を読み出してデータベース創成装置4に送信する。データベース創成装置4は、データ52に対して処理排他を獲得し、書き込みをおこなう。したがって、データ52の内容は、データ22と同一の「B0」となる。
このデータ22の抽出中にデータ22の内容を「B0」から「B1」に書き換える更新要求32が発生した場合、抽出処理部15によってデータ22の処理排他が獲得されているため、データ22の更新ができない。したがって、この更新要求32は、更新処理部12によって一時記憶32bとしてログ記憶部16に記憶される。
データ22の内容をデータ52に複製した後、第3図(a)に示すように、データ22およびデータ52に対する処理排他を開放する。ここで、データ22に対する処理排他が開放されたので、更新処理部12は、一時記憶32bを用いてデータ22の内容を「B0」から「B1」に書き換える。また、修正処理部14は、一時記憶32bをもとにデータベース創成装置4に修正要求を送信し、データ52の内容を「B0」から「B1」に書き換える。
つぎに、抽出処理部15は、データ23に対して処理排他を獲得し、このデータ23を読み出してデータベース創成装置4に送信する。データベース創成装置4は、データ53に対して処理排他を獲得し、書き込みをおこなう。したがって、データ53の内容は、データ23と同一の「C1」となる。
このデータ23の複製中にデータ21の内容を「A0」から「A1」に書き換える更新要求33が発生した場合、第3図(b)に示すように、データ21に対する処理排他は開放されているので、更新処理部12は、データ21の内容を「A0」から「A1」に書き換える。ここで、データ21は、抽出処理部15によって抽出が実行済みであるので、ログ監視部13は、データ21の更新内容を更新ログ33aとしてログ記憶部16に記憶する。
修正処理部14は、第3図(c)に示すように、更新ログ33aをもとにデータベース創成装置4に修正要求を送信し、データ21の内容を「A0」から「A1」に書き換える。したがって、データベース5の内容は、データベース2の更新を反映し、データベース2とデータベース5の内容の同一性が確保させることとなる。
つぎに、第4図を参照し、抽出処理部15の動作について詳細に説明する。データベース2を複製する場合、抽出処理部15は、まず、抽出するデータのうち、最初のページを抽出対象ページに指定する(ステップS101)。つぎに、抽出処理部15は、抽出対象ページに対する処理排他を獲得し(ステップS102)、抽出対象ページの更新ログの取得を開始する(ステップS103)。
その後、抽出処理部15は、抽出対象ページのページイメージ、すなわち抽出対象ページが記憶するデータの内容を抽出用バッファメモリ17に記憶し(ステップS104)、抽出対象ページに対する処理排他を開放する(ステップS105)。
続いて、抽出処理部15は、抽出用バッファメモリ17に記憶したページイメージをデータベース創成装置4に送信する(ステップS106)。ここで、抽出処理部15は、すべてのページを抽出したか、すなわちすべてのデータの抽出を完了したかを判定する(ステップS107)。
まだ抽出を完了していないデータがある場合(ステップS107,No)、抽出処理部15は、つぎのページを抽出対象ページに指定し(ステップS108)、抽出対象ページに対する処理排他を獲得する(ステップS102)。
一方、すべてのページを抽出した場合(ステップS107,Yes)、抽出処理部15は、抽出するデータ全体に対する処理排他を獲得する(ステップS109)。つぎに、更新ログの取得を終了し、データベース複製完了の処理をおこなった後(ステップS110)、データ全体に対する処理排他を開放し(ステップS111)、処理動作を終了する。
ここで、データベース複製完了の処理について説明する。複製元のデータベース2がメインとなるデータベースであり、複製先のデータベース5がバックアップとして機能する場合、データベースの複製後に端末6がアクセスするデータベースはデータベース2である。この場合、データベース複製完了の動作としては、ログ監視部13による監視を終了し、更新処理部12による更新処理を継続させればよい。
一方で、複製元のデータベース2がバックアップであり、複製先のデータベース5がメインのデータベースとして機能する場合、すなわち、データベースの複製がバックアップからのリカバリである場合、データベースの複製後に端末6がアクセスするデータベースはデータベース5となる。したがって、この場合のデータベース複製完了の処理としては、更新処理部12による更新動作を終了し、端末6のアクセス先を切り替える処理が必要となる。
つぎに、ログ監視部13による監視対象と、ログ記憶部13に記憶される更新ログと、についてさらに説明する。ログ監視部13は、抽出処理部15による抽出処理が完了したデータについてその更新を監視する。したがって、抽出処理部15がデータを抽出するごとに、ログ監視部13の監視対象となるデータが増えることとなる。第5図に、抽出処理部15による抽出動作と、ログ監視部13による監視とのタイミングチャートを示す。
第5図に示すように、抽出処理部15がデータ21の抽出を開始した場合にログ監視部13はデータ21の監視を開始する。このログ監視部13によるデータ21の監視は、抽出処理部15がデータ21の抽出を完了した後も継続する。また、抽出処理部21がデータ22の抽出を開始した場合に、ログ監視部13は、データ22を監視対象に追加する。したがって、この時点でログ監視部13は、データ21およびデータ22を共に監視することとなる。
さらに、抽出処理部15がデータ22の抽出を完了し、データ23の抽出を開始した場合に、ログ監視部13は、データ23の監視を開始する。このように、ログ監視部13の監視対象となるデータが増えていく。これらのデータの監視は、データベース複製の終了は、データベースの複製完了時に一括して行われるので、複製の完了直前には、ログ監視部13は、全データを監視していることとなる。
この監視の実行中にデータの更新が行われた場合、その更新内容は更新ログとしてログ記憶部16に記憶される。この更新ログは、修正処理部14によって修正要求が発行され、データベース5に更新内容が反映された後は、任意に破棄可能である。修正処理部14による修正要求の発行は、更新ログが形成される度に随時実行されるので、ログ記憶部16は、更新ログを長時間蓄積する必要なく、使用する記憶容量を必要最小限とすることができる。
つぎに、データベース創成装置4によるデータベース5の構築について説明する。第6図は、データベース創成装置4の概要構成を説明する説明図である。データベース創成装置4は、その内部に入出力処理部41、抽出データ処理部42、修正要求処理部43および排他制御部46を備えている。
入出力処理部41は、抽出処理部15が抽出したページイメージ、すなわち抽出データを受信した場合、受信した抽出データを抽出データ処理部42に送出する。また、入出力処理部41は、修正処理部14が送信した修正要求を受信した場合、この修正要求を修正要求処理部43に送出する。
抽出データ処理部42は、抽出データを受信した場合に、排他制御部46を介してデータベース5に対する処理排他を獲得し、抽出データの内容をデータベース5に書き込む。また、抽出データ処理部42は、抽出データを受信した場合に、修正要求処理部43に対して修正処理の開始を指示する。
修正要求処理部43は、抽出データ処理部42の指示によって修正要求の受信を開始する。この後、修正要求を受信した場合に、修正要求処理部43は、排他制御部46を介してデータベース5に対する処理排他を獲得し、修正要求の内容をデータベース5に反映させる。
ここで第7図を参照し、抽出データ処理部42の処理動作を具体的に説明する。第7図において、抽出データ処理部42は、まず、データベース5の全ページに対して排他処理を獲得する(ステップS201)。つぎに、抽出データ処理部42は、修正要求処理部43に修正処理の開始要求を送信する(ステップS202)。つづいて、抽出データ処理部42は、データベース5内におけるデータの書き込み位置を決定する(ステップS203)。
この書き込み位置の決定は、受信した抽出データに含まれるページイメージについて、その複製を作成する場所を決定するものであり、既にデータベース5の内部に必要なページが存在していれば、存在するページから書き込み先を選択し、データベース5の内部に必要なページが存在しない場合、必要なページを作成する。
つぎに、抽出データ処理部42は、ページに対してデータの書き込みを実行し(ステップS204)、ページイメージの複製を作成する。つづいて、抽出データ処理部42は、データの書き込みが終了したページに対する処理排他を開放する(ステップS205)。
その後、抽出データ処理部42は、すべてのデータの書き込みが終了したか否かを判定し(ステップS206)、すべてのデータの書き込みが終了した場合(ステップS206,Yes)に、処理を終了する。一方、書き込みが終了していないデータが残っている場合(ステップS206,No)、抽出データ処理部42は、データを書き込むページを決定し(ステップS203)、処理を継続する。
つぎに、第8図を参照し、修正要求処理部43の処理動作を具体的に説明する。第8図において、修正要求処理部43は、まず、抽出データ処理部42から修正処理の開始要求を受信し、修正要求の受け付けを開始する(ステップS301)。つぎに、修正要求処理部43は、データベース5の中から受信した修正要求に対応するページを特定し(ステップ302)、特定したページに対する処理排他を獲得する(ステップS303)。
つづいて、修正要求処理部43は、修正要求の内容をもとにデータの書き込みを行い、修正要求の内容をデータベース5反映させる(ステップS304)。その後、修正要求処理部43は、修正処理が終了したページに対する処理排他を開放する(ステップS305)。
つぎに、修正要求処理部43は、すべての修正要求に対する処理を終了したか否かを判定し(ステップS306)、すべての修正要求に対する処理が終了した場合(ステップS306,Yes)に、処理動作を終了する。一方、処理が終了していない修正要求が残っている場合(ステップS306,No)、再度ステップS302に移行し、処理動作を継続する。
このデータベース創成装置4では、抽出データ処理部42は、データの書き込みが終了したページに対する処理排他を順次開放していく。したがって、修正要求処理部43は、抽出データ処理部42によるデータベースの再構築と平行してデータベースの修正処理を実行することができる。
上述してきたように、本実施の形態にかかるデータベース複製装置1では、データベースの複製をおこなう場合に、抽出を実行中のデータに対してのみ処理排他を獲得し、さらに、抽出済データに対する更新を監視して更新ログを作成し、この更新ログをもとに、修正要求を発行することでデータベース2に対する更新をデータベース5に反映させるようにしているので、抽出処理と更新処理とを平行して実行することができ、データベースの更新を停止させることなくデータベースの複製を創成することができる。
また、データベース2の更新のための一時記憶と、データベース2とデータベース5との同期処理のための更新ログとを、共にログ記憶部16に記憶することで装置構成を簡易化し、さらに修正処理部14がデータベース2の更新のための一時記憶を更新ログとして取り扱うことで、ログ監視部13が独立して更新ログを形成する必要を排し、使用する記憶容量を必要最小限とすることができる。
さらに、データベース創成装置4において、抽出データ処理部42が、データの書き込みが終了したページに対する処理排他を順次開放するので、抽出データ処理部42によるデータベースの再構築と平行してデータベースの同期処理を実行することができる。
なお、上述の実施の形態においては、説明を簡明にするため、データベース2が記憶するデータをデータ21〜23としたが、この記載はデータベース2のデータ記憶方式およびデータ量を規定するものではなく、任意の方式かつ任意のデータ量のデータベースについて本発明を適用することができる。
また、上述の実施の形態では、データベース2を複製元としてデータベース複製装置1を接続し、データベース5を複製先としてデータベース創成装置4を接続したが、データベース創成装置4が有する抽出データ処理部42および修正要求処理部43をデータベース複製装置1にさらに付加することで、データベースの複製および創成をともに実行可能なデータベース複製装置を得ることができる。
さらに、上述の実施の形態では、データベース複製方法の実行に特に適したデータベース複製装置について説明したが、この実施の形態に示した機能をソフトウェアによって実現することで、任意のコンピュータ端末上で実行可能なデータベース複製プログラムとして実施することができる。
以上説明したように、本発明によれば、データベースが記憶した複数のデータを順次抽出し、抽出が終了したデータに対するデータ内容の更新を監視し、抽出済データに対して更新があった場合に更新内容を更新ログとして記憶し、この更新ログをもとに抽出したデータの内容を修正することで、抽出したデータの内容を常に最新の状態に保つことができるので、データベース全体に対する処理排他を短縮し、データベースの複製とデータベースの更新とを同時に実行可能なデータベース複製方法およびデータベース複製装置を提供することができるという効果を奏する。
また、本発明によれば、ネットワークを介して接続された複製先データベースに抽出したデータを送信し、ネットワークを介して複製先データベースに修正要求を送信することで、ネットワークを介して接続されたデータベース間でデータ内容を同期させることができるので、ネットワーク経由のデータベース複製において、データベースに対する処理排他を短縮し、データベースの複製とデータベースの更新とを同時に実行可能とすることができるという効果を奏する。
また、本発明によれば、抽出を実行中のデータに対して選択的に処理排他を獲得し、抽出を実行済みのデータおよび抽出を実行前のデータに対する処理排他を開放するようにしているので、データベースに対する処理排他を短縮し、データベースの複製とデータベースの更新とを同時に実行可能なデータベース複製方法およびデータベース複製装置を提供することができるという効果を奏する。
また、本発明によれば、抽出を実行中のデータに対して更新があった場合、当該更新内容を一時的に記憶し、抽出終了後に更新を実行するようにしているので、データベースに対する処理排他を短縮し、データベースの複製とデータベースの更新とを同時に実行可能なデータベース複製方法およびデータベース複製装置を提供することができるという効果を奏する。
また、本発明によれば、抽出を実行中のデータに対して発生した更新について、更新内容の一時的な記憶をもとに修正要求を発行するので、データベースに対する処理排他を短縮し、データベースの複製とデータベースの更新とを同時に実行可能なデータベース複製方法およびデータベース複製装置を提供することができるという効果を奏する。
また、本発明によれば、更新ログと一時記憶手段によって記憶される更新内容とを同一の記憶領域に記憶し、記憶領域の共用をおこなうようことができるので、データベースに対する処理排他を短縮し、データベースの複製とデータベースの更新とを同時に実行可能で、かつ記憶領域の使用量の小さいデータベース複製装置を提供することができるという効果を奏する。
また、本発明によれば、データベースに対して複数のデータを順次書き込む場合に、書き込みが終了したデータについて順次処理排他を開放し、書込み終了後のデータを更新可能とすることができるので、データベースに対する処理排他を短縮し、データベースの構築とデータベースの同期とを平行して実行可能なデータベース創成方法およびデータベース創成装置を提供することができるという効果を奏する。
以上のように、本発明にかかるデータベース複製方法、データベース複製装置、データベース創成方法およびデータベース創成装置は、データベースの運用に対して有用であり、特に無停止稼動のデータベースの複製をおこなう場合に有用である。
Claims (13)
- データベースに記憶されたデータ群を抽出してデータベースを複製するデータベース複製方法であって、
前記データ群に含まれる複数のデータを順次抽出するデータ抽出工程と、
前記データ抽出工程による抽出が終了したデータに対するデータ内容の更新の有無を監視する更新監視工程と、
前記更新監視工程によりデータ内容の更新が検出された場合に、該更新の内容を更新ログとして記憶する更新ログ記憶工程と、
前記データ抽出工程によって抽出したデータの内容を前記更新ログに基づいて修正する修正工程と、
を含むことを特徴とするデータベース複製方法。 - 前記データ抽出工程は、ネットワークを介して接続された複製先データベースに前記抽出したデータを送信し、前記修正工程は、前記更新ログに対応したデータの修正を要求する修正要求を前記複製先データベースに送信することを特徴とする請求の範囲第1項に記載のデータベース複製方法。
- 前記データ抽出工程による抽出が実行中であるデータに対する更新を禁止し、抽出を実行済みのデータおよび抽出の実行前のデータに対する更新を許可する排他制御工程をさらに含むことを特徴とする請求の範囲第1項または第2項に記載のデータベース複製方法。
- 前記排他制御工程によって更新を禁止されているデータに対してデータ内容の更新がある場合に、該更新内容を一時的に記憶する一時記憶工程をさらに含むことを特徴とする請求の範囲第3項に記載のデータベース複製方法。
- 前記修正工程は、前記一時記憶工程によって記憶された更新内容を、前記更新ログとして取り扱うことを特徴とする請求の範囲第4項に記載のデータベース複製方法。
- データベースに記憶されたデータ群を抽出してデータベースを複製するデータベース複製装置であって、
前記データ群に含まれる複数のデータを順次抽出するデータ抽出手段と、
前記データ抽出手段による抽出が終了したデータに対するデータ内容の更新の有無を監視する更新監視手段と、
前記更新監視手段によりデータ内容の更新が検出された場合に、該更新の内容を更新ログとして記憶する更新ログ記憶手段と、
前記データ抽出手段によって抽出したデータの内容を前記更新ログに基づいて修正する修正手段と、
を備えたことを特徴とするデータベース複製装置。 - 前記データ抽出手段は、ネットワークを介して接続された複製先データベースに前記抽出したデータを送信し、前記修正手段は、前記更新ログに対応したデータの修正を要求する修正要求を前記複製先データベースに送信することを特徴とする請求の範囲第6項に記載のデータベース複製装置。
- 前記データ抽出手段による抽出が実行中であるデータに対する更新を禁止し、抽出を実行済みのデータおよび抽出の実行前のデータに対する更新を許可する排他制御手段をさらに備えたことを特徴とする請求の範囲第6項または第7項に記載のデータベース複製装置。
- 前記排他制御手段によって更新を禁止されているデータに対してデータ内容の更新がある場合に、該更新内容を一時的に記憶する一時記憶手段をさらに備えたことを特徴とする請求の範囲第8項に記載のデータベース複製装置。
- 前記修正手段は、前記一時記憶手段によって記憶された更新内容を、前記更新ログとして取り扱うことを特徴とする請求の範囲第9項に記載のデータベース複製装置。
- 前記一時記憶手段によって記憶される更新内容と前記更新ログとを同一の記憶領域に記憶することを特徴とする請求の範囲第10項に記載のデータベース複製装置。
- データベースに対して複数のデータを順次書き込み、当該書き込みが終了したデータに対する更新を許可するデータ書込工程と、
前記データ書込工程によって更新が許可されたデータに対して、更新処理をおこなう更新工程と、
を含むことを特徴とするデータベース創成方法。 - データベースに対して複数のデータを順次書き込み、当該書き込みが終了したデータに対する更新を許可するデータ書込手段と、
前記データ書込手段によって更新が許可されたデータに対して、更新処理をおこなう更新手段と、
を備えたことを特徴とするデータベース創成装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2002/010227 WO2004031957A1 (ja) | 2002-10-01 | 2002-10-01 | データベース複製方法、データベース複製装置、データベース創成方法およびデータベース創成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2004031957A1 true JPWO2004031957A1 (ja) | 2006-02-02 |
Family
ID=32051285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004541182A Pending JPWO2004031957A1 (ja) | 2002-10-01 | 2002-10-01 | データベース複製方法、データベース複製装置、データベース創成方法およびデータベース創成装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2004031957A1 (ja) |
WO (1) | WO2004031957A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014515524A (ja) * | 2011-05-23 | 2014-06-30 | マイクロソフト コーポレーション | 分散記憶環境における同期複製 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4582297B2 (ja) * | 2004-06-25 | 2010-11-17 | 日本電気株式会社 | レプリケーションシステム、装置、方法、およびプログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0756790A (ja) * | 1993-08-17 | 1995-03-03 | Sumitomo Electric Ind Ltd | ネットワークデータバックアップ装置 |
JPH0844609A (ja) * | 1994-07-27 | 1996-02-16 | Hitachi Ltd | データバックアップ方法 |
JP2002229830A (ja) * | 2001-01-30 | 2002-08-16 | Nec Microsystems Ltd | データベースファイルのバックアップ方法及びその装置 |
-
2002
- 2002-10-01 WO PCT/JP2002/010227 patent/WO2004031957A1/ja active Application Filing
- 2002-10-01 JP JP2004541182A patent/JPWO2004031957A1/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014515524A (ja) * | 2011-05-23 | 2014-06-30 | マイクロソフト コーポレーション | 分散記憶環境における同期複製 |
Also Published As
Publication number | Publication date |
---|---|
WO2004031957A1 (ja) | 2004-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107644030B (zh) | 分布式数据库数据同步方法、相关装置及系统 | |
US8572037B2 (en) | Database server, replication server and method for replicating data of a database server by at least one replication server | |
WO2015107666A1 (ja) | ストレージ装置及びストレージ装置のキャッシュ制御方法 | |
US8843449B2 (en) | Unobtrusive copies of actively used compressed indices | |
CN113220729B (zh) | 数据存储方法、装置、电子设备及计算机可读存储介质 | |
JP2007200182A (ja) | ストレージ装置、及びストレージシステム | |
JP4755244B2 (ja) | 情報生成方法、情報生成プログラム及び情報生成装置 | |
US7194486B2 (en) | Method and system for data processing with data replication for the same | |
WO2009147847A1 (ja) | データベース並行編集方式 | |
US20050131969A1 (en) | Database duplicating method, database duplicating apparatus, database creating method, and database creating apparatus | |
JP4951141B2 (ja) | データベースの管理方法 | |
WO2016127557A1 (zh) | 重建备机数据库的方法及其装置 | |
US10579604B2 (en) | Database system, information processing device, method and medium | |
WO2020119709A1 (zh) | 数据合并的实现方法、装置、系统及存储介质 | |
CN114741453A (zh) | 数据同步的方法、系统及计算机可读存储介质 | |
JP2004318288A (ja) | データ処理方法および装置ならびにその処理プログラム | |
US20140281125A1 (en) | Systems and methods for in-place reorganization of device storage | |
JPWO2004031957A1 (ja) | データベース複製方法、データベース複製装置、データベース創成方法およびデータベース創成装置 | |
JP5626034B2 (ja) | ファイルシステム | |
US9424261B2 (en) | Techniques to take clean database file snapshot in an online database | |
JP4331970B2 (ja) | データベースのスナップショット方法及びシステム | |
JP4855537B2 (ja) | データベース並行編集方式 | |
JP2004295272A (ja) | トランザクション制御方法 | |
JP2007264770A (ja) | データベースアクセス方法及び装置 | |
KR101713537B1 (ko) | 데이터의 일관성을 보장하는 상태기기 기반의 복제 및 체크포인트데이터와 복제로그를 이용한 분산 복구를 처리하는 데이터 복제 방법 및 데이터 저장 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080715 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081202 |