业界常见分库分表中间件

十念  金牌会员 | 2023-7-20 21:21:05 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 912|帖子 912|积分 2736


  • Cobar(已经被淘汰没使用了)
  • TDDL

    • 淘宝根据自己的业务特点开发了 TDDL (Taobao Distributed Data Layer)
    • 基于JDBC规范,没有server,以client-jar的形式存在,引入项目即可使用
    • 开源功能比较少,阿里内部使用为主

  • Mycat

    • 地址 http://www.mycat.org.cn/

      • Java语言编写的MySQL数据库网络协议的开源中间件,前身 Cobar
      • 遵守Mysql原生协议,跨语言,跨平台,跨数据库的通用中间件代理
      • 是基于 Proxy,它复写了 MySQL 协议,将 Mycat Server 伪装成一个 MySQL 数据库
      • 和ShardingShere下的Sharding-Proxy作用类似,需要单独部署




  • ShardingSphere 下的Sharding-JDBC

    • 地址:https://shardingsphere.apache.org/
    • Apache ShardingSphere 是一套开源的分布式数据库中间件解决方案组成的生态圈

      • 它由 Sharding-JDBC、Sharding-Proxy 和 Sharding-Sidecar 3个独立产品组合

    • Sharding-JDBC

      • 基于jdbc驱动,不用额外的proxy,支持任意实现 JDBC 规范的数据库
      • 它使用客户端直连数据库,以 jar 包形式提供服务,无需额外部署和依赖
      • 可理解为加强版的 JDBC 驱动,兼容 JDBC 和各类 ORM 框架


  • Mycat和ShardingJdbc区别

    • 两者设计理念相同,主流程都是SQL解析-->SQL路由-->SQL改写-->结果归并

      • sharding-jdbc

        • 基于jdbc驱动,不用额外的proxy,在本地应用层重写Jdbc原生的方法,实现数据库分片形式
        • 是基于 JDBC 接口的扩展,是以 jar 包的形式提供轻量级服务的,性能高
        • 代码有侵入性

      • Mycat

        • 是基于 Proxy,它复写了 MySQL 协议,将 Mycat Server 伪装成一个 MySQL 数据库

          • 客户端所有的jdbc请求都必须要先交给MyCat,再有MyCat转发到具体的真实服务器
          • 缺点是效率偏低,中间包装了一层
          • 代码无侵入性





免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

十念

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表