CN105069109B - 一种分布式数据库扩容的方法和系统 - Google Patents

一种分布式数据库扩容的方法和系统 Download PDF

Info

Publication number
CN105069109B
CN105069109B CN201510484950.0A CN201510484950A CN105069109B CN 105069109 B CN105069109 B CN 105069109B CN 201510484950 A CN201510484950 A CN 201510484950A CN 105069109 B CN105069109 B CN 105069109B
Authority
CN
China
Prior art keywords
mysql
slave
database
data
dilatation
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
CN201510484950.0A
Other languages
English (en)
Other versions
CN105069109A (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.)
Beijing Si Tech Information Technology Co Ltd
Original Assignee
Beijing Si Tech Information Technology Co Ltd
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 Beijing Si Tech Information Technology Co Ltd filed Critical Beijing Si Tech Information Technology Co Ltd
Priority to CN201510484950.0A priority Critical patent/CN105069109B/zh
Publication of CN105069109A publication Critical patent/CN105069109A/zh
Application granted granted Critical
Publication of CN105069109B publication Critical patent/CN105069109B/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

Abstract

本发明涉及一种分布式数据库扩容的方法和系统,包括步骤S1,通过代理规则1将数据库系统1将Mysql_A和Mysql_B的数据均切分到两个数据库上;其中数据库系统1包括与DBProxy相连的Mysql_A和Mysql_B,且Mysql_A和Mysql_B的数据设置为双主互备;经过切分后,Mysql_A的数据切分到数据库Schema1和数据库Schema2上,Mysql_B的数据切分到数据库Schema1和数据库Schema2上;步骤S2,将代理规则1修改为代理规则2;步骤S3,根据代理规则2停止Mysql_A和Mysql_B的数据复制功能并删除Mysql_A包含的数据库Schema2以及Mysql_B包含的数据库Schema1;步骤S4,设置Mysql_A和Mysql_B的备份节点分别为Mysql_A_slave和Mysql_B_slave,并将Mysql_A和Mysql_B的数据分别导入到Mysql_A_slave和Mysql_B_slave中;本发明操作简单,扩容时间短;支持所有场景的分布式数据库的扩容。

Description

