JP6553125B2 - データベースサーバ、データベース管理方法、およびプログラム - Google Patents
データベースサーバ、データベース管理方法、およびプログラム Download PDFInfo
- Publication number
- JP6553125B2 JP6553125B2 JP2017120318A JP2017120318A JP6553125B2 JP 6553125 B2 JP6553125 B2 JP 6553125B2 JP 2017120318 A JP2017120318 A JP 2017120318A JP 2017120318 A JP2017120318 A JP 2017120318A JP 6553125 B2 JP6553125 B2 JP 6553125B2
- Authority
- JP
- Japan
- Prior art keywords
- database
- database server
- server
- request
- state
- 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
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/273—Asynchronous replication or reconciliation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2082—Data synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- 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
-
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
に関する。
を、図面を参照して説明する。
図1は、実施形態のデータベースシステム1の構成図である。データベースシステム1は、クライアント300からの要求に応じて、ストレージ装置に格納したデータベースを管理するシステムである。クライアント300は、例えば、ネットワーク(不図示)を介してデータベースシステム1に要求(換言するとコマンド、リクエスト)を送信する各種コンピュータ装置である。クライアント300は、データベースシステム1よりも上位のデータベースシステムの管理コンピュータであってもよい。要求は、例えばSQL文によって伝達される。実施形態では、クライアント300とデータベースシステム1との通信経路をクライアントリンクCLと称し、図示する。
第1DBサーバ100は、例えば、DB管理部110と、DB120と、レプリケーション処理部130と、更新リストモジュール140とを備える。DB管理部110およびレプリケーション処理部130は、例えば、CPU(Central Processing Unit)などのプロセッサがプログラム(ソフトウェア)を実行することにより実現される。また、これらのうち一方または双方は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)などのハードウェア(回路部:circuitry)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。
第2DBサーバ200は、例えば、DB管理部210と、DB220と、レプリケーション処理部230と、更新リストモジュール240とを備える。DB管理部210およびレプリケーション処理部230は、例えば、CPUなどのプロセッサがプログラム(ソフトウェア)を実行することにより実現される。また、これらのうち一方または双方は、LSIやASIC、FPGAなどのハードウェア(回路部:circuitry)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。
以下、ステージシステム1における処理の内容について、より詳細に説明する。まず、前述した通常時の処理について説明する。図2〜6は、通常時におけるステージシステム1の動作を説明するための図である。
以下、スイッチオーバー時の処理について説明する。図7〜14は、スイッチオーバー時におけるステージシステム1の動作を説明するための図である。
以下、スイッチオーバー時におけるデータベースシステム1における処理の流れについて説明する。ここでは、第1DBサーバ100が旧マスターDBであり、第2DBサーバ200が新マスターDBであるものとして説明するが、逆の場合もあり得る。
なお、以上の説明では、データベースシステムは、二つのDBサーバを備えるものとして説明したが、データベースシステムは、三つ以上のDBサーバを備えてもよい。図19は、三つ以上のDBサーバを備えるデータベースシステム2の概略図である。図では、第1DBサーバ100Aと、第2DBサーバ200Aと、一以上の第nDBサーバ400A(nは3以上の自然数)とを備えるデータベースシステム2を示している。それぞれのDBサーバは、DB管理部と、DBと、更新リストモジュールと、レプリケーション処理部とを備える。
110 DB管理部
120 DB
130 レプリケーション処理部
140 更新リストモジュール
141 送信更新リスト
142 受信更新リスト
143 送信更新テーブルリスト
144 受信更新テーブルリスト
210 DB管理部
220 DB
230 レプリケーション処理部
240 更新リストモジュール
241 送信更新リスト
242 受信更新リスト
243 送信更新テーブルリスト
244 受信更新テーブルリスト
Claims (9)
- 複数のデータベースサーバを備えるデータベースシステムに含まれるデータベースサーバであって、
自データベースサーバが、クライアントからの要求を受け付ける第1の状態である場合、前記クライアントからの要求に応じてデータベースを更新し、前記要求に基づき前記複数のデータベースサーバに含まれる他のデータベースサーバに当該他のデータベースサーバのデータベースを更新させるための更新データと、データの管理単位ごとの前記更新データの管理情報とをメモリに登録するデータベース管理部と、
自データベースサーバが、前記第1の状態である場合、前記メモリに登録された更新データを前記他のデータベースサーバに送信する同期処理部と、を備え、
自データベースサーバが、役割変更指示に応じて前記第1の状態から第2の状態に遷移するとき、前記同期処理部は、前記メモリに登録された前記管理情報を前記他のデータベースサーバに送信し、
自データベースサーバが、前記第2の状態である場合、前記同期処理部は、前記メモリに登録された更新データを前記他のデータベースサーバに送信し、
自データベースサーバが、前記第2の状態である場合、前記データベース管理部は、前記他のデータベースサーバから受信される要求に基づいて前記データベースを更新し、前記更新データと前記管理情報とを更新せず、
自データベースサーバが、前記第2の状態から遷移する第3の状態である場合、前記同期処理部は、前記複数のデータベースサーバに含まれる他のデータベースサーバから受信した更新データに基づいて前記データベースを更新する、
データベースサーバ。 - 自データベースサーバが、前記役割変更指示に応じて前記第3の状態から遷移する第4の状態である場合、前記データベース管理部は、前記他のデータベースサーバから受信した前記管理情報を参照し、前記クライアントからの要求が、前記他のデータベースサーバのデータベースにおいて更新され且つ自データベースサーバのデータベースにおいて更新されていない管理単位に関する要求であるか否かを判定し、前記他のデータベースサーバのデータベースにおいて更新され且つ自データベースサーバのデータベースにおいて更新されていない管理単位に関する要求である場合に、前記他のデータベースサーバに、前記要求に基づく情報を送信する、
請求項1記載のデータベースサーバ。 - 自データベースサーバが、前記第4の状態である場合、
前記データベース管理部は、前記他のデータベースサーバのデータベースにおいて更新され且つ自データベースサーバのデータベースにおいて更新されていない管理単位に関する要求に基づく更新データをメモリに登録し、
前記データベース管理部または前記同期処理部は、前記他のデータベースサーバから前記他のデータベースサーバのデータベースにおいて更新され且つ自データベースサーバのデータベースにおいて更新されていない管理単位に関する更新データを受信して自データベースサーバのデータベースを更新した後に、前記メモリに登録した更新データを自データベースサーバのデータベースに反映させる、
請求項2記載のデータベースサーバ。 - 複数のデータベースサーバを備えるデータベースシステムに含まれるデータベースサーバであって、
自データベースサーバが、クライアントからの要求を受け付けない第3の状態である場合、前記複数のデータベースサーバに含まれる他のデータベースサーバから受信した更新データに基づいてデータベースを更新する同期処理部と、
自データベースサーバが、役割変更指示に応じて前記第3の状態から遷移する第4の状態である場合、前記他のデータベースサーバから受信した管理情報を参照し、前記クライアントからの要求が、前記他のデータベースサーバのデータベースにおいて更新され且つ自データベースサーバのデータベースおいて更新されていない管理単位に関する要求であるか否かを判定し、前記他のデータベースサーバのデータベースにおいて更新され且つ自データベースサーバのデータベースにおいて更新されていない管理単位に関する要求である場合に、前記他のデータベースサーバに、前記要求に基づく情報を送信するデータベース管理部と、
を備えるデータベースサーバ。 - 自データベースサーバが、前記第4の状態である場合、
前記データベース管理部は、前記他のデータベースサーバのデータベースにおいて更新され且つ自データベースサーバのデータベースにおいて更新されていない管理単位に関する要求に基づく更新データをメモリに登録し、
前記データベース管理部または前記同期処理部は、前記他のデータベースサーバから前記他のデータベースサーバのデータベースにおいて更新され且つ自データベースサーバのデータベースにおいて更新されていない管理単位に関する更新データを受信して自データベースサーバのデータベースを更新した後に、前記メモリに登録した更新データを自データベースサーバのデータベースに反映させる、
請求項4記載のデータベースサーバ。 - 複数のデータベースサーバを備えるデータベースシステムに含まれるデータベースサーバが、
自データベースサーバが、クライアントからの要求を受け付ける第1の状態である場合、
前記クライアントからの要求に応じてデータベースを更新し、
前記要求に基づき前記複数のデータベースサーバに含まれる他のデータベースサーバに当該他のデータベースサーバのデータベースを更新させるための更新データと、データの管理単位ごとの前記更新データの管理情報とをメモリに登録し、
前記メモリに登録された更新データを前記他のデータベースに送信し、
自データベースサーバが、役割変更指示に応じて前記第1の状態から第2の状態に遷移するとき、
前記メモリに登録された前記管理情報を前記他のデータベースサーバに送信し、
自データベースサーバが、前記第2の状態である場合、
前記メモリに登録された更新データを前記他のデータベースサーバに送信し、
前記他のデータベースサーバから受信される要求に基づいて前記データベースを更新し、
前記更新データと前記管理情報とを更新せず、
自データベースサーバが、前記第2の状態から遷移する第3の状態である場合、
前記複数のデータベースサーバに含まれる他のデータベースサーバサーバから受信した更新データに基づいて前記データベースを更新する、
データベース管理方法。 - 複数のデータベースサーバを備えるデータベースシステムに含まれるデータベースサーバが、
自データベースサーバが、クライアントからの要求を受け付けない第3の状態である場合、
前記複数のデータベースサーバに含まれる他のデータベースサーバから受信した更新データに基づいてデータベースを更新し、
自データベースサーバが、役割変更指示に応じて前記第3の状態から遷移する第4の状態である場合、
前記他のデータベースサーバから受信した管理情報を参照し、前記クライアントからの要求が、前記他のデータベースサーバのデータベースにおいて更新され且つ自データベースサーバのデータベースおいて更新されていない管理単位に関する要求であるか否かを判定し、
前記他のデータベースサーバのデータベースにおいて更新され且つ自データベースサーバのデータベースにおいて更新されていない管理単位に関する要求である場合に、前記他のデータベースサーバに、前記要求に基づく情報を送信する、
データベース管理方法。 - 複数のデータベースサーバを備えるデータベースシステムに含まれるデータベースサーバに、
自データベースサーバが、クライアントからの要求を受け付ける第1の状態である場合、
前記クライアントからの要求に応じてデータベースを更新させ、
前記要求に基づき前記複数のデータベースサーバに含まれる他のデータベースサーバに当該他のデータベースサーバのデータベースを更新させるための更新データと、データの管理単位ごとの前記更新データの管理情報とをメモリに登録させ、
前記メモリに登録された更新データを前記他のデータベースに送信させ、
自データベースサーバが、役割変更指示に応じて前記第1の状態から第2の状態に遷移するとき、
前記メモリに登録された前記管理情報を前記他のデータベースサーバに送信させ、
自データベースサーバが、前記第2の状態である場合、
前記メモリに登録された更新データを前記他のデータベースに送信させ、
前記他のデータベースサーバから受信される要求に基づいて前記データベースを更新させ、
前記更新データと前記管理情報とを更新させず、
自データベースサーバが、前記第2の状態から遷移する第3の状態である場合、
前記複数のデータベースサーバに含まれる他のデータベースサーバから受信した更新データに基づいて前記データベースを更新させる、
プログラム。 - 複数のデータベースサーバを備えるデータベースシステムに含まれるデータベースサーバが、
自データベースサーバが、クライアントからの要求を受け付けない第3の状態である場合、
前記複数のデータベースサーバに含まれる他のデータベースサーバから受信した更新データに基づいてデータベースを更新させ、
自データベースサーバが、役割変更指示に応じて前記第3の状態から遷移する第4の状態である場合、
前記他のデータベースサーバから受信した管理情報を参照し、前記クライアントからの要求が、前記他のデータベースサーバのデータベースにおいて更新され且つ自データベースサーバのデータベースおいて更新されていない管理単位に関する要求であるか否かを判定させ、
前記他のデータベースサーバのデータベースにおいて更新され且つ自データベースサーバのデータベースにおいて更新されていない管理単位に関する要求である場合に、前記他のデータベースサーバに、前記要求に基づく情報を送信させる、
プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017120318A JP6553125B2 (ja) | 2017-06-20 | 2017-06-20 | データベースサーバ、データベース管理方法、およびプログラム |
PCT/JP2018/008667 WO2018235348A1 (ja) | 2017-06-20 | 2018-03-07 | データベースサーバ、データベース管理方法、および記憶媒体 |
US16/082,771 US11269922B2 (en) | 2017-06-20 | 2018-03-07 | Database server, database management method, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017120318A JP6553125B2 (ja) | 2017-06-20 | 2017-06-20 | データベースサーバ、データベース管理方法、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019003584A JP2019003584A (ja) | 2019-01-10 |
JP6553125B2 true JP6553125B2 (ja) | 2019-07-31 |
Family
ID=64736062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017120318A Active JP6553125B2 (ja) | 2017-06-20 | 2017-06-20 | データベースサーバ、データベース管理方法、およびプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US11269922B2 (ja) |
JP (1) | JP6553125B2 (ja) |
WO (1) | WO2018235348A1 (ja) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3877519B2 (ja) * | 2000-12-15 | 2007-02-07 | 株式会社日立製作所 | システム回復方法およびその実施計算機システム並びにその処理プログラムを記録した記録媒体 |
JP4582297B2 (ja) * | 2004-06-25 | 2010-11-17 | 日本電気株式会社 | レプリケーションシステム、装置、方法、およびプログラム |
US7475281B2 (en) * | 2005-03-10 | 2009-01-06 | International Business Machines Corporation | Method for synchronizing replicas of a database |
US9239767B2 (en) * | 2008-12-22 | 2016-01-19 | Rpx Clearinghouse Llc | Selective database replication |
US10747776B2 (en) * | 2012-12-04 | 2020-08-18 | International Business Machines Corporation | Replication control using eventually consistent meta-data |
JP6248747B2 (ja) * | 2014-03-28 | 2017-12-20 | 富士通株式会社 | 情報処理装置、制御方法および制御プログラム |
US10282433B1 (en) * | 2015-11-17 | 2019-05-07 | Quintiles Ims Incorporated | Management of database migration |
JP6676352B2 (ja) * | 2015-11-27 | 2020-04-08 | 株式会社三菱Ufj銀行 | データ処理装置 |
-
2017
- 2017-06-20 JP JP2017120318A patent/JP6553125B2/ja active Active
-
2018
- 2018-03-07 US US16/082,771 patent/US11269922B2/en active Active
- 2018-03-07 WO PCT/JP2018/008667 patent/WO2018235348A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2018235348A1 (ja) | 2018-12-27 |
US11269922B2 (en) | 2022-03-08 |
US20200110760A1 (en) | 2020-04-09 |
JP2019003584A (ja) | 2019-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11899684B2 (en) | System and method for maintaining a master replica for reads and writes in a data store | |
US20200228393A1 (en) | System and method for data replication using a single master failover protocol | |
US10929240B2 (en) | System and method for adjusting membership of a data replication group | |
US11893264B1 (en) | Methods and systems to interface between a multi-site distributed storage system and an external mediator to efficiently process events related to continuity | |
US8719225B1 (en) | System and method for log conflict detection and resolution in a data store | |
US9489434B1 (en) | System and method for replication log branching avoidance using post-failover rejoin | |
JP2010061559A (ja) | 情報処理システム、データ更新方法およびデータ更新プログラム | |
WO2012045245A1 (zh) | 一种保持数据一致性的方法及系统 | |
JP5724735B2 (ja) | データベース更新制御装置、データベース管理システムおよびデータベース更新制御プログラム | |
US10970256B2 (en) | Reconciler for a distributed storage system | |
Domaschka et al. | Reliability and availability properties of distributed database systems | |
US20220197761A1 (en) | Cloud architecture for replicated data services | |
WO2015196692A1 (zh) | 一种云计算系统以及云计算系统的处理方法和装置 | |
JP6553125B2 (ja) | データベースサーバ、データベース管理方法、およびプログラム | |
JP5416490B2 (ja) | 分散データ管理システム、データ管理装置、データ管理方法、およびプログラム | |
JP5494915B2 (ja) | レプリケーションシステム、マスタサーバ、レプリカサーバ、レプリケーション方法、及びプログラム | |
KR101696911B1 (ko) | 분산 데이터 베이스 장치 및 그 장치에서의 스트림 데이터 처리 방법 | |
JP6291977B2 (ja) | 分散ファイルシステム、バックアップファイル取得方法、制御装置及び管理装置 | |
JP6404892B2 (ja) | データベースシステムおよびデータ処理方法 | |
JP6200387B2 (ja) | 冗長化システム、およびレプリケーション方法 | |
WO2024005829A1 (en) | Conflict resolution for object metadata |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190402 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190521 |
|
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: 20190604 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190703 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6553125 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |