ShardingSphere分库分表及扩缩容策略

本文详细介绍了ShardingSphere的分库分表方案,比较了它与Mycat的区别,讨论了数据分片策略、动态扩缩容方法、主键管理和分布式事务处理。此外,还涵盖了如何选择ShardingSphere的jdbc和proxy,以及何时进行分库分表的指导原则。
摘要由CSDN通过智能技术生成

ShardingSphere > 用户手册

分库分表方案

1. 垂直分片
将整个库按业务划分为多个库。可以扩展数据库连接数,提升数据库IO性能,但不能解决单表数据量大的问题。
2. 水平分片
从数据维度切分,使用分片键+分片规则,将单表数据拆分到多张表中。可以扩展单表可控数据量,提升数据库查询性能
在这里插入图片描述
在这里插入图片描述

分库分表技术选型

市面上常用的有ShardingSphereMycat
ShardingSphere是Apache的顶级分库分表项目,社区活跃度高,产品更新快。mycat的活跃度相对来说活跃度不高,且版本迭代更新慢。

ShardingSphere包括了jdbc,proxy, 它提供了水平分片、垂直分库分表、读写分离、分布式事务等功能。它支持多种主流数据库,包括 MySQL、PostgreSQL、Oracle 等。ShardingSphere 还提供了灵活的配置选项,方便开发人员根据实际需求进行定制化配置。ShardingSphere包含了jdbc和proxy两个产品。jdbc基于客户端分库分表,proxy基于服务端分库分表。 Mycat是基于客户端分库分表。

常用数据分片策略

1. 取模分片
优点:数据存放比较均匀
缺点:扩容需要大量数据迁移

2. 按范围分片
优点:扩容不需要迁移数据

  • 20
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ShardingSphere是一个开源的分布式数据库中间件,用于实现分库分表分库分表是将一个数据库按照一定的规则分成多个库或者多个表,从而达到提高数据库性能和扩展性的目的。 在ShardingSphere中,可以通过配置公共表的方式来实现分库分表。通过设置配置文件中的参数,指定需要进行分库分表的表以及相应的规则和算法。例如,在配置文件中可以设置公共表和分库分表策略,如分库数量、分表数量、分片键的生成策略等。引用 同时,在使用ShardingSphere进行分库分表时,需要进行综合评估确定分库分表的数量。一般建议初次分库分表时,将数据库分为4-8个库。引用 分库分表可以解决一些问题,例如垂直分表可以将热门数据和冷门数据分开存储,同时将大字段放在冷门数据表中。垂直分库可以按照业务进行拆分,将不同的业务放在不同的库中,解决单一服务器性能的瓶颈,提升整体架构的业务清晰度。水平分表可以解决单一表数据量过大的问题,而水平分库可以将一个表的数据分别分到不同的库中,解决单一服务器数据量过大的问题。引用 总结来说,ShardingSphere是一个用于实现分库分表的分布式数据库中间件,通过配置公共表和分库分表策略,可以将数据库按照一定规则进行分割,从而提高数据库性能和扩展性。分库分表的选择需要综合评估,并根据实际业务需求来确定分库分表的数量和策略
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值