一种分布式数据库扩容的方法和系统
技术领域
本发明涉及分布式数据库和云计算领域,尤其涉及一种分布式数据库扩容的方法和系统。
背景技术
在互联网、电信等许多关键领域,随着企业业务的不断发展,企业的I/T环境也在不断进行演变,单个数据库已经很难满足海量数据库存储和高并发数据访问,分布式数据库的出现成为必然,分布式数据库能够有效的解决海量数据存储和并发问题,通过数据的水平切合和数据表的垂直切分,有效的缓解了海量数据存储,通过负载均衡、高可用、轮询等缓解了高并发问题。但随着分布式数据库的上线业务量的增加每个节点数据量的增加,分布式数据库节点扩容则势在必行。
现有的分布式数据库系统不能实现扩容,随着业务增加每个节点数据量剧增,整个分布式数据库性能急剧下降;扩容时间长,对应用程序影响大;扩容局限性强,只支持一些特殊场景不适合所有场景;扩容步骤繁琐,操作复杂。
发明内容
本发明所要解决的技术问题是提供一种分布式数据库扩容的方法和系统。
本发明解决上述技术问题的技术方案如下:一种分布式数据库扩容的方法,包括以下步骤:
步骤S1,通过代理规则1将数据库系统1将Mysql_A和Mysql_B的数据均切分到两个数据库上;其中数据库系统1包括与DBProxy相连的Mysql_A和Mysql_B,且Mysql_A和Mysql_B的数据设置为双主互备;经过切分后,Mysql_A的数据切分到数据库Schema1和数据库Schema2上,Mysql_B的数据切分到数据库Schema1和数据库Schema2上;
步骤S2,将代理规则1修改为代理规则2;
步骤S3,根据代理规则2停止Mysql_A和Mysql_B的数据复制功能并删除Mysql_A包含的数据库Schema2以及Mysql_B包含的数据库Schema1;
步骤S4,设置Mysql_A和Mysql_B的备份节点分别为Mysql_A_slave和Mysql_B_slave,并将Mysql_A和Mysql_B的数据分别导入到Mysql_A_slave和Mysql_B_slave中。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步地,步骤2中,在所述代理规则2中设置Mysql_A和Mysql_B的备份节点都为本身。
进一步地,步骤S4中,使用在线备份工具xtrabackup将Mysql_A和Mysql_B的数据分别导入到Mysql_A_slave和Mysql_B_slave中。
进一步地,步骤S4中,以导入数据的结束点为起始配置Mysql_A和Mysql_B与Mysql_A_slave和Mysql_B_slave主从互备。
进一步地,步骤S4后,在代理规则2中设置Mysql_A_slave和Mysql_B_slave为Mysql_A和Mysql_B的备份节点。
本发明解决上述技术问题的另一种技术方案如下:一种分布式数据库扩容的系统,包括数据切分模块、代理规则修改模块、数据库删除模块和备份节点设置模块;
所述数据切分模块用于通过代理规则1将数据库系统1将Mysql_A和Mysql_B的数据均切分到两个数据库上;其中数据库系统1包括与DBProxy相连的Mysql_A和Mysql_B,且Mysql_A和Mysql_B的数据设置为双主互备;经过切分后,Mysql_A的数据切分到数据库Schema1和数据库Schema2上,Mysql_B的数据切分到数据库Schema1和数据库Schema2上;
所述代理规则修改模块用于将代理规则1修改为代理规则2;
所述数据库删除模块用于根据代理规则2停止Mysql_A和Mysql_B的数据复制功能并删除Mysql_A包含的数据库Schema2以及Mysql_B包含的数据库Schema1;
所述备份节点设置模块用于设置Mysql_A和Mysql_B的备份节点分别为Mysql_A_slave和Mysql_B_slave,并将Mysql_A和Mysql_B的数据分别导入到Mysql_A_slave和Mysql_B_slave中。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步地,在所述代理规则2中设置Mysql_A和Mysql_B的备份节点都为本身。
进一步地,使用在线备份工具xtrabackup将Mysql_A和Mysql_B的数据分别导入到Mysql_A_slave和Mysql_B_slave中。
进一步地,以导入数据的结束点为起始配置Mysql_A和Mysql_B与Mysql_A_slave和Mysql_B_slave主从互备。
进一步地,在代理规则2中设置Mysql_A_slave和Mysql_B_slave为Mysql_A和Mysql_B的备份节点。
本发明的有益效果是:能够实现不停业务或者短时间停业务的分布式数据库节点扩容;操作简单,扩容时间短;支持所有场景的分布式数据库的扩容。
附图说明
图1为本发明所述分布式数据库扩容的方法流程图;
图2为本发明所述分布式数据库扩容的方法步骤1和步骤3流程图;
图3为本发明所述分布式数据库扩容的方法步骤4流程图;
图4为本发明所述分布式数据库扩容的系统结构图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
本发明中涉及的Mysql是指关系型数据库管理系统,DBProxy为数据库代理,用于调度/负载均衡。
图1为本发明所述分布式数据库扩容的方法流程图。
如图1所示,一种分布式数据库扩容的方法,包括以下步骤:
步骤S1,通过代理规则1将数据库系统1将Mysql_A和Mysql_B的数据均切分到两个数据库上;其中数据库系统1包括与DBProxy相连的Mysql_A和Mysql_B,且Mysql_A和Mysql_B的数据设置为双主互备;经过切分后,如图2所示,Mysql_A的数据切分到数据库Schema1和数据库Schema2上,Mysql_B的数据切分到数据库Schema1和数据库Schema2上。
步骤S2,将代理规则1修改为代理规则2;代理规则2中设置Mysql_A和Mysql_B的备份节点都它本身,此时Mysql_A和Mysql_B不具备主备功能;在代理管理端口(9066)执行reload@@config;使代理规则2生效。
步骤S3,根据代理规则2,通过Mysql命令停止Mysql_A和Mysql_B的数据复制功能并删除Mysql_A包含的数据库Schema2以及Mysql_B包含的数据库Schema1。
步骤S4,具体如图3所示,设置Mysql_A和Mysql_B的备份节点分别为Mysql_A_slave和Mysql_B_slave,可以使用在线备份工具xtrabackup将Mysql_A和Mysql_B的数据分别导入到Mysql_A_slave和Mysql_B_slave中。查看备份工具xtrabackup_binlog_info文件,获取导入日志的结束点,以导入数据的结束点为起始配置Mysql_A和Mysql_B与Mysql_A_slave和Mysql_B_slave互备;并启动主从互备。此时在代理规则中设置Mysql_A_slave和Mysql_B_slave为Mysql_A和Mysql_B的备份节点,在代理管理端口(9066)执行reload@@config;使代理规则2生效。
上述主要是针对分布式数据库不停业务的扩容方法,分布式数据库短停业务扩容方法包括:
(1)停止业务,确保无新数据的写入。
(2)在各个节点上通过Mysqldump工具将拆分表数据全部导出;
(3)清空原节点中要扩容表的数据,在新添加的节点上建要扩容的表
(4)修改代理切分规则,并加载代理配置文件。
(5)在代理端将各个节点的导出的数据导入。
图4为本发明所述分布式数据库扩容的系统结构图。
如图4所示,一种分布式数据库扩容的系统,包括数据切分模块、代理规则修改模块、数据库删除模块和备份节点设置模块;所述数据切分模块用于通过代理规则1将数据库系统1将Mysql_A和Mysql_B的数据均切分到两个数据库上;其中数据库系统1包括与DBProxy相连的Mysql_A和Mysql_B,且Mysql_A和Mysql_B的数据设置为双主互备;经过切分后,Mysql_A的数据切分到数据库Schema1和数据库Schema2上,Mysql_B的数据切分到数据库Schema1和数据库Schema2上;所述代理规则修改模块用于将代理规则1修改为代理规则2,在所述代理规则2中设置Mysql_A和Mysql_B的备份节点都为本身;所述数据库删除模块用于根据代理规则2停止Mysql_A和Mysql_B的数据复制功能并删除Mysql_A包含的数据库Schema2以及Mysql_B包含的数据库Schema1;所述备份节点设置模块用于设置Mysql_A和Mysql_B的备份节点分别为Mysql_A_slave和Mysql_B_slave,并使用在线备份工具xtrabackup将Mysql_A和Mysql_B的数据分别导入到Mysql_A_slave和Mysql_B_slave中。以导入数据的结束点为起始配置Mysql_A和Mysql_B与Mysql_A_slave和Mysql_B_slave主从互备。在代理规则2中设置Mysql_A_slave和Mysql_B_slave为Mysql_A和Mysql_B的备份节点。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种分布式数据库扩容的方法,其特征在于,包括以下步骤:
步骤S1,通过代理规则1将数据库系统1中Mysql_A和Mysql_B的数据均切分到两个数据库上;其中数据库系统1包括与DBProxy相连的两个Mysql,分别为Mysql_A和Mysql_B,且Mysql_A和Mysql_B的数据设置为双主互备;经过切分后,Mysql_A的数据切分到数据库Schema1和数据库Schema2上,Mysql_B的数据切分到数据库Schema1和数据库Schema2上;
步骤S2,将代理规则1修改为代理规则2;
步骤S3,根据代理规则2停止Mysql_A和Mysql_B的数据复制功能并删除Mysql_A包含的数据库Schema2以及Mysql_B包含的数据库Schema1;
步骤S4,设置Mysql_A和Mysql_B的备份节点分别为Mysql_A_slave和Mysql_B_slave,并将Mysql_A和Mysql_B的数据分别导入到Mysql_A_slave和Mysql_B_slave中。
2.根据权利要求1所述的分布式数据库扩容的方法,其特征在于,步骤S2中,在所述代理规则2中设置Mysql_A和Mysql_B的备份节点都为本身。
3.根据权利要求1所述的分布式数据库扩容的方法,其特征在于,步骤S4中,使用在线备份工具xtrabackup将Mysql_A和Mysql_B的数据分别导入到Mysql_A_slave和Mysql_B_slave中。
4.根据权利要求1所述的分布式数据库扩容的方法,其特征在于,步骤S4中,以导入数据的结束点为起始配置Mysql_A和Mysql_A_slave的主从互备,以及Mysql_B和Mysql_B_slave的主从互备。
5.根据权利要求1所述的分布式数据库扩容的方法,其特征在于,步骤S4后,在代理规则2中设置Mysql_A_slave为Mysql_A的备份节点,以及Mysql_B_slave为Mysql_B的备份节点。
6.一种分布式数据库扩容的系统,其特征在于,包括数据切分模块、代理规则修改模块、数据库删除模块和备份节点设置模块;
所述数据切分模块用于通过代理规则1将数据库系统1中Mysql_A和Mysql_B的数据均切分到两个数据库上;其中数据库系统1包括与DBProxy相连的两个Mysql,分别为Mysql_A和Mysql_B,且Mysql_A和Mysql_B的数据设置为双主互备;经过切分后,Mysql_A的数据切分到数据库Schema1和数据库Schema2上,Mysql_B的数据切分到数据库Schema1和数据库Schema2上;
所述代理规则修改模块用于将代理规则1修改为代理规则2;
所述数据库删除模块用于根据代理规则2停止Mysql_A和Mysql_B的数据复制功能并删除Mysql_A包含的数据库Schema2以及Mysql_B包含的数据库Schema1;
所述备份节点设置模块用于设置Mysql_A和Mysql_B的备份节点分别为Mysql_A_slave和Mysql_B_slave,并将Mysql_A和Mysql_B的数据分别导入到Mysql_A_slave和Mysql_B_slave中。
7.根据权利要求6所述的分布式数据库扩容的系统,其特征在于,在所述代理规则2中设置Mysql_A和Mysql_B的备份节点都为本身。
8.根据权利要求6所述的分布式数据库扩容的系统,其特征在于,使用在线备份工具xtrabackup将Mysql_A和Mysql_B的数据分别导入到Mysql_A_slave和Mysql_B_slave中。
9.根据权利要求6所述的分布式数据库扩容的系统,其特征在于,以导入数据的结束点为起始配置Mysql_A和Mysql_A_slave的主从互备,以及Mysql_B和Mysql_B_slave的主从互备。
10.根据权利要求6所述的分布式数据库扩容的系统,其特征在于,在代理规则2中设置Mysql_A_slave为Mysql_A的备份节点,以及Mysql_B_slave为Mysql_B的备份节点。
CN201510484950.0A 2015-08-07 2015-08-07 一种分布式数据库扩容的方法和系统 Active CN105069109B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510484950.0A CN105069109B (zh) 2015-08-07 2015-08-07 一种分布式数据库扩容的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510484950.0A CN105069109B (zh) 2015-08-07 2015-08-07 一种分布式数据库扩容的方法和系统

