mysql 分库分表分区 动态扩容 总结

mysql自带分表分区策略

mysql 自带有分区分表策略、具体参考mysql 分库分表分区总结_mysql分区实验报告小结-CSDN博客。只能说单库情况下、并且简单的情况如按时间做range分区可以使用mysql自带分区策略。更多的情况下完全要自己代码逻辑实现。

开源解决方案

开源中间件或框架

  • cobar
  • TDDL
  • atlas
  • sharding-jdbc 当当开源产品,属于client方案
  • mycat 基于cobar改造,属于proxy方案

sharding-jdbc和mycat使用不同的理念,sharding-jdbc目前是基于jdbc驱动,无需额外的proxy,因此也无需关注proxy本身的高可用。Mycat 是基于 Proxy,它复写了 MySQL 协议,将 Mycat Server 伪装成一个 MySQL 数据库,而 Sharding-JDBC 是基于 JDBC 接口的扩展,是以 jar 包的形式提供轻量级服务的。

解决方案

  • Proxy 代理模式
  • Client 客户端模式

Proxy 代理模式

应用程序和数据库 中间,单独部署一个代理层中间件,所有的连接和数据库操作都发给这个代理层,由代理层去做底层的实现。

(1)事先在代理中间件上配置分片规则、

(2)代理中间件拦截客户端sql、并对sql解析:如分片分析、路由分析、读写分离分析、缓存分析等,然后将此SQL发往后端的真实数据库

(3)并将返回的结果做适当的处理,最终再返回给用户。

(4)对返回结果进行合并等相关处理处理、并返回给客户端。

这样做对开发人员来说,是完全不需要知道下面做了什么的,甚至不需要做任何的代码改造,就可以完成接入;

常见的框架有:MyCat(支持 MySQL, Oracle, DB2, PostgreSQL, SQL Server等主流数据库,基于Cobar改造的)、Cobar(阿里,已停止维护)、MySQL-Proxy、Atlas(360开源的)、sharing-sphere(当当)等等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

life1024

你的鼓励将是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值