一种分布式数据库管理方法及系统技术方案

技术编号:33740725 阅读:14 留言:0更新日期:2022-06-08 21:38
本发明专利技术公开了一种分布式数据库管理方法及系统,属于分布式数据库管理技术领域,基于ShardingSphere建立分布式数据库框架,根据实际业务进行数据分片,并根据强一致性要求与吞吐量要求选择合适的分布式事务;所述数据分片包括:分库和分表,根据查询QPS进行拆库分库,根据单标数据量规则设定进行拆表分表;配置读写分离,通过主数据库和从数据库设置实现读写分离;定制分片策略;制定无中心化分布式主键。本发明专利技术能够提高应用软件的开发效率,具有更好的代码可读性和维护性,并能够降低升级硬件带来的高额成本。来的高额成本。来的高额成本。

【技术实现步骤摘要】
一种分布式数据库管理方法及系统


[0001]本专利技术涉及分布式数据库管理
,具体地说是一种分布式数据库管理方法及系统。

技术介绍

[0002]随着数据量和访问量的增长,当数据库数据量变得非常巨大的时候,单机数据库在使用过程中不可避免会遇到数据库容量、连接数、事务数、读性能瓶颈,数据库读写性能将变得很低。

技术实现思路

[0003]本专利技术的技术任务是针对以上不足之处,提供一种分布式数据库管理方法及系统,该方法能够提高应用软件的开发效率,具有更好的代码可读性和维护性,并能够降低升级硬件带来的高额成本。
[0004]本专利技术解决其技术问题所采用的技术方案是:
[0005]一种分布式数据库管理方法,基于ShardingSphere建立分布式数据库框架,根据实际业务进行数据分片,并根据强一致性要求与吞吐量要求选择合适的分布式事务;
[0006]所述数据分片包括:
[0007]分库和分表,根据查询QPS进行拆库分库,根据单标数据量规则设定进行拆表分表;
[0008]配置读写分离,通过主数据库和从数据库设置实现读写分离;
[0009]定制分片策略;
[0010]制定无中心化分布式主键。
[0011]对于
技术介绍
中所描述的问题,突破这些瓶颈的两种通用的解决模型是单机垂直扩展scale up模型和水平扩展scale out模型。可以通过scale

up的方式,即升级数据库服务器的CPU、内存、磁盘,将SATA/SAS盘换SSD盘等方式解决。不过相对scale

up来说,分布式数据库这种scale

out的方式,扩展性会更强一些,一般来说也更具性价比。
[0012]ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding

JDBC、Sharding

Proxy和Sharding

Sidecar(规划中)这3款相互独立的产品组成。他们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、容器、云原生等各种多样化的应用场景。ShardingShpere在刚刚过去的双十一之前通过了Apache基金会的投票,正式进入孵化器,成为Apache的首个分布式数据库中间件。
[0013]Sharding

JDBC是Sharding

Sphere的第一个产品,也是Sharding

Sphere的前身,是当当网开源的一个产品。定位为轻量级的Java框架,在Java的JDBC层提供额外服务。它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架。
[0014]Sharding

Proxy是Sharding

Sphere的第二个产品。它定位为透明化的数据库代
理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支持。Sharding

Proxy屏蔽了底层的分库分表,您可以像使用一个简单的数据库一样来操作分库分表的数据。
[0015]Sharding

Sidecar定位为Kubernetes或Mesos的云原生数据库代理,以DaemonSet的形式代理所有对数据库的访问。通过无中心、零侵入的方案提供与数据库交互的的啮合层,即Database。
[0016]ShardingSphere可以采用混合使用Sharding

JDBC和Sharding

Proxy的部署方式满足在线+管理的能力,也可以独立使用Sharding

JDBC或Sharding

Proxy。ShardingSphere希望可以通过多元化的接入端架构去满足不同需求。
[0017]QPS是指每秒查询率。QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。
[0018]ACID是指数据库管理系统(DBMS)在写入或更新资料的过程中,为保证事务(transaction)是正确可靠的,所必须具备的四个特性:原子性(atomicity,或称不可分割性)、一致性(consistency)、隔离性(isolation,又称独立性)、持久性)。
[0019]JDBC,Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。
[0020]优选的,所述根据查询QPS进行拆库分库,若查询QPS为3500,单库可以支撑1000个连接数,则拆分成4个库。
[0021]优选的,所述读写分离配置,主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),从数据库处理SELECT查询操作。
[0022]优选的,所述分片策略包括:
[0023]标准分片策略:对应Standard Sharding Strategy,提供对SQL语句中的=,>,<,>=,<=,IN和BETWEEN AND的分片操作支持;Standard Sharding Strategy只支持单分片键,提供Precise Sharding Algorithm和Range Sharding Algorithm两个分片算法,Precise Sharding Algorithm是必选的,用于处理=和IN的分片;Range Sharding Algorithm是可选的,用于处理BETWEEN AND,>,<,>=,<=分片,如果不配置Range Sharding Algorithm,SQL中的BETWEEN AND将按照全库路由处理;
[0024]复合分片策略:对应Complex Sharding Strategy,提供对SQL语句中的=,>,<,>=,<=,IN和BETWEEN AND的分片操作支持;Complex Sharding Strategy支持多分片键,直接将分片键值组合以及分片操作符透传至分片算法,完全由应用开发者实现;
[0025]行表达式分片策略:对应Inline Sharding Strategy,使用Groovy的表达式,提供对SQL语句中的=和IN的分片操作支持,只支持单分片键;对于简单的分片算法,可以通过简单的配置使用,从而避免繁琐的Java代码开发,如:t_user_$

>{u_id%8}表示t_user表根据u_本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式数据库管理方法,其特征在于,基于ShardingSphere建立分布式数据库框架,根据实际业务进行数据分片,并根据强一致性要求与吞吐量要求选择合适的分布式事务;所述数据分片包括:分库和分表,根据查询QPS进行拆库分库,根据单标数据量规则设定进行拆表分表;配置读写分离,通过主数据库和从数据库设置实现读写分离;定制分片策略;制定无中心化分布式主键。2.根据权利要求1所述的一种分布式数据库管理方法,其特征在于,所述根据查询QPS进行拆库分库,若查询QPS为3500,单库可以支撑1000个连接数,则拆分成4个库。3.根据权利要求1或2所述的一种分布式数据库管理方法,其特征在于,所述读写分离配置,主数据库处理事务性增、改、删操作,从数据库处理SELECT查询操作。4.根据权利要求3所述的一种分布式数据库管理方法,其特征在于,所述分片策略包括:标准分片策略:对应Standard Sharding Strategy,提供对SQL语句中的=,>,<,>=,<=,IN和BETWEEN AND的分片操作支持;Standard Sharding Strategy只支持单分片键,提供Precise Sharding Algorithm和Range Sharding Algorithm两个分片算法,Precise Sharding Algorithm是必选的,用于处理=和IN的分片;Range Sharding Algorithm是可选的,用于处理BETWEEN AND,>,<,>=,<=分片,如果不配置Range Sharding Algorithm,SQL中的BETWEEN AND将按照全库路由处理;复合分片策略:对应Complex Sharding Strategy,提供对SQL语句中的=,>,<,>...

【专利技术属性】
技术研发人员:吴彬徐兵兵
申请(专利权)人:浪潮软件科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1