zoukankan      html  css  js  c++  java
  • 分库分表之Sharding-JDBC简介(1)

    1、Sharding-JDBC简介

    官网地址:https://shardingsphere.apache.org/document/current/cn/overview/

    Sharding-JDBC定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。 它使用客户端直连数据库,以 jar 包形式提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架。

    • 适用于任何基于 JDBC 的 ORM 框架,如:JPA, Hibernate, Mybatis, Spring JDBC Template 或直接使用 JDBC。
    • 支持任何第三方的数据库连接池,如:DBCP, C3P0, BoneCP, Druid, HikariCP 等。
    • 支持任意实现 JDBC 规范的数据库,目前支持 MySQL,Oracle,SQLServer,PostgreSQL 以及任何遵循 SQL92 标准的数据库。

    使用Sharding-Jdbc前需要人工对数据库进行分库分表,在应用程序中加入 Sharding-Jdbc的Jar包,应用程序通过Sharding-Jdbc操作分库分表后的数据库和数据表,由于Sharding-Jdbc是对 Jdbc驱动的增强,使用Sharding-Jdbc就像使用Jdbc驱动一样,在应用程序中是无需指定具体要操作的分库和分表 的。

    支持以下的特效:

    • 分库分表
    • 读写分离
    • 柔性事务
    • 分布式主键
    • 分布式治理能力

    2、架构对比

    功能 Cobar Mycat Heisenberg TDDL Sharding-JDBC
    是否开源 开源 开源 开源 部分开源 开源
    架构模型 Proxy架构 Proxy架构 Proxy架构 应用集成架构 应用集成架构
    数据库支持 MySQL 任意 任意 任意 任意
    外围依赖 Diamond
    使用复杂度 一般 一般 一般 复杂 一般
    技术文档支持 较少 付费 较少 一般
    开源组织 阿里 社区(Cobar衍生) 社区(Cobar衍生) 阿里 当当

    基于Proxy的架构的缺点:网络消耗会产生性能问题,并且多一个外围系统依赖就意味着需要多增加和承担一份风险

         基于以上比较学习Mycat和Sharding=JDBC

  • 相关阅读:
    Atitit  atiMail atiDns新特性 v2  q39
    Atitit.java jar hell解决方案Djava.ext.dirs in ide envi..
    砍价大法
    DWR学习
    什么是WEB 2.0
    XHTML 1.0 Tags 参考
    web.config文件遇到的错误
    JDBC教程之PreparedStatement
    符合W3C标准的target=_blank形式
    dwr 登录实现 (入门知识)
  • 原文地址:https://www.cnblogs.com/h-z-y/p/14261463.html
Copyright © 2011-2022 走看看