JP6557720B2 - データベースシステム、装置、方法およびプログラム - Google Patents
データベースシステム、装置、方法およびプログラム Download PDFInfo
- Publication number
- JP6557720B2 JP6557720B2 JP2017509083A JP2017509083A JP6557720B2 JP 6557720 B2 JP6557720 B2 JP 6557720B2 JP 2017509083 A JP2017509083 A JP 2017509083A JP 2017509083 A JP2017509083 A JP 2017509083A JP 6557720 B2 JP6557720 B2 JP 6557720B2
- Authority
- JP
- Japan
- Prior art keywords
- database
- update
- node
- transaction log
- log
- 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
- 238000000034 method Methods 0.000 title claims description 57
- 238000012545 processing Methods 0.000 claims description 63
- 230000008569 process Effects 0.000 claims description 40
- 230000005540 biological transmission Effects 0.000 claims description 19
- 230000001360 synchronised effect Effects 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 7
- 230000010365 information processing Effects 0.000 claims description 6
- 230000010076 replication Effects 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 3
- 230000003362 replicative effect Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
以下、複数のノードを有するデータベースシステムにおいて、1のノードが更新命令を受信した場合に、当該更新命令に係る更新内容を、データベースシステムに属する複数のノードが管理する夫々のデータベースに対してレプリケーションする技術を説明する。本開示に係るレプリケーション技術は、本実施形態において例示されたシステムに限らず、複数のノードを有するデータベースシステムに適用可能である。なお、本実施形態では、本開示に係るレプリケーション技術を階層型マルチマスターデータベースシステムに適用する例について説明する。
次に、本実施形態に係る処理の詳細を説明する。なお、本実施形態において説明される処理の具体的な内容および順序等は、実施する上での一例である。具体的な処理内容および順序等は、実施の態様に応じて適宜選択されてよい。
従来、複数のマスターノードが階層的に構成されたマルチマスターデータベースシステムにおいて、下位マスターノードが、下位マスターノードのデータベースのシャドウコピーとメモリ上に展開されたヒープタプルマップとを書込セットとして上位マスターノードに対して送信し、書込セットを受信した上位マスターノードが、書込セットに基づいて上位マスターノードのデータベースを更新して、その更新記録をトランザクションログ(本実施形態における確定トランザクションログに相当)として下位マスターノードに送信し、下位マスターノードのデータベースが当該トランザクションログに基づいて下位マスターノードのデータベースを更新する技術があった(更新後ログ生成ルート)。
Claims (13)
- 複数のノードを備えるデータベースシステムであって、
前記複数のノードのうち、第一のノードは、
他のノードのデータベースと同期される第一のデータベースを管理する第一のデータベース管理手段と、
前記第一のデータベースに対する更新命令を受け付ける更新命令受付手段と、
前記更新命令に基づく更新を前記第一のデータベースに加えることなく、該更新命令に基づく該第一のデータベースの更新内容および該第一のデータベースにおいて更新対象となるデータ単位を把握可能な情報を含む書込セットを生成する書込セット生成手段と、
前記書込セットを、前記複数のノードのうちの第二のノードに送信する書込セット送信手段と、を備え、
前記第二のノードは、
他のノードのデータベースと同期される第二のデータベースを管理する第二のデータベース管理手段と、
前記第一のノードから送信された前記書込セットを受信する書込セット受信手段と、
前記書込セットに基づく変更が前記第二のデータベースに加えられる前に、該書込セットに基づいて該第二のデータベースに加えられる変更の仮の履歴を示す仮トランザクションログを生成する更新前ログ生成手段と、
前記第二のデータベースに更新が加えられた後に、前記第二のデータベースに加えられた変更の履歴を示す確定トランザクションログを生成する更新後ログ生成手段と、
を備える、
データベースシステム。 - 前記第一のノードは、
前記確定トランザクションログおよび前記仮トランザクションログに係る命令の時系列上の順序を把握可能な識別情報を管理する第一の識別情報管理手段と、
前記書込セットが生成される際に、前記更新に係るデータ単位が配置される領域を仮決定する仮決定手段と、
前記第一の識別情報管理手段によって管理されている前記識別情報のうち、前記仮決定が行われた時点における、少なくとも前記領域に係る最新の識別情報を取得する識別情報取得手段と、
前記書込セットの送信と併せて、前記仮決定された領域を識別可能な情報および前記最新の識別情報を送信する追加情報送信手段と、を更に備え、
前記第二のノードは、
前記確定トランザクションログおよび前記仮トランザクションログに係る命令の時系列上の順序を把握可能な識別情報を管理する第二の識別情報管理手段と、
前記第二のデータベースに含まれる前記領域毎に、最新の更新に係る前記識別情報を保持する最新識別情報保持手段と、
前記仮決定された領域を識別可能な情報および前記最新の識別情報を受信する追加情報受信手段と、
前記仮決定された領域の前記第二のデータベースにおける最新の更新に係る識別情報と、前記第一のノードから受信された前記最新の識別情報とを比較することで、前記仮決定された領域において更新が衝突する可能性を判定する衝突判定手段と、を更に備え、
前記更新前ログ生成手段は、前記衝突判定手段によって前記仮決定された領域において更新が衝突する可能性が有ると判定されなかった場合に、前記書込セットに基づく変更が前記第二のデータベースに加えられる前に前記仮トランザクションログを生成する、
請求項1に記載のデータベースシステム。 - 前記第二のデータベース管理手段は、前記衝突判定手段によって前記仮決定された領域において更新が衝突する可能性が有ると判定された場合に、前記書込セットに基づいて、前記第二のデータベースを更新し、
前記更新後ログ生成手段は、前記第二のデータベース管理手段による更新結果に基づいて、前記確定トランザクションログを生成する、
請求項2に記載のデータベースシステム。 - 前記第二のノードは、
前記第二のデータベースにおいて更新されたデータ単位を示す情報を蓄積する更新データ単位情報蓄積手段と、
前記書込セット受信手段によって受信された書込セットに含まれる、前記第一のデータベースにおいて更新対象となるデータ単位を把握可能な情報と、前記更新データ単位情報蓄積手段によって蓄積された、前記第二のデータベースにおいて更新されたデータ単位を示す情報とを比較することで、更新対象データ単位の競合の有無を判定する競合判定手段と、を更に備え、
前記競合判定手段によって更新対象データ単位の競合が有ると判定された場合に、前記書込セットに基づく前記第二のデータベースの更新が中止される、
請求項1から3の何れか一項に記載のデータベースシステム。 - 前記第二のノードは、
前記確定トランザクションログまたは前記仮トランザクションログを、前記第一のノードに対して送信するログ送信手段を更に備え、
前記第一のノードは、
前記第二のノードから送信された前記確定トランザクションログまたは前記仮トランザクションログを受信するログ受信手段を更に備え、
前記第一のデータベース管理手段は、前記確定トランザクションログまたは前記仮トランザクションログに基づいて前記第一のデータベースを更新する、
請求項1から4の何れか一項に記載のデータベースシステム。 - 前記第二のデータベース管理手段は、前記仮トランザクションログに基づいて前記第二のデータベースを更新する、
請求項1から5の何れか一項に記載のデータベースシステム。 - 前記第二のノードは、
前記第二のデータベースに対するクエリを受け付けるクエリ受付手段と、
前記クエリを処理するクエリ処理手段と、
前記クエリ処理手段によってクエリが処理される前に、前記更新前ログ生成手段によって生成された仮トランザクションログであって、前記第二のデータベース管理手段によって前記第二のデータベースに未反映の仮トランザクションログの有無を判定する遅延判定手段と、を更に備え、
前記第二のデータベース管理手段は、前記遅延判定手段によって未反映の仮トランザクションログが有ると判定された場合に、該未反映の仮トランザクションログに基づいて前記第二のデータベースを更新する、
請求項6に記載のデータベースシステム。 - 前記第二のノードは、
前記第二のデータベースに対するクエリを受け付けるクエリ受付手段と、
前記クエリを処理するクエリ処理手段と、
前記クエリ処理手段によってクエリが処理される前に、前記更新前ログ生成手段によって生成された仮トランザクションログであって、前記第二のデータベース管理手段によって前記第二のデータベースに未反映の仮トランザクションログの有無を判定する遅延判定手段と、を更に備え、
前記遅延判定手段は、前記クエリを処理するにあたって必要な前記領域について、前記未反映の仮トランザクションログの有無を判定し、
前記第二のデータベース管理手段は、前記遅延判定手段によって未反映の仮トランザクションログが有ると判定された場合に、該未反映の仮トランザクションログに基づいて、前記第二のデータベースのうち、前記クエリを処理するにあたって必要な前記領域を更新する、
請求項2又は3に記載のデータベースシステム。 - 前記第二のノードは、
前記確定トランザクションログおよび前記仮トランザクションログに係る命令の時系列上の順序を把握可能な識別情報のうち、前記未反映の仮トランザクションログに係る前記識別情報を保持する未反映識別情報保持手段を更に備え、
前記遅延判定手段は、前記未反映識別情報保持手段によって保持される前記未反映の仮トランザクションログに係る前記識別情報を参照することで、前記未反映の仮トランザクションログの有無を判定する、
請求項8に記載のデータベースシステム。 - 前記第二のデータベースの前記領域の夫々には、前記確定トランザクションログおよび前記仮トランザクションログに係る命令の時系列上の順序を把握可能な識別情報のうち、該領域に反映済のトランザクションに係る該識別情報が記録され、
前記遅延判定手段は、前記クエリに係る前記領域の最新の更新に係る前記識別情報と、該領域に記録されている前記反映済トランザクションに係る前記識別情報とを比較することで、前記未反映の仮トランザクションログの有無を判定する、
請求項8に記載のデータベースシステム。 - 複数のノードを備えるデータベースシステムにノードとして属する情報処理装置であって、
他のノードによって管理される第一のデータベースと同期される第二のデータベースを管理するデータベース管理手段と、
前記他のノードから送信された、前記第一のデータベースに対する更新命令に基づく更新内容および更新対象となるデータ単位を把握可能な情報を含む書込セットを受信する書込セット受信手段と、
前記書込セットに基づく変更が前記第二のデータベースに加えられる前に、該書込セットに基づいて該第二のデータベースに加えられる変更の仮の履歴を示す仮トランザクションログを生成する更新前ログ生成手段と、を備える、
情報処理装置。 - 複数のノードを備えるデータベースシステムにおいて実行される方法であって、
前記複数のノードのうち、他のノードのデータベースと同期される第一のデータベースを管理する第一のノードが、
前記第一のデータベースに対する更新命令を受け付ける更新命令受付ステップと、
前記更新命令に基づく更新を前記第一のデータベースに加えることなく、該更新命令に基づく該第一のデータベースの更新内容および該第一のデータベースにおいて更新対象となるデータ単位を把握可能な情報を含む書込セットを生成する書込セット生成ステップと、
前記書込セットを、前記複数のノードのうちの第二のノードに送信する書込セット送信ステップと、を実行し、
他のノードのデータベースと同期される第二のデータベースを管理する前記第二のノードが、
前記第一のノードから送信された前記書込セットを受信する書込セット受信ステップと、
前記書込セットに基づく変更が前記第二のデータベースに加えられる前に、該書込セットに基づいて該第二のデータベースに加えられる変更の仮の履歴を示す仮トランザクションログを生成する更新前ログ生成ステップと、を実行する、
方法。 - 複数のノードを備えるデータベースシステムにノードとして属し、他のノードによって管理される第一のデータベースと同期される第二のデータベースを管理する情報処理装置のコンピューターに、
前記他のノードから送信された、前記第一のデータベースに対する更新命令に基づく更新内容および更新対象となるデータ単位を把握可能な情報を含む書込セットを受信する書込セット受信ステップと、
前記書込セットに基づく変更が前記第二のデータベースに加えられる前に、該書込セットに基づいて該第二のデータベースに加えられる変更の仮の履歴を示す仮トランザクションログを生成する更新前ログ生成ステップと、を実行させる、
プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/060298 WO2016157466A1 (ja) | 2015-03-31 | 2015-03-31 | データベースシステム、装置、方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2016157466A1 JPWO2016157466A1 (ja) | 2018-01-25 |
JP6557720B2 true JP6557720B2 (ja) | 2019-08-07 |
Family
ID=57006640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017509083A Active JP6557720B2 (ja) | 2015-03-31 | 2015-03-31 | データベースシステム、装置、方法およびプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6557720B2 (ja) |
WO (1) | WO2016157466A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11256714B1 (en) | 2020-10-26 | 2022-02-22 | Coupang Corp. | Systems and methods for managing event storage |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012056734A1 (ja) * | 2010-10-26 | 2012-05-03 | 株式会社Murakumo | データベースの管理方法 |
-
2015
- 2015-03-31 JP JP2017509083A patent/JP6557720B2/ja active Active
- 2015-03-31 WO PCT/JP2015/060298 patent/WO2016157466A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2016157466A1 (ja) | 2016-10-06 |
JPWO2016157466A1 (ja) | 2018-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4699516B2 (ja) | 名前空間複製プログラム、名前空間複製装置、名前空間複製方法 | |
JP4414381B2 (ja) | ファイル管理プログラム、ファイル管理装置、ファイル管理方法 | |
US20130124470A1 (en) | Asynchronous distributed garbage collection for replicated storage clusters | |
JP5186390B2 (ja) | ノードの番号付けによるファイル・システムのダンプ/復元のための方法、システム、およびデバイス | |
JP6361223B2 (ja) | トランザクションシステム | |
KR20210058118A (ko) | CaseDB: 엣지컴퓨팅을 위한 저비용 Put-Intensive 키-벨류 저장장치 | |
CN107870954A (zh) | 一种分布式数据库的扩展方法及装置 | |
CN105376269B (zh) | 虚拟机存储系统及其实现方法和装置 | |
JP6293709B2 (ja) | ストレージシステムおよびストレージシステム用プログラム | |
CN112965939A (zh) | 一种文件合并方法、装置和设备 | |
CN102779088A (zh) | 事务处理设备、事务处理方法及事务处理程序 | |
CN110352410A (zh) | 跟踪索引节点的访问模式以及预提取索引节点 | |
US20180011897A1 (en) | Data processing method having structure of cache index specified to transaction in mobile environment dbms | |
JP6557720B2 (ja) | データベースシステム、装置、方法およびプログラム | |
US20230376470A1 (en) | Moving Window Data Deduplication in Distributed Storage | |
JP5960798B2 (ja) | データベースの管理方法 | |
CN106528876B (zh) | 分布式系统的信息处理方法及分布式信息处理系统 | |
CN110019130A (zh) | 一种数据库更新的方法及装置 | |
US8615769B2 (en) | Data processing system, data processing method, and data processing program | |
US10452492B2 (en) | Method, apparatus, and computer program stored in computer readable medium for recovering block in database system | |
US20200249876A1 (en) | System and method for data storage management | |
JP2010224672A (ja) | データ処理方法、システム、およびプログラム | |
JP6239697B2 (ja) | データベースの管理方法 | |
JP2005293323A (ja) | 異種rdbms間での差分配信レコード反映システム | |
US20230273728A1 (en) | Storage control apparatus and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180313 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190219 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190409 |
|
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: 20190709 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190712 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6557720 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |