CN103617195B - 一种用于MySQL数据库的数据同步系统和方法 - Google Patents

一种用于MySQL数据库的数据同步系统和方法 Download PDF

Info

Publication number
CN103617195B
CN103617195B CN201310552466.8A CN201310552466A CN103617195B CN 103617195 B CN103617195 B CN 103617195B CN 201310552466 A CN201310552466 A CN 201310552466A CN 103617195 B CN103617195 B CN 103617195B
Authority
CN
China
Prior art keywords
mysql database
data
storage system
master library
storehouse
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
Application number
CN201310552466.8A
Other languages
English (en)
Other versions
CN103617195A (zh
Inventor
李春
李建辉
熊中哲
罗春
陈栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Wo Qu Polytron Technologies Inc
Original Assignee
Hangzhou Wo Qu Polytron Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Wo Qu Polytron Technologies Inc filed Critical Hangzhou Wo Qu Polytron Technologies Inc
Priority to CN201310552466.8A priority Critical patent/CN103617195B/zh
Publication of CN103617195A publication Critical patent/CN103617195A/zh
Application granted granted Critical
Publication of CN103617195B publication Critical patent/CN103617195B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication

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)
  • Hardware Redundancy (AREA)

Abstract

本发明公开了一种用于MySQL数据库的数据同步系统,包括一用于数据存储的MySQL数据库主库;一通过高速互联网络与MySQL数据库主库连接的MySQL数据库备库,所述MySQL数据库备库用于数据备份;其特征在于:还包括一支持数据块原子写的存储系统,所述存储系统包括数据块同步软件和高速IO存储系统;所述存储系统分别设置于MySQL数据库主库和MySQL数据库备库中,MySQL数据库主库中的数据块同步软件用于将MySQL数据库主库的数据同步到MySQL数据库备库的高速IO存储系统中。

Description

一种用于MySQL数据库的数据同步系统和方法
技术领域
本发明涉及数据安全领域,具体地说,特别涉及到一种用于MySQL数据库的数据同步系统和方法。
背景技术
从所周知的是,在磁盘出现故障的情况下,MySQL数据库的数据将会丢失。为了避免上述情况的发生,一般通过搭建MySQL复制的方式异步的将数据同步到另外的服务器,这种办法一定程度上能够保证数据不完全丢失,但其缺陷在于:由于重做日志或者二进制日志数据还在内存中,MySQL数据库在崩溃的时候,无法将这些数据持久化,异步的复制无法保证MySQL的数据完整的全部同步到了另外一台服务器,不能做到零丢失。
另外一种方式是通过数据块同步软件同步的将MySQL的数据块同步到另外一个服务器上。这种方式的缺陷在于:由于MySQL的数据块为16K,数据块同步软件是基于文件系统的同步,无法保证16K的数据库完整的同步到另外一台服务器,造成MySQL块损坏,数据丢失。
另外采用同步写的方式数据块需要在两台服务器都写成功才能返回,对应的需要两次IO和一次网络传输,导致底层IO响应时间大大增加,影响MySQL数据库的响应时间,对于需要高并发和提供快速实时访问的应用来说是无法容忍的,这种方案也无法实现高性能的需求。
发明内容
本发明实际需要解决的技术问题是:针对现有技术中的不足,提供一种用于MySQL数据库的数据同步系统和方法,以解决上述问题。
本发明所解决的技术问题可以采用以下技术方案来实现:
一种用于MySQL数据库的数据同步系统,包括
一用于数据存储的MySQL数据库主库;
一通过高速互联网络与MySQL数据库主库连接的MySQL数据库备库,所述MySQL数据库备库用于数据备份;
其特征在于:还包括一支持数据块原子写的存储系统,所述存储系统包括数据块同步软件和高速IO存储系统;
所述存储系统分别设置于MySQL数据库主库和MySQL数据库备库中,MySQL数据库主库中的数据块同步软件用于将MySQL数据库主库的数据同步到MySQL数据库备库的高速IO存储系统中。
进一步的,所述存储系统还包括一支持指定块大小原子写的文件系统,所述文件系统通过MySQL数据库主库中的数据块同步软件将数据完整的同步到MySQL数据库备库的高速IO存储系统中。
一种用于MySQL数据库的数据同步方法,其特征在于:包括如下方法:
1)MySQL数据库主库发起写操作;
2)数据块同步软件在高速IO存储系统中写数据,并将数据通过高速互联网络传输至MySQL数据库备库中的数据块同步软件;
3)MySQL数据库备库中的数据块同步软件将数据提交到MySQL数据库备库的“高速IO存储系统中。
进一步的,所述步骤1)-4)均包含结果反馈步骤,用于将数据写的结构返回给前者。
进一步的,所述步骤1)中,MySQL数据库主库发起写操作后,支持指定块大小原子写的文件系统向数据块同步软件写数据。
与现有技术相比,本发明的有益效果如下:
利用数据块同步软件、支持指定块大小原子写的文件系统、高速互联网络、高速IO存储系统来共同解决数据库的宕机数据丢失和高性能两者无法兼得的问题。可以在保证MySQL数据库宕机后数据零丢失,还能保证数据库在日常运行的高性能。在对数据库丢失特别敏感,日常数据库性能要求也特别高的场景下特别适合。
附图说明
图1为本发明所述的数据同步系统的连接结构图。
图2为本发明所述的数据同步系统的裸设备存储系统图。
图3为本发明所述的数据同步系统的文件存储系统图
图4为本发明所述的数据同步方法的裸设备存储系统的流程图。
图5为本发明所述的数据同步方法的文件存储的流程图。
图6为本发明所述的实施例1的示意图。
图中标号说明:MySQL数据库主库1、存储系统2、数据同步软件21、高速IO存储系统22、文件系统23、MySQL数据库备库3、存储系统4、数据同步软件41、高速IO存储系统42、文件系统43、高速互联网络5。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
参见图1,MySQL数据库主库1直接访问支持数据块原子写的存储系统2,由支持数据块原子写的存储系统2使用高速互联网络5来同步数据写,保证数据的零丢失和高性能。
参见图2,MySQL数据库主库1直接访问裸设备,支持数据块原子写的存储系统2包含了数据块同步软件21和高速IO存储系统22,数据块同步软件21负责将MySQL数据库主库1的写操作同步到MySQL数据库备库3上的高速IO存储系统42。这样MySQL数据库主库1出现了问题以后,MySQL数据库备库3的数据仍然是最新的,并且高速IO存储系统22和42也能够提供足够高性能的数据存储服务。
参见图4,MySQL数据库主库1直接访问裸设备,提交写请求以后,数据块同步软件负责向MySQL数据库主库1的高速IO存储系统22写入数据,并同时通过高速互联网络5向MySQL数据库备库3的高速IO存储系统42写入数据。只有两边都同时写成功了,数据块同步软件21才会返回给MySQL数据库主库1写成功的信息。
参见图3,MySQL数据库主库1访问文件系统23,支持数据块原子写的存储系统2包含了支持指定块大小原子写的文件系统数据块同步软件21和高速IO存储系统22。支持指定块大小原子写的文件系统2保证了MySQL数据库主库1的数据块提交到数据块同步软件21时,不会拆分成多个小的数据块,从而导致数据库块部分成功部分失败,从而导致数据库切换到备库服务器时由于块损坏而导致无法启动。数据块同步软件21负责将MySQL数据库主库1的写操作同步到MySQL数据库备库3上的高速IO存储系统42。这样MySQL数据库主库1出现问题以后,MySQL数据库备库3的数据仍然是最新的,且高速IO存储系统42也能够提供足够高性能的数据存储服务。
参见图5,MySQL数据库主库1访问文件系统,提交写请求以后,支持指定块大小原子写的文件系统23直接向数据块同步软件21读写数据。数据块同步软件21负责向MySQL数据库主库1的高速IO存储系统22写入数据,并同时通过高速互联网络5向MySQL数据库备库3的高速IO存储系统42写入数据。只有两边都同时写成功了,数据块同步软件21才会返回给MySQL数据库主库1“写成功”的信息。
实施例1
参见图6,本实施例是MySQL数据库主库提交一个大小为PAGE_SIZE字节的页数据的写操作,其数据同步过程如下:
文件系统将会为这个写操作启动一个原子写操作。首先,文件系统会初始化部分变量,并且标记原子写开始。然后文件系统将PAGE_SIZE大小的页,按照底层磁盘系统的块大小进行数据写入,每次写入一个BLOCK_SIZE字节大小的块,直到所有的PAGE_SIZE字节的页数据全部写入到底层存储系统中。注意,每次文件系统的写入都会被同步到MySQL备库的服务器存储系统上。万一在数据写入或者同步过程中出现了任何异常,文件系统都会回滚掉之前所做的任何操作。如果在这个时间段内的任意时刻,数据库或者主机宕机了,都不会导致数据的不一致。因为此时,文件系统只是开启了一个原子写操作,在备机上,文件系统发现数据没有提交的话,这些块都会被回滚掉,不会产生数据丢失和不一致的情况。只有当所有的数据都写入存储系统,并成功同步到MySQL备库的服务器存储系统时,文件系统才会标记原子写成功,返回数据写成功的信息。这个时间段内,如果数据库宕机,由于原子写已经记录在文件系统中,那么数据也不会丢失失去一致性。
采用同步写的方式,数据块需要在两台服务器都写成功才能返回,网络延迟和底层磁盘的IO响应延迟,将导致数据库IO响应时间大大增加。为了解决IO响应时间增加的问题,本发明采用高速IO存储系统来提高IO延迟时间。目前采用最新的Flash技术磁盘和PCIE卡的并发IO能力以及IO响应时间比普通磁盘要快100倍。同时,为了避免网络延迟给同步带来的性能消耗,该方法要求使用高速互联网络。目前最新的高速互联网络吞吐量是主流千兆网络的560倍,数据延迟时间能够达到IO总线的纳秒级的延迟级别。
另外,由于采用了原子写的文件系统,可以对MySQL的部分参数进行调优以补偿同步写带来的IO延迟。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (1)

