程序员的资源宝库

网站首页 > gitee 正文

分库分表之Sharding-JDBC简介(1)

sanyeah 2024-04-01 11:33:05 gitee 7 ℃ 0 评论

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

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表