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

  • 相关阅读:
    Ansible快速实战指南----多机自动化执行命令、部署神器
    linux 挂载共享盘
    蓄水池抽样算法
    PCA MATLAB代码
    网口转串口
    通过Python收集MySQL MHA 部署及运行状态信息的功能实现
    Linux常用命令总结(二)
    python 学习笔记 (四)
    MySQL 学习笔记(四)
    学习ProxySQL参考到几个网址
  • 原文地址:https://www.cnblogs.com/h-z-y/p/14261463.html
Copyright © 2011-2022 走看看