1.一种用于MySQL数据库的数据同步系统,包括
一用于数据存储的MySQL数据库主库;
一通过高速互联网络与MySQL数据库主库连接的MySQL数据库备库,所述MySQL数据库备库用于数据备份;
其特征在于:还包括一支持数据块原子写的存储系统,所述存储系统包括数据块同步软件和高速IO存储系统;
所述存储系统分别设置于MySQL数据库主库和MySQL数据库备库中,MySQL数据库主库中的数据块同步软件用于将MySQL数据库主库的数据同步到MySQL数据库备库的高速IO存储系统中;
所述存储系统还包括一支持指定块大小原子写的文件系统,所述文件系统通过MySQL数据库主库中的数据块同步软件将数据完整的同步到MySQL数据库备库的高速IO存储系统中;
所述的MySQL数据库主库访问文件系统,提交写请求以后,支持制定块大小原子写的文件系统直接向数据块同步软件读写数据;数据块同步软件负责向MySQL数据库主库的高速IO存储系统写入数据,并且同时通过高速互联网向MySQL数据库备库的高速IO存储系统写入数据;只有两边都同时写成功了,数据块同步软件才会返回MySQL数据库主库写成功的信息。
CN201310552466.8A 2013-11-05 2013-11-05 一种用于MySQL数据库的数据同步系统和方法 Active CN103617195B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310552466.8A CN103617195B (zh) 2013-11-05 2013-11-05 一种用于MySQL数据库的数据同步系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310552466.8A CN103617195B (zh) 2013-11-05 2013-11-05 一种用于MySQL数据库的数据同步系统和方法

Publications (2)

Publication Number Publication Date
CN103617195A CN103617195A (zh) 2014-03-05
CN103617195B true CN103617195B (zh) 2017-08-18

Family

ID=50167898

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310552466.8A Active CN103617195B (zh) 2013-11-05 2013-11-05 一种用于MySQL数据库的数据同步系统和方法

Country Status (1)

Country Link
CN (1) CN103617195B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108958972A (zh) * 2018-06-25 2018-12-07 郑州云海信息技术有限公司 一种mysql数据库备份的方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105550178A (zh) * 2014-10-29 2016-05-04 中兴通讯股份有限公司 一种数据库的处理方法、装置及系统
CN104834724B (zh) * 2015-05-12 2018-12-18 广东睿江云计算股份有限公司 一种数据库同步方法和装置
CN105117282B (zh) * 2015-08-24 2018-09-14 浪潮(北京)电子信息产业有限公司 一种对输入输出请求进行拆分的方法及装置
CN106528893B (zh) * 2016-12-26 2020-01-10 北京奇虎科技有限公司 数据同步方法及装置
CN108804463B (zh) * 2017-05-03 2021-07-09 杭州海康威视数字技术股份有限公司 一种MySQL数据库的数据同步方法、装置及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441582A (zh) * 2007-11-20 2009-05-27 北京和力记易科技有限公司 计算机数据对象的备份和恢复方法及实现该方法的系统和程序产品
WO2012113336A1 (zh) * 2011-02-23 2012-08-30 运软网络科技(上海)有限公司 一种在虚拟化环境中管理资源的系统及其实现方法
CN103294787A (zh) * 2013-05-21 2013-09-11 成都市欧冠信息技术有限责任公司 分布式数据库系统的多副本存储方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9411687B2 (en) * 2011-06-03 2016-08-09 Apple Inc. Methods and apparatus for interface in multi-phase restore

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441582A (zh) * 2007-11-20 2009-05-27 北京和力记易科技有限公司 计算机数据对象的备份和恢复方法及实现该方法的系统和程序产品
WO2012113336A1 (zh) * 2011-02-23 2012-08-30 运软网络科技(上海)有限公司 一种在虚拟化环境中管理资源的系统及其实现方法
CN103294787A (zh) * 2013-05-21 2013-09-11 成都市欧冠信息技术有限责任公司 分布式数据库系统的多副本存储方法和系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108958972A (zh) * 2018-06-25 2018-12-07 郑州云海信息技术有限公司 一种mysql数据库备份的方法

Also Published As

Publication number Publication date
CN103617195A (zh) 2014-03-05

Similar Documents

Publication Publication Date Title
CN103617195B (zh) 一种用于MySQL数据库的数据同步系统和方法
CN102955720B (zh) 一种提高ext文件系统稳定性的方法
JP5577350B2 (ja) 効率的なデータ同期化のための方法及びシステム
CN102521038B (zh) 基于分布式文件系统的虚拟机迁移方法和装置
US9996427B2 (en) Parallel backup for distributed database system environments
CN103116661B (zh) 一种数据库的数据处理方法
US9152474B2 (en) Context aware synchronization using context and input parameter objects associated with a mutual exclusion lock
CN102567445B (zh) 一种分布式文件系统中保证元数据一致性的方法
CN110209726A (zh) 分布式数据库集群系统、数据同步方法及存储介质
CN106815275B (zh) 一种通过备用数据库实现主备数据库同步的方法与设备
CN105183839A (zh) 一种基于Hadoop的小文件分级索引的存储优化方法
JP2018505496A (ja) データを同期する方法、機器、及びシステム
CN103516549B (zh) 一种基于共享对象存储的文件系统元数据日志机制
CN108694231A (zh) 使用nvm并通过多个日志记录缓冲器来预写式日志记录
US20150193439A1 (en) Schemaless data access management
CN103795801A (zh) 一种基于实时应用集群的元数据集群设计方法
CN102932424A (zh) 一种分布式并行文件系统缓存数据同步的方法及系统
CN105468297A (zh) 一种云存储系统内主从设备数据快速同步的方法
CN110442648A (zh) 数据同步方法和装置
CN104850628B (zh) 一种数据库数据的同步方法及装置
CN107992763B (zh) 一种文件系统的掉电保护方法及装置
US20090132534A1 (en) Remote replication synchronizing/accessing system and method thereof
CN104281673A (zh) 一种数据库的缓存构建系统及对应的构建方法
WO2024109253A1 (zh) 一种数据备份方法、系统和设备
US10831369B2 (en) System and method for synchronizing caches after reboot

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: Hangzhou City, Zhejiang province 310000 Binjiang District River Street No. 1190 building 3 bin An Lu Zhi Hui territory science and Technology Park A District 10 floor A building room 1004

Applicant after: HANGZHOU WOQU TECHNOLOGY CO.,LTD.

Address before: 310000, room 1, building 10, 703 Yue Shuai bridge, Xiacheng District, Hangzhou, Zhejiang

Applicant before: HANGZHOU WOQU NETWORK TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Data synchronization system and data synchronization method used for MySQL database

Effective date of registration: 20191225

Granted publication date: 20170818

Pledgee: Bank of Hangzhou Limited by Share Ltd. science and Technology Branch

Pledgor: HANGZHOU WOQU TECHNOLOGY CO.,LTD.

Registration number: Y2019330000391

PE01 Entry into force of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20230315

Granted publication date: 20170818

Pledgee: Bank of Hangzhou Limited by Share Ltd. science and Technology Branch

Pledgor: HANGZHOU WOQU TECHNOLOGY CO.,LTD.

Registration number: Y2019330000391

PC01 Cancellation of the registration of the contract for pledge of patent right