Publications (2)

Publication Number Publication Date
CN105069109A CN105069109A (zh) 2015-11-18
CN105069109B true CN105069109B (zh) 2018-04-03

Family

ID=54498479

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510484950.0A Active CN105069109B (zh) 2015-08-07 2015-08-07 一种分布式数据库扩容的方法和系统

Country Status (1)

Country Link
CN (1) CN105069109B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108319596A (zh) * 2017-01-16 2018-07-24 阿里巴巴集团控股有限公司 一种数据库的扩容方法和装置
CN109213825A (zh) * 2017-06-29 2019-01-15 北京微影时代科技有限公司 一种数据库扩容方法及装置
CN110019525A (zh) * 2017-12-06 2019-07-16 北京京东尚科信息技术有限公司 一种数据库扩容的方法和装置
CN108363813B (zh) * 2018-03-15 2020-06-02 北京星选科技有限公司 数据存储方法、装置和系统
CN109299066A (zh) * 2018-07-27 2019-02-01 阿里巴巴集团控股有限公司 一种数据库扩容方法及装置
CN109345353B (zh) * 2018-10-15 2022-04-22 广东鸭梨云信息科技有限公司 一种基于关系型分布式数据库的新型秒杀方法
CN109271376A (zh) * 2018-11-30 2019-01-25 北京锐安科技有限公司 数据库升级方法、装置、设备及存储介质
CN110489494B (zh) * 2019-08-27 2023-02-24 中国工商银行股份有限公司 分布式数据库在线扩容方法及装置
CN115455149B (zh) * 2022-09-20 2023-05-30 城云科技(中国)有限公司 基于编码查询方式的数据库构建方法及其应用

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521297A (zh) * 2011-11-30 2012-06-27 北京人大金仓信息技术股份有限公司 无共享数据库集群中实现系统动态扩展的方法
CN102930062A (zh) * 2012-11-30 2013-02-13 南京富士通南大软件技术有限公司 一种数据库快速水平扩展的方法
CN103345519A (zh) * 2013-07-11 2013-10-09 华为技术有限公司 无共享分布式数据库的数据分布的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521297A (zh) * 2011-11-30 2012-06-27 北京人大金仓信息技术股份有限公司 无共享数据库集群中实现系统动态扩展的方法
CN102930062A (zh) * 2012-11-30 2013-02-13 南京富士通南大软件技术有限公司 一种数据库快速水平扩展的方法
CN103345519A (zh) * 2013-07-11 2013-10-09 华为技术有限公司 无共享分布式数据库的数据分布的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种基于 Sharding碎片技术提升分布式非结构化数据库扩展能力的方法;王正明等;《兰州工业学院学报》;20131231(第6期);第12-17页 *

