思考与总结:数据分片的一些问题

伴随业务发展的越来越好,必然引起数据量的不断增加,当数据量到达一定程度后,会导致数据库性能下降,此时,可以考虑使用数据分片。对于新库新表,一定依据数据增量评估结果决定是否需要分片,不要误用分片导致增加开发和维护的难度与成本。

数据分片的原因?

数据库数据量(1TB)超过阈值、数据表数据量超过阈值,影响数据库性能。

数据分片的评估标准?

  • 数据库数据大小,1TB
  • 数据表数据量,与索引深度有关,如3层,数据量1千万左右

数据分片方式?

  • 纵向分片 按照业务维度,将表分到不同的数据库。
  • 横向分片 按照某种规则,将一类数据分散存储到具有相同表结构的一批表中。

数据分片路由规则?

  • 分片数据列
  • 分片算法

分布式主键?

  • UUID
  • 雪花算法
  • 序列服务+一次性获取批量序列

如何处理crud sql?

  • 最好针对单表且条件中提供分片列数据
  • 表关联,笛卡尔积
  • 排序分页,map-reduce的过程

数据分片的实现方式?

  • 客户端
  • 代理
  • mysql插件

数据分片的事务支持?

  • 本地事务
  • XA事务,两阶段事务提交,如seata
  • 基于BASE的柔性事务,保证最终一致性

数据分片解决方案? 

  • ShardingSphere

数据分片 :: ShardingSpherehttps://shardingsphere.apache.org/document/current/cn/features/sharding/

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值