栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

ShardingSphere-数据库分库分表简介

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ShardingSphere-数据库分库分表简介

一、简介
shardingsphere 是一套开源的分布式数据库中间件的产品。旗下有两个比较重要的产品sharding jdbc 和sharding proxy

1.sharding jdbc :从图中可以清楚看到,是嵌入到应用程序中,所有的分库分表逻辑都是有开发人员自己控制,功能相对灵活,但是对业务侵入性较大。可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架


2.sharding proxy:从图中中可以清晰看到,他是独立部署的,目前支持mysql和postgresql。对业务零侵入,就像是对接一个mysql服务一样,感觉不到他的存在,但是也正是如此,功能不够灵活单调。(类似mycat)

二、核心概念
1.逻辑表:定义逻辑库名和逻辑表
2.真实表:分片中真是的物理表
3.数据节点:数据源和数据表组成
4.绑定表:分片规则必须完全一致的主子表(主外键的表,很重要,必须分片规则一致)
5.广播表:每个分片中都有的表(冗余表例如字典表)
6.分片键:指定某个字段为分片建(一般为主键)
7.分片算法:通过算法将数据分发到不同的片,支持=,between和in分片,开发者自定义实现,灵活度高
8.分片策略:真正进行的分片操作是分片键+分片算法。

三、优缺点
分库分表虽然解决了单机容量的问题,但是也带来了很多问题,
例如jdbc业务侵入大,业务的sql不再是单纯的在机器上运行,对大量的跨纬度join,聚合,子查询。排序等功能很难支持。大大弱化了数据库的功能。所以一般能不分就不分,能使用分布式数据库就使用分布式数据库库,或者加上缓存,es等方式优先解决。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1014141.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号