Also Published As

Publication number Publication date
CN105069109A (zh) 2015-11-18

Similar Documents

Publication Publication Date Title
CN105069109B (zh) 一种分布式数据库扩容的方法和系统
TWI698108B (zh) 基於區塊鏈的資料處理方法和裝置
CN105138592B (zh) 一种基于分布式架构的日志数据存储和检索方法
CN107977396B (zh) 一种KeyValue数据库的数据表的更新方法与表数据更新装置
CN111881223B (zh) 数据管理方法、设备、系统及存储介质
CN101673289B (zh) 分布式文件存储构架的构建方法和装置
CN103617211A (zh) 一种HBase加载数据的导入方法
CN106599104A (zh) 一种基于redis集群的海量数据关联方法
CN101673287A (zh) 一种sql语句生成方法及系统
US20140379631A1 (en) Transactional key-value database with searchable indexes
CN108304473A (zh) 数据源之间的数据传输方法和系统
CN104933173A (zh) 一种用于异构多数据源的数据处理方法、装置和服务器
CN108509437A (zh) 一种ElasticSearch查询加速方法
CN103646051A (zh) 一种基于列存储的大数据并行处理系统及方法
CN103793493A (zh) 一种处理车载终端海量数据的方法和系统
CN104834700A (zh) 一种基于轨迹变更的移动数据增量捕获方法
CN105912691A (zh) 基于分布式存储的电网模型多版本多租户管理系统和方法
CN102946410A (zh) 网络同步方法和装置
Khan et al. Data model for big data in cloud environment
CN114218218A (zh) 基于数据仓库的数据处理方法、装置、设备及存储介质
CN103606032B (zh) 一种二维电网gis数据集中的方法
CN106802928B (zh) 电网历史数据管理方法及其系统
CN102724290B (zh) 一种获取目标客户群的方法、设备及系统
CN111369302A (zh) 实时生成积分的方法、系统及计算机可读存储介质
Grossman What is analytic infrastructure and why should you care?

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20151118

Assignee: CHINA TECHNOLOGY EXCHANGE Co.,Ltd.

Assignor: SI-TECH INFORMATION TECHNOLOGY Ltd.

Contract record no.: X2021980013174

Denomination of invention: A method and system for capacity expansion of distributed database

Granted publication date: 20180403

License type: Exclusive License

Record date: 20211124

EE01 Entry into force of recordation of patent licensing contract
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A method and system for capacity expansion of distributed database

Effective date of registration: 20211125

Granted publication date: 20180403

Pledgee: CHINA TECHNOLOGY EXCHANGE Co.,Ltd.

Pledgor: SI-TECH INFORMATION TECHNOLOGY Ltd.

Registration number: Y2021110000075

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