JP2021513715A - 分散データベースクラスタシステム、及びデータ同期方法 - Google Patents
分散データベースクラスタシステム、及びデータ同期方法 Download PDFInfo
- Publication number
- JP2021513715A JP2021513715A JP2020565003A JP2020565003A JP2021513715A JP 2021513715 A JP2021513715 A JP 2021513715A JP 2020565003 A JP2020565003 A JP 2020565003A JP 2020565003 A JP2020565003 A JP 2020565003A JP 2021513715 A JP2021513715 A JP 2021513715A
- Authority
- JP
- Japan
- Prior art keywords
- database
- operation instruction
- cluster system
- data
- distributed database
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 149
- 230000001360 synchronised effect Effects 0.000 claims abstract description 136
- 238000003860 storage Methods 0.000 claims abstract description 27
- 238000012545 processing Methods 0.000 claims description 65
- 230000008569 process Effects 0.000 claims description 44
- 239000000872 buffer Substances 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 21
- 238000004806 packaging method and process Methods 0.000 claims description 17
- 230000002085 persistent effect Effects 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000005096 rolling process Methods 0.000 claims description 3
- 230000000737 periodic effect Effects 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 27
- 238000010586 diagram Methods 0.000 description 22
- 238000011084 recovery Methods 0.000 description 20
- 238000013075 data extraction Methods 0.000 description 14
- 238000009826 distribution Methods 0.000 description 12
- 238000003672 processing method Methods 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 10
- 238000000605 extraction Methods 0.000 description 10
- 238000001914 filtration Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012856 packing Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000001568 sexual effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
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/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures 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/10—File systems; File servers
- G06F16/18—File system types
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- 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/23—Updating
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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/24—Querying
- G06F16/242—Query formulation
-
- 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/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
- G06F16/2438—Embedded query languages
-
- 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
- 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
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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/54—Interprogram communication
-
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Testing Resistance To Weather, Investigating Materials By Mechanical Methods (AREA)
Abstract
Description
この態様において、前記第1のデータ同期モジュール14は、前記第1の操作命令ブロックを相手側の分散データベースクラスタシステムに送信するように構成される。この時、相手側の分散データベースクラスタシステムに送信する第1の操作命令ブロックは、マスターデータベースにおいて記録された、2つの同期クロック信号の間のデータベース操作命令であり、これらのデータベース操作命令に対しては一貫性フィルタを行わない。相手側の分散データベースクラスタシステムのデータ同期モジュールは、それを正常に相手側の分散データベースクラスタシステムの対応するマスターデータベースに同期させる。しかし、相手側の分散データベースクラスタシステムは、業務によるクラスタの切り替えが行われる時にグローバルな一貫性フィルタを行う。
このリアルタイムなグローバルな一貫性態様によると、分散データベースクラスタシステムに第1の一貫性フィルタモジュール22が追加される。図2は本開示の実施例1に係る分散データベースクラスタシステムの第1の好適な構成を示す図である。
前記操作命令ブロックにおける前記データベース操作命令を再生ファイルに永続化し、
前記再生ファイルを解析して、前記再生ファイルにおける前記データベース操作命令を行単位で分割して異なるワーカースレッドに配置して処理を行う方式で、
受信した前記操作命令ブロックにおける前記データベース操作命令を実行するように構成される。
テーブル名と主キーに応じて、前記操作命令ブロックにおける前記データベース操作命令を異なるデータ行に分割し、同一のデータ行の前記データベース操作命令は前後順で1つのトランザクションを構成し、
異なるトランザクションの前記データベース操作命令を異なるワーカースレッドに配置して処理を行う方式で、
前記再生ファイルを解析して、前記再生ファイルにおける前記データベース操作命令を行単位で分割して異なるワーカースレッドに配置して処理を行う。
各第1のマスターデータベースに対応する同期テーブルを取得し、前記同期テーブルに基づいて各第1のマスターデータベースの直近に同期されたタイムスタンプを特定し、その中の最も早いタイムスタンプを切り替え基準時点として特定し、
直近に同期されたタイムスタンプが前記切り替え基準時点よりも遅い各第1のマスターデータベースに対しては、前記第1のマスターデータベースのデータを前記切り替え基準時点で記録した状態にロールバックし、前記第1のマスターデータベースのデータをグローバルな一貫性の状態に復元させるように構成される。
前記切り替え基準時点よりも後のデータベース操作命令に対して、リバースデータベース操作命令を生成して、前記リバースデータベース操作命令を実行し、
前記切り替え基準時点でグローバルトランザクション未提出状態にあるデータベース操作命令に対してリバースデータベース操作命令を生成して、前記リバースデータベース操作命令を実行する方式で、
前記第1のマスターデータベースのデータを前記切り替え基準時点で記録した状態にロールバックし、前記第1のマスターデータベースのデータをグローバルな一貫性の状態に復元させるように構成される。
また、受信した前記操作命令ブロックにおけるデータベース操作命令を実行するように構成される。
前記操作命令ブロックにおける前記データベース操作命令を再生ファイルに永続化し、
前記再生ファイルを解析して、前記再生ファイルにおける前記データベース操作命令を行単位で分割して異なるワーカースレッドに配置して処理を行う方式で、
受信した前記操作命令ブロックにおける前記データベース操作命令を実行するように構成される。
テーブル名と主キーに応じて、前記操作命令ブロックにおける前記データベース操作命令を異なるデータ行に分割し、同一のデータ行の前記データベース操作命令は前後順で1つのトランザクションを構成し、
異なるトランザクションの前記データベース操作命令を異なるワーカースレッドに配置して処理を行う方式で、
前記再生ファイルを解析して、前記再生ファイルにおける前記データベース操作命令を行単位で分割して異なるワーカースレッドに配置して処理を行うように構成される。
各第2のマスターデータベースに対応する同期テーブルを取得し、前記同期テーブルに基づいて各第2のマスターデータベースの直近に同期されたタイムスタンプを特定し、その中の最も早いタイムスタンプを切り替え基準時点として特定し、
直近に同期されたタイムスタンプが前記切り替え基準時点よりも遅い各第2のマスターデータベースに対しては、前記第2のマスターデータベースのデータを前記切り替え基準時点で記録した状態にロールバックし、前記第2のマスターデータベースのデータをグローバルな一貫性の状態に復元させるように構成される。
前記切り替え基準時点よりも後のデータベース操作命令に対して、リバースデータベース操作命令を生成し、前記リバースデータベース操作命令を実行し、
前記切り替え基準時点でグローバルトランザクション未提出状態にあるデータベース操作命令に対してリバースデータベース操作命令を生成して、前記リバースデータベース操作命令を実行する方式で、
前記第2のマスターデータベースのデータを前記切り替え基準時点で記録した状態にロールバックし、前記第2のマスターデータベースのデータをグローバルな一貫性の状態に復元させるように構成される。
前記第1の分散データベースクラスタシステムが、クロック同期命令を定期的に送信するステップS602と、
前記第1の分散データベースクラスタシステムが、各第1のマスターデータベースにおいて隣接する2つのクロック同期命令の間に記録されたデータベース操作命令をそれぞれ第1の操作命令ブロックにパッケージングして、前記第1の操作命令ブロックを送信するステップS604とを含む。
この態様において、前記第1の分散データベースクラスタシステムが前記第1の操作命令ブロックを第2の分散データベースクラスタシステムに送信する。この時、第2の分散データベースクラスタシステムに送信する第1の操作命令ブロックは、マスターデータベースにおいて記録された、2つの同期クロック信号の間のデータベース操作命令であり、これらのデータベース操作命令に対しては一貫性フィルタを行わない。
このリアルタイムなグローバルな一貫性態様によると、前記第1の分散データベースクラスタシステムが前記第1の操作命令ブロックに対してグローバルな一貫性フィルタを行って、前記第1の操作命令ブロックにおけるフィルタ条件を満たすデータベース操作命令を第2の操作命令ブロックにパッケージングして、前記第2の操作命令ブロックを第2の分散データベースクラスタシステムに送信する。
例示的な実施形態として、前記第2の分散データベースクラスタシステムが受信した前記操作命令ブロックにおけるデータベース操作命令を実行することは、
前記第2の分散データベースクラスタシステムが、前記操作命令ブロックにおける前記データベース操作命令を再生ファイルに永続化することと、
前記第2の分散データベースクラスタシステムが、前記再生ファイルを解析して、前記再生ファイルにおける前記データベース操作命令を行単位で分割して異なるワーカースレッドに配置して処理を行うことと、を含むことができる。
前記第2の分散データベースクラスタシステムが、テーブル名と主キーに応じて、前記操作命令ブロックにおける前記データベース操作命令を異なるデータ行に分割し、同一のデータ行の前記データベース操作命令は前後順で1つのトランザクションを構成することと、
前記第2の分散データベースクラスタシステムが、異なるトランザクションの前記データベース操作命令を異なるワーカースレッドに配置して処理を行うことと、を含むことができる。
前記第2の分散データベースクラスタシステムが、各第2のマスターデータベースに対応する同期テーブルを取得し、前記同期テーブルに基づいて各第2のマスターデータベースの直近に同期されたタイムスタンプを特定し、その中の最も早いタイムスタンプを切り替え基準時点として特定することと、
直近に同期されたタイムスタンプが前記切り替え基準時点よりも遅い各第2のマスターデータベースに対しては、前記第2の分散データベースクラスタシステムが、前記第2のマスターデータベースのデータを前記切り替え基準時点で記録した状態にロールバックし、前記第2のマスターデータベースのデータをグローバルな一貫性の状態に復元させることと、をさらに含むことができる。
前記第2の分散データベースクラスタシステムが、前記切り替え基準時点よりも後のデータベース操作命令に対して、リバースデータベース操作命令を生成し、前記リバースデータベース操作命令を実行することと、
前記第2の分散データベースクラスタシステムが、前記切り替え基準時点でグローバルトランザクション未提出状態にあるデータベース操作命令に対してリバースデータベース操作命令を生成して、前記リバースデータベース操作命令を実行することと、を含む。
時点でのグローバルな一貫性を実現することができないおそれがある。例えば、マスタークラスタ内のAとBとの2つのデータノードがデータをバックアップクラスタ内のA’とB’との2つのデータノードに同期させ、ある時刻において、A’はAの時刻T0でのデータに同期したが、B’はBの時刻T1でのデータに同期した。
この態様において、前記第1のデータ同期モジュール14は、前記第1の操作命令ブロックを相手側の分散データベースクラスタシステムに送信するように構成される。この時、相手側の分散データベースクラスタシステムに送信する第1の操作命令ブロックは、マスターデータベースにおいて記録された、隣接する2つのクロック同期命令の間のデータベース操作命令であり、これらのデータベース操作命令に対しては一貫性フィルタを行わない。相手側の分散データベースクラスタシステムのデータ同期モジュールは、それを正常に相手側の分散データベースクラスタシステムの対応するマスターデータベースに同期させる。しかし、相手側の分散データベースクラスタシステムは、業務によるクラスタの切り替えが行われる時にグローバルな一貫性フィルタを行う。
このリアルタイムなグローバルな一貫性態様によると、分散データベースクラスタシステムに第1の一貫性フィルタモジュール22が追加される。図2は本開示の実施例1に係る分散データベースクラスタシステムの第1の好適な構成を示す図である。
前記操作命令ブロックにおける前記データベース操作命令を再生ファイルに永続化し、
前記再生ファイルを解析して、前記再生ファイルにおける前記データベース操作命令を行単位で分割して異なるワーカースレッドに配置して処理を行う方式で、
受信した前記操作命令ブロックにおける前記データベース操作命令を実行するように構成される。
テーブル名と主キーに応じて、前記操作命令ブロックにおける前記データベース操作命令を異なるデータ行に分割し、同一のデータ行の前記データベース操作命令は前後順で1つのトランザクションを構成し、
異なるトランザクションの前記データベース操作命令を異なるワーカースレッドに配置して処理を行う方式で、
前記再生ファイルを解析して、前記再生ファイルにおける前記データベース操作命令を行単位で分割して異なるワーカースレッドに配置して処理を行う。
前記切り替え基準時点よりも後のデータベース操作命令に対して、リバースデータベース操作命令を生成して、前記リバースデータベース操作命令を実行し、
前記切り替え基準時点でグローバルトランザクション未提出状態にあるデータベース操作命令に対してリバースデータベース操作命令を生成して、前記リバースデータベース操作命令を実行する方式で、
前記第1のマスターデータベースのデータを前記切り替え基準時点で記録した状態にロールバックし、前記第1のマスターデータベースのデータをグローバルな一貫性の状態に復元させるように構成される。
また、受信した前記操作命令ブロックにおけるデータベース操作命令を実行するように構成される。
前記操作命令ブロックにおける前記データベース操作命令を再生ファイルに永続化し、
前記再生ファイルを解析して、前記再生ファイルにおける前記データベース操作命令を行単位で分割して異なるワーカースレッドに配置して処理を行う方式で、
受信した前記操作命令ブロックにおける前記データベース操作命令を実行するように構成される。
テーブル名と主キーに応じて、前記操作命令ブロックにおける前記データベース操作命令を異なるデータ行に分割し、同一のデータ行の前記データベース操作命令は前後順で1つのトランザクションを構成し、
異なるトランザクションの前記データベース操作命令を異なるワーカースレッドに配置して処理を行う方式で、
前記再生ファイルを解析して、前記再生ファイルにおける前記データベース操作命令を行単位で分割して異なるワーカースレッドに配置して処理を行うように構成される。
各第2のマスターデータベースに対応する同期テーブルを取得し、前記同期テーブルに基づいて各第2のマスターデータベースの直近に同期されたタイムスタンプを特定し、その中の最も早いタイムスタンプを切り替え基準時点として特定し、
直近に同期されたタイムスタンプが前記切り替え基準時点よりも遅い各第2のマスターデータベースに対しては、前記第2のマスターデータベースのデータを前記切り替え基準時点で記録した状態にロールバックし、前記第2のマスターデータベースのデータをグローバルな一貫性の状態に復元させるように構成される。
前記切り替え基準時点よりも後のデータベース操作命令に対して、リバースデータベース操作命令を生成し、前記リバースデータベース操作命令を実行し、
前記切り替え基準時点でグローバルトランザクション未提出状態にあるデータベース操作命令に対してリバースデータベース操作命令を生成して、前記リバースデータベース操作命令を実行する方式で、
前記第2のマスターデータベースのデータを前記切り替え基準時点で記録した状態にロールバックし、前記第2のマスターデータベースのデータをグローバルな一貫性の状態に復元させるように構成される。
前記第1の分散データベースクラスタシステムが、クロック同期命令を定期的に送信するステップS602と、
前記第1の分散データベースクラスタシステムが、各第1のマスターデータベースにおいて隣接する2つのクロック同期命令の間に記録されたデータベース操作命令をそれぞれ第1の操作命令ブロックにパッケージングして、前記第1の操作命令ブロックを送信するステップS604とを含む。
この態様において、前記第1の分散データベースクラスタシステムが前記第1の操作命令ブロックを第2の分散データベースクラスタシステムに送信する。この時、第2の分散データベースクラスタシステムに送信する第1の操作命令ブロックは、マスターデータベースにおいて記録された、隣接する2つのクロック同期命令の間のデータベース操作命令であり、これらのデータベース操作命令に対しては一貫性フィルタを行わない。
このリアルタイムなグローバルな一貫性態様によると、前記第1の分散データベースクラスタシステムが前記第1の操作命令ブロックに対してグローバルな一貫性フィルタを行って、前記第1の操作命令ブロックにおけるフィルタ条件を満たすデータベース操作命令を第2の操作命令ブロックにパッケージングして、前記第2の操作命令ブロックを第2の分散データベースクラスタシステムに送信する。
前記第2の分散データベースクラスタシステムが、前記操作命令ブロックにおける前記データベース操作命令を再生ファイルに永続化することと、
前記第2の分散データベースクラスタシステムが、前記再生ファイルを解析して、前記再生ファイルにおける前記データベース操作命令を行単位で分割して異なるワーカースレッドに配置して処理を行うことと、を含むことができる。
前記第2の分散データベースクラスタシステムが、テーブル名と主キーに応じて、前記操作命令ブロックにおける前記データベース操作命令を異なるデータ行に分割し、同一のデータ行の前記データベース操作命令は前後順で1つのトランザクションを構成することと、
前記第2の分散データベースクラスタシステムが、異なるトランザクションの前記データベース操作命令を異なるワーカースレッドに配置して処理を行うことと、を含むことができる。
前記第2の分散データベースクラスタシステムが、各第2のマスターデータベースに対応する同期テーブルを取得し、前記同期テーブルに基づいて各第2のマスターデータベースの直近に同期されたタイムスタンプを特定し、その中の最も早いタイムスタンプを切り替え基準時点として特定することと、
直近に同期されたタイムスタンプが前記切り替え基準時点よりも遅い各第2のマスターデータベースに対しては、前記第2の分散データベースクラスタシステムが、前記第2のマスターデータベースのデータを前記切り替え基準時点で記録した状態にロールバックし、前記第2のマスターデータベースのデータをグローバルな一貫性の状態に復元させることと、をさらに含むことができる。
前記第2の分散データベースクラスタシステムが、前記切り替え基準時点よりも後のデータベース操作命令に対して、リバースデータベース操作命令を生成し、前記リバースデータベース操作命令を実行することと、
前記第2の分散データベースクラスタシステムが、前記切り替え基準時点でグローバルトランザクション未提出状態にあるデータベース操作命令に対してリバースデータベース操作命令を生成して、前記リバースデータベース操作命令を実行することと、を含む。
示す図である。
Claims (36)
- 第1の同期クロックモジュールと、第1のデータ同期モジュールと、それぞれ1つの第1のマスターデータベースを含む複数の第1のデータベース群とを含む分散データベースクラスタシステムであって、
前記第1の同期クロックモジュールは、クロック同期命令を定期的に送信するように構成され、
前記第1のデータ同期モジュールは、各第1のマスターデータベースにおいて前記第1の同期クロックモジュールから送信された隣接する2つのクロック同期命令の間に記録されたデータベース操作命令を第1の操作命令ブロックにパッケージングして、前記第1の操作命令ブロックを送信するように構成される、分散データベースクラスタシステム。 - 前記第1の同期クロックモジュールは、定期的に各第1のマスターデータベースへ前記クロック同期命令を送信するように構成され、
前記第1のマスターデータベースは、受信したデータベース操作命令を前記第1のマスターデータベースのログファイルに書き込み、受信した前記クロック同期命令を前記ログファイルに書き込むように構成され、
前記第1のデータ同期モジュールは、各第1のマスターデータベースの前記ログファイルをそれぞれ取得し、前記ログファイルにおいて2つのクロック同期命令の間に介在されたデータベース操作命令を前記第1の操作命令ブロックにパッケージングし、前記第1の操作命令ブロックを送信するように構成される、請求項1に記載の分散データベースクラスタシステム。 - 前記第1のデータ同期モジュールは、前記第1の操作命令ブロックを相手側の分散データベースクラスタシステムに送信するように構成される、請求項1又は請求項2に記載の分散データベースクラスタシステム。
- 第1の一貫性フィルタモジュールをさらに含み、
前記第1のデータ同期モジュールは、前記第1の操作命令ブロックを前記第1の一貫性フィルタモジュールに送信するように構成され、
前記第1の一貫性フィルタモジュールは、前記第1のデータ同期モジュールから送信された前記第1の操作命令ブロックを受信し、前記第1の操作命令ブロックに対してグローバルな一貫性フィルタを行い、前記第1の操作命令ブロックにおける、前記データベース操作命令がグローバルトランザクション提出済状態にあることを含むフィルタ条件を満たすデータベース操作命令を第2の操作命令ブロックにパッケージングし、前記第2の操作命令ブロックを相手側の分散データベースクラスタシステムに送信するように構成される、請求項1又は請求項2に記載の分散データベースクラスタシステム。 - 前記フィルタ条件は、前記データベース操作命令が前記相手側の分散データベースクラスタシステムに対応するデータ対象フィルタルールに該当することをさらに含む、請求項4に記載の分散データベースクラスタシステム。
- 前記第1の一貫性フィルタモジュールは、さらに、
前記第1の操作命令ブロックにおけるグローバルトランザクション未提出状態にあるデータベース操作命令をバッファし、次回に前記第1のデータ同期モジュールから送信された、現在の第1のマスターデータベースに対応する前記第1の操作命令ブロックを受信すると、バッファした前記データベース操作命令を前記第1の操作命令ブロックに付加してから前記第1の操作命令ブロックに対してグローバルな一貫性フィルタを行うように構成される、請求項4又は請求項5に記載の分散データベースクラスタシステム。 - グローバルトランザクションを一意に識別可能なグローバルトランザクション識別IDを管理し、各グローバルトランザクションの状態とライフサイクルを記録するように構成されるグローバルトランザクション管理モジュールをさらに含み、
前記第1の同期クロックモジュールは、各第1のマスターデータベースの現在のアクティブトランザクションリストを定期的に要求し、前記現在のアクティブトランザクションリストと前記現在のアクティブトランザクションリストを取得したタイムスタンプとを前記第1のマスターデータベースに対応する同期テーブルに記録し、前記タイムスタンプ及び前記現在のアクティブトランザクションリストの情報を、前記第1のマスターデータベースへ送信する前記クロック同期命令に載せるように構成され、
前記第1の一貫性フィルタモジュールは、現在の第1のマスターデータベースに対応する前記同期テーブルにおける直近に記録された前記現在のアクティブトランザクションリストを調べ、直近に記録された前記現在のアクティブトランザクションリストにおけるグローバルトランザクションIDに対応するデータベース操作命令を取り除き、残りのデータベース操作命令を、グローバルトランザクション提出済状態にあるフィルタ条件を満たすデータベース操作命令として前記第2の操作命令ブロックにパッケージングする、請求項4乃至請求項6のうちのいずれか1項に記載の分散データベースクラスタシステム。 - 前記第1のデータ同期モジュールは、さらに、
相手側の分散データベースクラスタシステムからの同期位置要求情報であって、前記分散データベースクラスタシステムと前記相手側の分散データベースクラスタシステムと間の同期位置が載せられている同期位置要求情報を受信し、
前記同期位置要求情報に載せられた前記同期位置に基づいて、各第1のマスターデータベースに記録されたデータベース操作命令に対するパッケージングを実行するように構成される、請求項1に記載の分散データベースクラスタシステム。 - 前記第1のデータ同期モジュールは、さらに、
相手側の分散データベースクラスタシステムから送信された、第1の操作命令ブロック又は第2の操作命令ブロックを含む操作命令ブロックを受信し、
受信した前記操作命令ブロックにおけるデータベース操作命令を実行するように構成される、請求項1乃至請求項8のうちのいずれか1項に記載の分散データベースクラスタシステム。 - 前記第1のデータ同期モジュールは、
前記操作命令ブロックにおける前記データベース操作命令を再生ファイルに永続化し、
前記再生ファイルを解析して、前記再生ファイルにおける前記データベース操作命令を行単位で分割して異なるワーカースレッドに配置して処理を行う方式で、
受信した前記操作命令ブロックにおける前記データベース操作命令を実行するように構成される、請求項9に記載の分散データベースクラスタシステム。 - 前記第1のデータ同期モジュールは、
テーブル名と主キーに応じて、前記操作命令ブロックにおける前記データベース操作命令を異なるデータ行に分割し、同一のデータ行の前記データベース操作命令は前後順で1つのトランザクションを構成し、
異なるトランザクションの前記データベース操作命令を異なるワーカースレッドに配置して処理を行う方式で、
前記再生ファイルを解析して、前記再生ファイルにおける前記データベース操作命令を行単位で分割して異なるワーカースレッドに配置して処理を行うように構成される、請求項10に記載の分散データベースクラスタシステム。 - 前記第1のデータ同期モジュールは、さらに、
受信した前記操作命令ブロックにおける前記データベース操作命令の実行に成功した後、データベース操作命令の実行に成功した位置をファイルに永続化するように構成される、請求項9乃至請求項11のうちのいずれか1項に記載の分散データベースクラスタシステム。 - 前記分散データベースクラスタシステムを前記相手側の分散データベースクラスタシステムのバックアップ分散データベースクラスタシステムとする場合、
前記第1のデータ同期モジュールは、
前記分散データベースクラスタシステムを前記相手側の分散データベースクラスタシステムの代わりにマスター分散データベースクラスタシステムとする必要がある場合に、第1の一貫性フィルタモジュールを呼び出すように構成され、
前記第1の一貫性フィルタモジュールは、
各第1のマスターデータベースに対応する同期テーブルを取得し、前記同期テーブルに基づいて各第1のマスターデータベースの直近に同期されたタイムスタンプを特定し、その中の最も早いタイムスタンプを切り替え基準時点として特定し、
直近に同期されたタイムスタンプが前記切り替え基準時点よりも遅い各第1のマスターデータベースに対しては、前記第1のマスターデータベースのデータを前記切り替え基準時点で記録した状態にロールバックし、前記第1のマスターデータベースのデータをグローバルな一貫性の状態に復元させるように構成される、請求項9乃至請求項11のうちのいずれか1項に記載の分散データベースクラスタシステム。 - 前記第1の一貫性フィルタモジュールは、
前記切り替え基準時点よりも後のデータベース操作命令に対して、リバースデータベース操作命令を生成して、前記リバースデータベース操作命令を実行し、
前記切り替え基準時点でグローバルトランザクション未提出状態にあるデータベース操作命令に対して、リバースデータベース操作命令を生成して、前記リバースデータベース操作命令を実行する方式で、
前記第1のマスターデータベースのデータを前記切り替え基準時点で記録した状態にロールバックし、前記第1のマスターデータベースのデータをグローバルな一貫性の状態に復元させるように構成される、請求項13に記載の分散データベースクラスタシステム。 - 相手側の分散データベースクラスタシステムから送信された操作命令ブロックを受信し、受信した前記操作命令ブロックにおけるデータベース操作命令を実行するように構成される第2のデータ同期モジュールと、
それぞれ1つの第2のマスターデータベースを含む複数の第2のデータベース群と、を含む分散データベースクラスタシステムであって、
前記操作命令ブロックは第1の操作命令ブロック又は第2の操作命令ブロックを含み、前記第1の操作命令ブロックには、前記相手側の分散データベースクラスタシステムの各第1のマスターデータベースにおいて隣接する2つのクロック同期命令の間に記録されたデータベース操作命令がパッケージングされており、前記第2の操作命令ブロックには、前記相手側の分散データベースクラスタシステムの各第1のマスターデータベースにおいて隣接する2つのクロック同期命令の間に記録されたデータベース操作命令のうち、前記データベース操作命令がグローバルトランザクション提出済状態にあることを含むフィルタ条件を満たすデータベース操作命令がパッケージングされている、分散データベースクラスタシステム。 - 前記第2のデータ同期モジュールは、
前記操作命令ブロックにおける前記データベース操作命令を再生ファイルに永続化し、
前記再生ファイルを解析して、前記再生ファイルにおける前記データベース操作命令を行単位で分割して異なるワーカースレッドに配置して処理を行う方式で、
受信した前記操作命令ブロックにおける前記データベース操作命令を実行するように構成される、請求項15に記載の分散データベースクラスタシステム。 - 前記第2のデータ同期モジュールは、
テーブル名と主キーに応じて、前記操作命令ブロックにおける前記データベース操作命令を異なるデータ行に分割し、同一のデータ行の前記データベース操作命令は前後順で1つのトランザクションを構成し、
異なるトランザクションの前記データベース操作命令を異なるワーカースレッドに配置して処理を行う方式で、
前記再生ファイルを解析して、前記再生ファイルにおける前記データベース操作命令を行単位で分割して異なるワーカースレッドに配置して処理を行うように構成される、請求項16に記載の分散データベースクラスタシステム。 - 前記第2のデータ同期モジュールは、さらに、
受信した前記操作命令ブロックにおける前記データベース操作命令の実行に成功した後、データベース操作命令の実行に成功した位置をファイルに永続化するように構成される、請求項15乃至請求項17のうちのいずれか1項に記載の分散データベースクラスタシステム。 - 第2の一貫性フィルタモジュールをさらに含み、
前記第2のデータ同期モジュールは、前記分散データベースクラスタシステムを前記相手側の分散データベースクラスタシステムの代わりにマスター分散データベースクラスタシステムとする必要がある場合、前記第2の一貫性フィルタモジュールを呼び出すように構成され、
前記第2の一貫性フィルタモジュールは、
各第2のマスターデータベースに対応する同期テーブルを取得し、前記同期テーブルに基づいて各第2のマスターデータベースの直近に同期されたタイムスタンプを特定し、その中の最も早いタイムスタンプを切り替え基準時点として特定し、
直近に同期されたタイムスタンプが前記切り替え基準時点よりも遅い各第2のマスターデータベースに対しては、前記第2のマスターデータベースのデータを前記切り替え基準時点で記録した状態にロールバックし、前記第2のマスターデータベースのデータをグローバルな一貫性の状態に復元させるように構成される、請求項15乃至請求項17のうちのいずれか1項に記載の分散データベースクラスタシステム。 - 前記第2の一貫性フィルタモジュールは、
前記切り替え基準時点よりも後のデータベース操作命令に対して、リバースデータベース操作命令を生成して、前記リバースデータベース操作命令を実行し、
前記切り替え基準時点でグローバルトランザクション未提出状態にあるデータベース操作命令に対して、リバースデータベース操作命令を生成して、前記リバースデータベース操作命令を実行する方式で、
前記第2のマスターデータベースのデータを前記切り替え基準時点で記録した状態にロールバックし、前記第2のマスターデータベースのデータをグローバルな一貫性の状態に復元させるように構成される、請求項19に記載の分散データベースクラスタシステム。 - それぞれ1つの第1のマスターデータベースを含む複数の第1のデータベース群を含む第1の分散データベースクラスタシステムに適用されるデータ同期方法であって、
前記第1の分散データベースクラスタシステムが、クロック同期命令を定期的に送信することと、
前記第1の分散データベースクラスタシステムが、各第1のマスターデータベースにおいて隣接する2つのクロック同期命令の間に記録されたデータベース操作命令をそれぞれ第1の操作命令ブロックにパッケージングし、前記第1の操作命令ブロックを送信することと、を含む、データ同期方法。 - 前記第1の分散データベースクラスタシステムがクロック同期命令を定期的に送信することは、前記第1の分散データベースクラスタシステムが、各第1のマスターデータベースへ定期的に前記クロック同期命令を送信することを含み、
前記第1の分散データベースクラスタシステムが、各第1のマスターデータベースにおいて隣接する2つのクロック同期命令の間に記録されたデータベース操作命令をそれぞれ第1の操作命令ブロックにパッケージングする前に、
前記第1のマスターデータベースが、受信したデータベース操作命令を前記第1のマスターデータベースのログファイルに書き込み、受信した前記クロック同期命令を前記ログファイルに書き込むことをさらに含み、
前記第1の分散データベースクラスタシステムが、各第1のマスターデータベースにおいて隣接する2つのクロック同期命令の間に記録されたデータベース操作命令をそれぞれ第1の操作命令ブロックにパッケージングすることは、前記第1の分散データベースクラスタシステムが各第1のマスターデータベースの前記ログファイルをそれぞれ取得し、前記ログファイルにおいて2つのクロック同期命令の間に介在されたデータベース操作命令を前記第1の操作命令ブロックにパッケージングすることを含む、請求項21に記載の方法。 - 前記第1の分散データベースクラスタシステムが前記第1の操作命令ブロックを送信することは、
前記第1の分散データベースクラスタシステムが、前記第1の操作命令ブロックを第2の分散データベースクラスタシステムに送信することを含む、請求項21又は請求項22に記載の方法。 - 前記第1の分散データベースクラスタシステムが前記第1の操作命令ブロックを送信することは、
前記第1の分散データベースクラスタシステムが、前記第1の操作命令ブロックに対してグローバルな一貫性フィルタを行い、前記第1の操作命令ブロックにおける、前記データベース操作命令がグローバルトランザクション提出済状態にあることを含むフィルタ条件を満たすデータベース操作命令を第2の操作命令ブロックにパッケージングし、前記第2の操作命令ブロックを第2の分散データベースクラスタシステムに送信することを含む、請求項21又は請求項22に記載の方法。 - 前記フィルタ条件は、前記データベース操作命令が前記第2の分散データベースクラスタシステムに対応するデータ対象フィルタルールに該当することをさらに含む、請求項24に記載の方法。
- 前記第1の分散データベースクラスタシステムは、前記第1の操作命令ブロックにおけるグローバルトランザクション未提出状態にあるデータベース操作命令をバッファし、バッファした前記データベース操作命令を現在の第1のマスターデータベースに対応する次の第1の操作命令ブロックに付加してから前記次の第1の操作命令ブロックに対してグローバルな一貫性フィルタを行うことをさらに含む、請求項24又は請求項25に記載の方法。
- 前記第1の分散データベースクラスタシステムが、グローバルトランザクションを一意に識別可能なグローバルトランザクション識別IDを管理し、各グローバルトランザクションの状態とライフサイクルを記録することと、
前記第1の分散データベースクラスタシステムが、各第1のマスターデータベースの現在のアクティブトランザクションリストを定期的に要求し、前記現在のアクティブトランザクションリストと前記現在のアクティブトランザクションリストを取得したタイムスタンプとを前記第1のマスターデータベースに対応する同期テーブルに記録し、前記タイムスタンプ及び前記現在のアクティブトランザクションリストの情報を、前記第1のマスターデータベースへ送信する前記クロック同期命令に載せることと、をさらに含み、
前記第1の分散データベースクラスタシステムが、前記第1の操作命令ブロックに対してグローバルな一貫性フィルタを行い、前記第1の操作命令ブロックにおける、フィルタ条件を満たすデータベース操作命令を第2の操作命令ブロックにパッケージングすることは、前記第1の分散データベースクラスタシステムが、現在の第1のマスターデータベースに対応する前記同期テーブルにおける直近に記録された前記現在のアクティブトランザクションリストを調べ、直近に記録された前記現在のアクティブトランザクションリストにおけるグローバルトランザクションIDに対応するデータベース操作命令を取り除き、残りのデータベース操作命令をグローバルトランザクション提出済状態にあるフィルタ条件を満たすデータベース操作命令として前記第2の操作命令ブロックにパッケージングすることを含む、請求項24乃至26のうちのいずれか1項に記載の方法。 - 前記第1の分散データベースクラスタシステムが、各第1のマスターデータベースにおいて隣接する2つのクロック同期命令の間に記録されたデータベース操作命令をそれぞれ第1の操作命令ブロックにパッケージングする前に、前記第1の分散データベースクラスタシステムが、第2の分散データベースクラスタシステムからの同期位置要求情報であって、前記第1の分散データベースクラスタシステムと前記第2の分散データベースクラスタシステムの間の同期位置が載せられている同期位置要求情報を受信することをさらに含み、
前記第1の分散データベースクラスタシステムが、各第1のマスターデータベースにおいて隣接する2つのクロック同期命令の間に記録されたデータベース操作命令をそれぞれ第1の操作命令ブロックにパッケージングすることは、前記第1の分散データベースクラスタシステムが、前記同期位置要求情報に載せられた前記同期位置に基づいて、各第1のマスターデータベースに記録されたデータベース操作命令に対するパッケージングを実行することを含む、請求項21に記載の方法。 - それぞれ1つの第2のマスターデータベースを含む複数の第2のデータベース群を含む第2の分散データベースクラスタシステムに適用されるデータ同期方法であって、
前記第2の分散データベースクラスタシステムが、第1の分散データベースクラスタシステムから送信された操作命令ブロックであって、前記第1の分散データベースクラスタシステムの各第1のマスターデータベースにおいて隣接する2つのクロック同期命令の間に記録されたデータベース操作命令がパッケージングされた第1の操作命令ブロック、又は前記第1の分散データベースクラスタシステムの各第1のマスターデータベースにおいて隣接する2つのクロック同期命令の間に記録されたデータベース操作命令のうち、前記データベース操作命令がグローバルトランザクション提出済状態にあることを含むフィルタ条件を満たすデータベース操作命令がパッケージングされた第2の操作命令ブロックを含む操作命令ブロックを受信することと、
前記第2の分散データベースクラスタシステムが、受信した前記操作命令ブロックにおけるデータベース操作命令を実行することと、を含む、データ同期方法。 - 前記第2の分散データベースクラスタシステムが、受信した前記操作命令ブロックにおけるデータベース操作命令を実行することは、
前記第2の分散データベースクラスタシステムが、前記操作命令ブロックにおける前記データベース操作命令を再生ファイルに永続化することと、
前記第2の分散データベースクラスタシステムが、前記再生ファイルを解析して、前記再生ファイルにおける前記データベース操作命令を行単位で分割して異なるワーカースレッドに配置して処理を行うことと、を含む、請求項29に記載の方法。 - 前記第2の分散データベースクラスタシステムが、前記再生ファイルを解析して、前記再生ファイルにおける前記データベース操作命令を行単位で分割して異なるワーカースレッドに配置して処理を行うことは、
前記第2の分散データベースクラスタシステムが、テーブル名と主キーに応じて、前記操作命令ブロックにおける前記データベース操作命令を異なるデータ行に分割し、同一のデータ行の前記データベース操作命令は前後順で1つのトランザクションを構成することと、
前記第2の分散データベースクラスタシステムが、異なるトランザクションの前記データベース操作命令を異なるワーカースレッドに配置して処理を行うことと、を含む、請求項30に記載の方法。 - 前記第2の分散データベースクラスタシステムが受信した前記操作命令ブロックにおける前記データベース操作命令の実行に成功した後、
前記第2の分散データベースクラスタシステムが、データベース操作命令の実行に成功した位置をファイルに永続化することをさらに含む、請求項29乃至請求項31のうちのいずれか1項に記載の方法。 - 前記第2の分散データベースクラスタシステムを前記第1の分散データベースクラスタシステムの代わりにマスター分散データベースクラスタシステムとする必要がある場合、
前記第2の分散データベースクラスタシステムが、各第2のマスターデータベースに対応する同期テーブルを取得し、前記同期テーブルに基づいて各第2のマスターデータベースの直近に同期されたタイムスタンプを特定し、その中の最も早いタイムスタンプを切り替え基準時点として特定することと、
直近に同期されたタイムスタンプが前記切り替え基準時点よりも遅い各第2のマスターデータベースに対しては、前記第2の分散データベースクラスタシステムが、前記第2のマスターデータベースのデータを前記切り替え基準時点で記録した状態にロールバックし、前記第2のマスターデータベースのデータをグローバルな一貫性の状態に復元させることと、をさらに含む、請求項29乃至請求項31のうちのいずれか1項に記載の方法。 - 前記第2の分散データベースクラスタシステムが、前記第2のマスターデータベースのデータを前記切り替え基準時点で記録した状態にロールバックし、前記第2のマスターデータベースのデータをグローバルな一貫性の状態に復元させることは、
前記第2の分散データベースクラスタシステムが、前記切り替え基準時点よりも後のデータベース操作命令に対して、リバースデータベース操作命令を生成し、前記リバースデータベース操作命令を実行することと、
前記第2の分散データベースクラスタシステムが、前記切り替え基準時点でグローバルトランザクション未提出状態にあるデータベース操作命令に対してリバースデータベース操作命令を生成して、前記リバースデータベース操作命令を実行することと、を含む、請求項33に記載の方法。 - コンピュータープログラムが記憶された記憶媒体であって、
前記コンピュータープログラムは、実行されると、請求項21乃至請求項34のうちのいずれか1項に記載の方法を実行するように構成される、記憶媒体。 - メモリとプロセッサとを含む電子機器であって、
前記メモリにコンピュータープログラムが記憶され、前記プロセッサは前記コンピュータープログラムを実行することで請求項21乃至請求項34のうちのいずれか1項に記載の方法を実行するように構成される、電子機器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810147335.4 | 2018-02-12 | ||
CN201810147335.4A CN110209726B (zh) | 2018-02-12 | 2018-02-12 | 分布式数据库集群系统、数据同步方法及存储介质 |
PCT/CN2019/074699 WO2019154394A1 (zh) | 2018-02-12 | 2019-02-03 | 分布式数据库集群系统、数据同步方法及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021513715A true JP2021513715A (ja) | 2021-05-27 |
JP7090744B2 JP7090744B2 (ja) | 2022-06-24 |
Family
ID=67548760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020565003A Active JP7090744B2 (ja) | 2018-02-12 | 2019-02-03 | 分散データベースクラスタシステム、及びデータ同期方法 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP3754514B1 (ja) |
JP (1) | JP7090744B2 (ja) |
CN (1) | CN110209726B (ja) |
WO (1) | WO2019154394A1 (ja) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110489491B (zh) * | 2019-08-26 | 2023-07-04 | 湖南中车时代通信信号有限公司 | 一种适用于a/b网双集群的全量数据同步装置 |
CN110661857B (zh) * | 2019-09-12 | 2021-12-07 | 京东数字科技控股有限公司 | 一种数据同步方法和装置 |
CN110795506A (zh) * | 2019-10-23 | 2020-02-14 | 广州巨杉软件开发有限公司 | 基于分布式逻辑时间戳的分布式数据库管理方法及装置 |
CN110866009A (zh) * | 2019-10-29 | 2020-03-06 | 广州西山居世游网络科技有限公司 | 一种实时并发同步服务的方法及系统 |
CN111209342B (zh) * | 2020-01-13 | 2023-04-07 | 阿里巴巴集团控股有限公司 | 分布式系统、数据同步与节点管理方法、设备及存储介质 |
CN111930830B (zh) * | 2020-06-22 | 2024-04-16 | 心有灵犀科技股份有限公司 | 一种基于共享数据库的分布式事务数据处理方法及系统 |
CN111796970A (zh) * | 2020-06-23 | 2020-10-20 | 浙江大华技术股份有限公司 | 一种主备切换和数据同步方法、装置、设备及存储介质 |
CN111782634B (zh) * | 2020-06-29 | 2024-06-14 | 京东科技控股股份有限公司 | 数据分布式存储方法、装置、电子设备及存储介质 |
CN112068994A (zh) * | 2020-08-21 | 2020-12-11 | 苏州浪潮智能科技有限公司 | 存储集群运行时数据持久化的方法、装置、设备和介质 |
CN112052270A (zh) * | 2020-08-26 | 2020-12-08 | 南京越扬科技有限公司 | 一种通过大数据进行用户画像深度分析的方法及系统 |
CN112231396A (zh) * | 2020-09-15 | 2021-01-15 | 山东浪潮通软信息科技有限公司 | 一种跨数据库增量同步数据的方法 |
CN112131245A (zh) * | 2020-09-23 | 2020-12-25 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 拟态防御架构的高性能数据访问系统及方法 |
CN112463762A (zh) * | 2020-11-06 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 跨集群实时数据迁移与同步的方法、系统、设备及介质 |
CN112434064B (zh) * | 2020-11-19 | 2023-09-29 | 脸萌有限公司 | 数据处理方法、装置、介质及电子设备 |
CN112417043B (zh) * | 2020-11-19 | 2024-08-27 | 百果园技术(新加坡)有限公司 | 数据处理系统及方法 |
CN113127436B (zh) * | 2021-04-28 | 2023-07-25 | 北京奇艺世纪科技有限公司 | 一种数据同步方法、装置、服务器及存储介质 |
CN113254535B (zh) * | 2021-06-08 | 2022-12-13 | 成都新潮传媒集团有限公司 | 一种mongodb到mysql的数据同步方法、装置及计算机可读存储介质 |
CN113596190B (zh) * | 2021-07-23 | 2023-05-26 | 浪潮云信息技术股份公司 | 基于Kubernetes的应用分布式多活系统及方法 |
CN113641756A (zh) * | 2021-07-26 | 2021-11-12 | 浪潮卓数大数据产业发展有限公司 | 一种分布式高并发的数据存储方法 |
CN113918657B (zh) * | 2021-12-14 | 2022-03-15 | 天津南大通用数据技术股份有限公司 | 一种并行高性能增量同步方法 |
CN114301563B (zh) * | 2021-12-24 | 2023-05-05 | 中国航发控制系统研究所 | 集群间多余度同步电路、总线系统及集群间同步的方法 |
CN114416872A (zh) * | 2022-01-12 | 2022-04-29 | 山东浪潮科学研究院有限公司 | 基于cdc的集群间数据同步方法及系统 |
CN114528266B (zh) * | 2022-01-28 | 2024-01-26 | 苏州浪潮智能科技有限公司 | 实现数据库和缓存一致性的方法、系统、设备和存储介质 |
CN114697346B (zh) * | 2022-04-22 | 2024-06-11 | 厦门飞鱼科技有限公司 | 服务器节点之间数据同步的方法 |
CN114579671A (zh) * | 2022-05-09 | 2022-06-03 | 高伟达软件股份有限公司 | 集群间数据同步方法及装置 |
CN114942965B (zh) * | 2022-06-29 | 2022-12-16 | 北京柏睿数据技术股份有限公司 | 一种数据库主备同步操作的加速方法和系统 |
CN115544172A (zh) * | 2022-11-28 | 2022-12-30 | 杭州欧若数网科技有限公司 | 一种一主多从的集群间数据实时同步的方法和系统 |
CN116991691B (zh) * | 2023-09-26 | 2024-01-30 | 中国铁塔股份有限公司 | 数据库测试方法、装置、电子设备及可读存储介质 |
CN117093640B (zh) * | 2023-10-18 | 2024-01-23 | 上海柯林布瑞信息技术有限公司 | 基于池化技术的数据抽取方法及装置 |
CN117112314B (zh) * | 2023-10-24 | 2024-02-06 | 深圳市科力锐科技有限公司 | 业务数据切换方法、装置、设备及存储介质 |
CN117827981B (zh) * | 2024-03-06 | 2024-07-19 | 北京万里开源软件有限公司 | 一种MySQL数据库集群的链路检测方法及系统 |
CN117992257B (zh) * | 2024-04-07 | 2024-06-18 | 天津南大通用数据技术股份有限公司 | 一种分布式数据库并行数据采集处理方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030131025A1 (en) * | 1998-12-24 | 2003-07-10 | Zondervan Quinton Yves | System and method for synchronizing data in multiple databases |
JP2007183930A (ja) * | 2006-01-03 | 2007-07-19 | Internatl Business Mach Corp <Ibm> | 異なるコピー技術を用いてデータをミラーリングするときの整合性の維持 |
JP2008181288A (ja) * | 2007-01-24 | 2008-08-07 | Hitachi Ltd | リモートコピーシステム |
JP2009123055A (ja) * | 2007-11-16 | 2009-06-04 | Hitachi Ltd | ストレージシステム及びリモートコピー制御方法 |
JP2009532789A (ja) * | 2006-04-06 | 2009-09-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ストレージ・サブシステム全体にわたる整合的な更新のための方法、システム、およびコンピュータ・プログラム |
CN102693324A (zh) * | 2012-01-09 | 2012-09-26 | 西安电子科技大学 | 一种分布式数据库同步系统、同步方法和节点管理方法 |
WO2015008484A1 (ja) * | 2013-07-16 | 2015-01-22 | Mame・Design株式会社 | バックアップ制御装置及びバックアップ制御方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6125368A (en) * | 1997-02-28 | 2000-09-26 | Oracle Corporation | Fault-tolerant timestamp generation for multi-node parallel databases |
US20070061379A1 (en) * | 2005-09-09 | 2007-03-15 | Frankie Wong | Method and apparatus for sequencing transactions globally in a distributed database cluster |
CN103902617B (zh) * | 2012-12-28 | 2017-06-09 | 华为技术有限公司 | 分布式数据库同步方法和系统 |
CN104182441A (zh) * | 2014-02-27 | 2014-12-03 | 无锡天脉聚源传媒科技有限公司 | 一种数据表同步方法及装置 |
CN105512171B (zh) * | 2015-11-23 | 2019-05-21 | 北京奇虎科技有限公司 | 数据库同步的方法及装置 |
CN106484565B (zh) * | 2016-09-22 | 2019-06-28 | 华为数字技术(成都)有限公司 | 多数据中心间的数据同步方法及相关设备 |
CN107391635A (zh) * | 2017-06-30 | 2017-11-24 | 北京奇虎科技有限公司 | 数据同步系统及方法 |
-
2018
- 2018-02-12 CN CN201810147335.4A patent/CN110209726B/zh active Active
-
2019
- 2019-02-03 EP EP19751274.2A patent/EP3754514B1/en active Active
- 2019-02-03 WO PCT/CN2019/074699 patent/WO2019154394A1/zh unknown
- 2019-02-03 JP JP2020565003A patent/JP7090744B2/ja active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030131025A1 (en) * | 1998-12-24 | 2003-07-10 | Zondervan Quinton Yves | System and method for synchronizing data in multiple databases |
JP2007183930A (ja) * | 2006-01-03 | 2007-07-19 | Internatl Business Mach Corp <Ibm> | 異なるコピー技術を用いてデータをミラーリングするときの整合性の維持 |
JP2009532789A (ja) * | 2006-04-06 | 2009-09-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ストレージ・サブシステム全体にわたる整合的な更新のための方法、システム、およびコンピュータ・プログラム |
JP2008181288A (ja) * | 2007-01-24 | 2008-08-07 | Hitachi Ltd | リモートコピーシステム |
JP2009123055A (ja) * | 2007-11-16 | 2009-06-04 | Hitachi Ltd | ストレージシステム及びリモートコピー制御方法 |
CN102693324A (zh) * | 2012-01-09 | 2012-09-26 | 西安电子科技大学 | 一种分布式数据库同步系统、同步方法和节点管理方法 |
WO2015008484A1 (ja) * | 2013-07-16 | 2015-01-22 | Mame・Design株式会社 | バックアップ制御装置及びバックアップ制御方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3754514A4 (en) | 2020-12-23 |
CN110209726B (zh) | 2023-10-20 |
CN110209726A (zh) | 2019-09-06 |
EP3754514B1 (en) | 2024-05-08 |
JP7090744B2 (ja) | 2022-06-24 |
EP3754514A1 (en) | 2020-12-23 |
WO2019154394A1 (zh) | 2019-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7090744B2 (ja) | 分散データベースクラスタシステム、及びデータ同期方法 | |
US10866967B2 (en) | Multi-replica asynchronous table replication | |
US11068501B2 (en) | Single phase transaction commits for distributed database transactions | |
KR101662212B1 (ko) | 부분동기화 지원 데이터베이스 관리 시스템 및 데이터베이스 관리 시스템에서 부분동기화 방법 | |
KR20200100173A (ko) | 데이터베이스 시스템 내의 데이터 복제 및 데이터 장애 조치 | |
JP2019036353A (ja) | 索引更新パイプライン | |
JP5308403B2 (ja) | データ処理の障害回復方法、システムおよびプログラム | |
US8762347B1 (en) | Method and apparatus for processing transactional file system operations to enable point in time consistent file data recreation | |
CN105721582A (zh) | 多节点文件备份系统 | |
CN117677943A (zh) | 用于混合数据处理的数据一致性机制 | |
CN113779143B (zh) | 双活数据中心和业务系统 | |
US20230409442A1 (en) | Techniques for maintaining data consistency during disaster recovery | |
KR20220086677A (ko) | 블록체인 기반 백업 및 복구를 위한 시스템 및 방법 | |
CN111522688B (zh) | 分布式系统的数据备份方法及装置 | |
WO2023244446A1 (en) | Scalable and secure cross-region and optimized file system replication for cloud scale | |
CN106648980A (zh) | 线下场所高可用服务器数据库备份与还原的方法和装置 | |
CN117349384B (zh) | 一种数据库同步的方法、系统及设备 | |
US20240281413A1 (en) | Techniques for replication checkpointing during disaster recovery | |
US20240134828A1 (en) | Techniques for efficient encryption and decryption during file system cross-region replication | |
US20240086417A1 (en) | Techniques for replication-aware resource management and task management of file systems | |
US20240104062A1 (en) | Techniques for resolving snapshot key inter-dependency during file system cross-region replication | |
US20240094937A1 (en) | Concurrent and non-blocking object deletion for cross-region replications | |
CN115168109A (zh) | 一种数据恢复方法、装置、设备及存储介质 | |
CN117131131A (zh) | 跨机房的数据同步方法、装置、电子设备和存储介质 | |
CN116841759A (zh) | 数据处理方法、装置、计算机设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201014 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201120 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210823 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211005 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220104 |
|
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: 20220524 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220614 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7090744 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |