JP5673234B2 - データベースのレプリケーション方法 - Google Patents
データベースのレプリケーション方法 Download PDFInfo
- Publication number
- JP5673234B2 JP5673234B2 JP2011052368A JP2011052368A JP5673234B2 JP 5673234 B2 JP5673234 B2 JP 5673234B2 JP 2011052368 A JP2011052368 A JP 2011052368A JP 2011052368 A JP2011052368 A JP 2011052368A JP 5673234 B2 JP5673234 B2 JP 5673234B2
- Authority
- JP
- Japan
- Prior art keywords
- item
- update log
- processing sequence
- version
- update
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
マスターデータベースの更新ログを複製データベースに伝達する通信路の切替時、前記マスターデータベースを有する第1のコンピュータが、切替前後の通信路に同期データを送信し、
前記複製データベースを有する第2のコンピュータが、切替前後の通信路から前記同期データを受信するまで、前記同期データに続いて受信する前記更新ログに基づく前記複製データベースの更新処理を保留する
といった構成を採る。
[第1の実施形態]
図16を参照すると、本発明の第1の実施形態は、フロントシステムFSと、バックアップシステムBSと、これらを通信可能に接続する通信路PH1、PH2とから構成される。
[概要]
本実施形態は、分散配置されたデータベースの更新ログをフロントシステムからバックアップシステムへ反映させる際、任意の時点でデータベースが動的に再構成された場合に、再構成前後に発生した更新ログの間でバックアップシステムへ更新する順序性を保証する。
データベースを含むシステムにおいて、フロントシステムのデータベースをバックアップシステムへレプリケーションする方式としては、フロントシステムでの処理に大きな影響を与えないために、フロントシステムでの更新内容をバックアップシステムへ転送して同様の内容を非同期的に更新するといった方式が一般的にとられている。本実施形態もそのようなバックアップ処理を前提とする。また、データベースは複数存在し、更新対象のキーごとに更新先データベースが決められるような分散配置データベースを前提とする。さらに、バックアップ処理は、分散されたデータベースごとに処理系列を分けて更新ログの転送・更新を行うことで、バックアップ転送・反映のスループットの向上を図っている。ここで、処理系列は第1の実施形態における通信路に相当し、1つの処理系列では転送・更新の順序性は保証されているものとする。
図1を参照して、本実施形態の全体構成を説明する。全体構成は大きく分けて、フロントシステム100とバックアップシステム200とに分かれている。
図1を参照してバックアップコピーの動作を説明する。
・[版数]を、再構成前の版数に1加えた値に変更する(図7では5→6)
・再構成に関係する処理系列のレコード(図7では処理系列1と5)に対して、[同期対象処理系列]に同期する必要のある処理系列一覧を格納し、[同期済み]に同期データ書き込み前を表す「未」を格納する。処理系列が新たに発生した場合(図7では処理系列5の場合)は、新規処理系列のレコードを作成して更新する。
・再構成に関係しない処理系列のレコードには、[同期対象処理系列]を「なし」にして、[同期済み]は「済」のままで更新する。
フロントシステム100からバックアップシステム200へ更新ログの転送、反映を行う際に、データベースの再構成前の更新ログと再構成後の更新ログとの間に同期データを書き込み、バックアップシステム200の更新ログ反映時に全ての同期データを待ち合わせることで、再構成後の更新ログが再構成前の更新ログを追い抜くといった現象を防ぐことができるので、再構成前後の更新ログ反映の順序性が保証できる。
上記の実施形態では、データベースの再構成の例として、1つの処理系列で処理しているキーの一部を別の処理系列を追加して分散する場合の説明をしたが、下記の再構成例でも同様の処理で順序性を保証できる。
(1)図13に示すように、1つの処理系列で処理しているキーを、別の複数の処理系列に分散する。
(2)図14に示すように、複数の処理系列で処理しているキーを1つの処理系列に統合する。
(3)図15に示すように、複数の処理系列がそれぞれ処理しているキーを、再分配する。
BS…バックアップシステム
MD…マスターデータベース
RD…複製データベース
LW…更新ログ格納手段
LR…更新ログ反映手段
PH1、PH2…通信路
Claims (2)
- 第1のコンピュータと第2のコンピュータとを有し、
前記第1のコンピュータは、
版管理表と、
前記版管理表をデータベースの再構成に応じて更新する版管理手段と、
更新ログ格納手段と
更新対象のキー毎に更新先のデータベースが決定される分散配置データベースを構成する複数のマスターデータベースと、
前記マスターデータベース毎の処理系列を構成するマスター側更新ログ格納表および更新ログ送信手段と、
を有し、
前記第2のコンピュータは、
前記マスターデータベース毎の複製データベースと、
前記処理系列を構成する更新ログ受信手段および複製側更新ログ格納表と、
前記処理系列毎の更新ログ反映手段と、
同期情報管理表と、
を有し、
前記マスター側更新ログ格納表は、通番項目と版数項目と処理実行項目と同期対象処理系列項目と更新ログ項目とを有する更新ログを格納し、
前記更新ログ送信手段は、同じ処理系列の前記マスター側更新ログ格納表に格納された前記更新ログを前記第1のコンピュータから前記第2のコンピュータへ送信し、
前記更新ログ受信手段は、同じ処理系列の前記更新ログ送信手段から送信された前記更新ログを受信し、
前記複製側更新ログ格納表は、同じ処理系列の前記更新ログ受信手段で受信された前記更新ログを格納し、
前記版管理表は、版数項目と処理系列毎の同期対象処理系列項目および同期済項目とを有し、前記版数項目にデータベースの最新の版数を格納し、前記処理系列毎の同期対象処理系列項目に前記処理系列と同期を取る必要のある他の処理系列の一覧を格納し、前記同期済項目に当該他の処理系列と同期済みか否かを示す同期済情報を格納し、
前記同期情報管理表は、処理系列毎の版数項目および同期対象処理系列項目を有し、前記版数項目に前記処理系列の版数を格納し、前記同期対象処理系列項目に前記処理系列と同期を取る必要のある他の処理系列の一覧を格納し、
前記更新ログ格納手段は、前記マスターデータベースを更新した場合、前記版管理表を参照し、前記更新したマスターデータベースに対応する前記処理系列の前記同期済情報が同期済みを示していれば、通番項目に最新の通番、版数項目に前記版管理表の前記版数項目が示す版数、処理実行項目に処理実行要、同期対象処理系列項目に同期を取る必要のある他の処理系列がない旨、更新ログ項目に更新後ログ情報をそれぞれ格納した更新ログを、前記更新したマスターデータベースに対応する前記処理系列の前記マスター側更新ログ格納表に格納し、
一方、前記同期済情報が同期済みでなければ、通番項目に最新の通番、版数項目に前記版管理表の前記版数項目が示す版数の次の版数、処理実行項目に処理実行不要、同期対象処理系列項目に前記版管理表の同期対象処理系列項目の内容、更新ログ項目に更新後ログ情報がない旨をそれぞれ格納した更新ログ(同期データ)を、前記更新したマスターデータベースに対応する前記処理系列の前記マスター側更新ログ格納表に格納した後、前記版管理表の同期済項目を同期済みに更新し、また、通番項目に最新の通番、版数項目に前記版管理表の前記版数項目が示す版数、処理実行項目に処理実行要、同期対象処理系列項目に同期を取る必要のある他の処理系列がない旨、更新ログ項目に更新後ログ情報をそれぞれ格納した更新ログを、前記更新したマスターデータベースに対応する前記処理系列の前記マスター側更新ログ格納表に格納し、さらに、前記版管理表における同期を取る必要のある他の処理系列の前記同期済情報が同期済みでなければ、通番項目に最新の通番、版数項目に前記版管理表の前記版数項目が示す版数の次の版数、処理実行項目に処理実行不要、同期対象処理系列項目に前記版管理表の同期対象処理系列項目の内容、更新ログ項目に更新後ログ情報がない旨をそれぞれ格納した更新ログ(同期データ)を、当該他の処理系列の前記マスター側更新ログ格納表に格納して前記同期済情報を同期済みに更新し、
前記更新ログ反映手段は、対応する前記複製側更新ログ格納表から更新ログを参照し、当該更新ログ中の版数項目の版数が前記同期情報管理表の同じ処理系列の版数項目の版数と同じであれば、前記更新ログ中の更新後ログ項目の内容に基づいて前記複製データベースを更新し、前記更新ログ中の版数項目の版数が前記同期情報管理表の同じ処理系列の版数項目の版数と異なっていれば、更新ログ中の版数項目および同期対象処理系列情報項目の内容で前記同期情報管理表の同じ処理系列の版数項目および同期対象処理系列情報項目を更新し、該更新後の前記同期対象処理系列情報項目が同期すべき他の処理系列がないことを示していれば、前記更新ログ中の更新後ログ項目の内容に基づいて前記複製データベースを更新し、同期すべき他の処理系列があることを示していれば、前記同期情報管理表の当該他の処理系列の版数項目の版数が自処理系列の版数と同じになるまで待機した後、前記更新ログ中の更新後ログ項目の内容に基づいて前記複製データベースを更新する
データベースのレプリケーションシステム。 - 第1のコンピュータと第2のコンピュータとを有し、
前記第1のコンピュータは、
版管理表と、
前記版管理表をデータベースの再構成に応じて更新する版管理手段と、
更新ログ格納手段と
更新対象のキー毎に更新先のデータベースが決定される分散配置データベースを構成する複数のマスターデータベースと、
前記マスターデータベース毎の処理系列を構成するマスター側更新ログ格納表および更新ログ送信手段と、
を有し、
前記第2のコンピュータは、
前記マスターデータベース毎の複製データベースと、
前記処理系列を構成する更新ログ受信手段および複製側更新ログ格納表と、
前記処理系列毎の更新ログ反映手段と、
同期情報管理表と、
を有し、
前記マスター側更新ログ格納表は、通番項目と版数項目と処理実行項目と同期対象処理系列項目と更新ログ項目とを有する更新ログを格納し、
前記更新ログ送信手段は、同じ処理系列の前記マスター側更新ログ格納表に格納された前記更新ログを前記第1のコンピュータから前記第2のコンピュータへ送信し、
前記更新ログ受信手段は、同じ処理系列の前記更新ログ送信手段から送信された前記更新ログを受信し、
前記複製側更新ログ格納表は、同じ処理系列の前記更新ログ受信手段で受信された前記更新ログを格納し、
前記版管理表は、版数項目と処理系列毎の同期対象処理系列項目および同期済項目とを有し、前記版数項目にデータベースの最新の版数を格納し、前記処理系列毎の同期対象処理系列項目に前記処理系列と同期を取る必要のある他の処理系列の一覧を格納し、前記同期済項目に当該他の処理系列と同期済みか否かを示す同期済情報を格納し、
前記同期情報管理表は、処理系列毎の版数項目および同期対象処理系列項目を有し、前記版数項目に前記処理系列の版数を格納し、前記同期対象処理系列項目に前記処理系列と同期を取る必要のある他の処理系列の一覧を格納し、
前記更新ログ格納手段は、前記マスターデータベースを更新した場合、前記版管理表を参照し、前記更新したマスターデータベースに対応する前記処理系列の前記同期済情報が同期済みを示していれば、通番項目に最新の通番、版数項目に前記版管理表の前記版数項目が示す版数、処理実行項目に処理実行要、同期対象処理系列項目に同期を取る必要のある他の処理系列がない旨、更新ログ項目に更新後ログ情報をそれぞれ格納した更新ログを、前記更新したマスターデータベースに対応する前記処理系列の前記マスター側更新ログ格納表に格納し、
一方、前記同期済情報が同期済みでなければ、通番項目に最新の通番、版数項目に前記版管理表の前記版数項目が示す版数の次の版数、処理実行項目に処理実行不要、同期対象処理系列項目に前記版管理表の同期対象処理系列項目の内容、更新ログ項目に更新後ログ情報がない旨をそれぞれ格納した更新ログ(同期データ)を、前記更新したマスターデータベースに対応する前記処理系列の前記マスター側更新ログ格納表に格納した後、前記版管理表の同期済項目を同期済みに更新し、また、通番項目に最新の通番、版数項目に前記版管理表の前記版数項目が示す版数、処理実行項目に処理実行要、同期対象処理系列項目に同期を取る必要のある他の処理系列がない旨、更新ログ項目に更新後ログ情報をそれぞれ格納した更新ログを、前記更新したマスターデータベースに対応する前記処理系列の前記マスター側更新ログ格納表に格納し、さらに、前記版管理表における同期を取る必要のある他の処理系列の前記同期済情報が同期済みでなければ、通番項目に最新の通番、版数項目に前記版管理表の前記版数項目が示す版数の次の版数、処理実行項目に処理実行不要、同期対象処理系列項目に前記版管理表の同期対象処理系列項目の内容、更新ログ項目に更新後ログ情報がない旨をそれぞれ格納した更新ログ(同期データ)を、当該他の処理系列の前記マスター側更新ログ格納表に格納して前記同期済情報を同期済みに更新し、
前記更新ログ反映手段は、対応する前記複製側更新ログ格納表から更新ログを参照し、当該更新ログ中の版数項目の版数が前記同期情報管理表の同じ処理系列の版数項目の版数と同じであれば、前記更新ログ中の更新後ログ項目の内容に基づいて前記複製データベースを更新し、前記更新ログ中の版数項目の版数が前記同期情報管理表の同じ処理系列の版数項目の版数と異なっていれば、更新ログ中の版数項目および同期対象処理系列情報項目の内容で前記同期情報管理表の同じ処理系列の版数項目および同期対象処理系列情報項目を更新し、該更新後の前記同期対象処理系列情報項目が同期すべき他の処理系列がないことを示していれば、前記更新ログ中の更新後ログ項目の内容に基づいて前記複製データベースを更新し、同期すべき他の処理系列があることを示していれば、前記同期情報管理表の当該他の処理系列の版数項目の版数が自処理系列の版数と同じになるまで待機した後、前記更新ログ中の更新後ログ項目の内容に基づいて前記複製データベースを更新する
データベースのレプリケーション方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011052368A JP5673234B2 (ja) | 2011-03-10 | 2011-03-10 | データベースのレプリケーション方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011052368A JP5673234B2 (ja) | 2011-03-10 | 2011-03-10 | データベースのレプリケーション方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012190207A JP2012190207A (ja) | 2012-10-04 |
JP5673234B2 true JP5673234B2 (ja) | 2015-02-18 |
Family
ID=47083300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011052368A Expired - Fee Related JP5673234B2 (ja) | 2011-03-10 | 2011-03-10 | データベースのレプリケーション方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5673234B2 (ja) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3064319B2 (ja) * | 1990-02-28 | 2000-07-12 | 株式会社日立製作所 | 高信頼性オンラインシステム |
JP3598202B2 (ja) * | 1997-05-30 | 2004-12-08 | 株式会社日立製作所 | オンラインシステム |
JP4549793B2 (ja) * | 2004-09-21 | 2010-09-22 | 株式会社日立製作所 | データ処理方法、データベースシステム及びストレージ装置 |
JP5343436B2 (ja) * | 2008-07-30 | 2013-11-13 | 富士通株式会社 | 情報管理システム |
JP5168166B2 (ja) * | 2009-01-21 | 2013-03-21 | 富士通株式会社 | 通信装置および通信制御方法 |
JP5494915B2 (ja) * | 2009-04-01 | 2014-05-21 | 日本電気株式会社 | レプリケーションシステム、マスタサーバ、レプリカサーバ、レプリケーション方法、及びプログラム |
US8108343B2 (en) * | 2009-04-23 | 2012-01-31 | Microsoft Corporation | De-duplication and completeness in multi-log based replication |
US8671074B2 (en) * | 2010-04-12 | 2014-03-11 | Microsoft Corporation | Logical replication in clustered database system with adaptive cloning |
-
2011
- 2011-03-10 JP JP2011052368A patent/JP5673234B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012190207A (ja) | 2012-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10866967B2 (en) | Multi-replica asynchronous table replication | |
US9645753B2 (en) | Overlapping write detection and processing for sync replication | |
US7958088B2 (en) | Dynamic data reorganization to accommodate growth across replicated databases | |
US9529810B2 (en) | Methods of synchronizing files including synchronized hash map linked lists and related data processing nodes | |
CN111104069B (zh) | 分布式存储系统的多区域数据处理方法、装置及电子设备 | |
CN102629268A (zh) | 数据同步方法、系统及数据访问装置 | |
CN102098342A (zh) | 一种基于事务级的数据同步方法、装置及系统 | |
CN106605217B (zh) | 用于将应用从一个站点移动到另一站点的方法和系统 | |
US20220035786A1 (en) | Distributed database management system with dynamically split b-tree indexes | |
CN105550306A (zh) | 多副本数据的读写方法及系统 | |
CN104021200A (zh) | 一种数据库的数据同步方法和装置 | |
CN104917798A (zh) | 一种数据更新的方法和系统 | |
US20190073153A1 (en) | Efficient repository migration and storage | |
CN105956207A (zh) | 一种基于binlog的可配置的mysql数据库实时同步方法 | |
CN106855869B (zh) | 一种实现数据库高可用的方法、装置和系统 | |
JP5673234B2 (ja) | データベースのレプリケーション方法 | |
JP2007304898A (ja) | 分散データベースシステムおよび方法、並びに、この方法のプログラムおよびこのプログラムを記録した記録媒体 | |
CN113515574B (zh) | 一种数据同步方法及装置 | |
CN115705269A (zh) | 数据同步方法、系统、服务器及存储介质 | |
EP2980707B1 (en) | Method for creating a database clone of a distributed database, system for creating a database clone of a distributed database, program and computer program product | |
CN111522688B (zh) | 分布式系统的数据备份方法及装置 | |
US20210081365A1 (en) | Applying Rules to Client Updates on Shared Records to Trigger System-Generated Updates | |
KR101553712B1 (ko) | 로그에 기반하여 데이터 정합성을 유지하는 분산 저장 시스템 및 방법 | |
CN104504123B (zh) | 一种基于日志拆分的目录复制实现方法 | |
KR101748912B1 (ko) | 분산 저장 환경에서 데이터 저장 시스템 및 데이터 저장 시스템이 포함하는 클러스터의 업그레이드, 확장 및 축소를 위한 클러스터 관리 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD07 | Notification of extinguishment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7427 Effective date: 20120719 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140207 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140822 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140902 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141030 |
|
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: 20141202 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141215 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5673234 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |