分库分表Sharding-JDBC介绍(1)

ShardingSphere 下的Sharding-JDBC

地址:https://shardingsphere.apache.org/

Apache ShardingSphere 是⼀套开源的分布式数据库中间件解决⽅案组成的⽣态圈

它由 Sharding-JDBC、Sharding-Proxy 和 ShardingSidecar 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转发到具体的真实服务器

缺点是效率偏低,中间包装了⼀层。代码⽆侵⼊性

分库分表和Sharding-Jdbc常⻅概念术语讲解

数据节点Node

数据分⽚的最⼩单元,由数据源名称和数据表组成

⽐如:ds_0.product_order_0

真实表

在分⽚的数据库中真实存在的物理表⽐如订单表 product_order_0、product_order_1、

product_order_2逻辑表⽔平拆分的数据库(表)的相同逻辑和数据结构表的总称

⽐如订单表 product_order_0、product_order_1、product_order_2,逻辑表就是product_order

绑定表

指分⽚规则⼀致的主表和⼦表

⽐如product_order表和product_order_item表,均按照order_id分⽚,则此两张表互为绑定表关系绑定表之间的多表关联查询不会出现笛卡尔积关联,关联查询效率将⼤⼤提升

⼴播表

指所有的分⽚数据源中都存在的表,表结构和表中的数据在每个数据库中均完全⼀致适⽤于数据量不⼤且需要与海量数据的表进⾏关联查询的场景

例如:字典表、配置表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值