ShardingSphere学习之简介

我爱海鲸 2022-12-30 09:14:38 ShardingSphere、分库分表

简介ShardingSphere、分库、分表

1、官方文档:https://shardingsphere.apache.org/document/current/cn/overview/

2、什么是 ShardingSphere

1)一套开源的分布式数据库中间件解决方案
2)Sharding-JDBC 和 Sharding-Proxy
3)定位为关系型数据库中间件,合理在分布式环境下使用关系型数据库操作

3、什么是分库分表 

1、数据库数据量不可控的,随着时间和业务发展,造成表里面数据越来越多,如果再去对数
据库表 curd 操作时候,造成性能问题。
2、方案 1:从硬件上
3、方案 2:分库分表
* 为了解决由于数据量过大而造成数据库性能降低问题。

4、分库分表的方式

1)分库分表有两种方式:垂直切分和水平切分
2)垂直切分:垂直分表和垂直分库
3)水平切分:水平分表和水平分库 

4)垂直分表

(1)操作数据库中某张表,把这张表中一部分字段数据存到一张新表里面,再把这张表另一
部分字段数据存到另外一张表里面

5)垂直分库
(1)把单一数据库按照业务进行划分,专库专表 

6)水平分库

7)水平分表

5、分库分表应用和问题

1)应用
(1)在数据库设计时候考虑垂直分库和垂直分表
(2)随着数据库数据量增加,不要马上考虑做水平切分,首先考虑缓存处理,读写分离,使
用索引等等方式,如果这些方式不能根本解决问题了,再考虑做水平分库和水平分表
2)分库分表问题
(1)跨节点连接查询问题(分页、排序)
(2)多数据源管理问题

6、Sharding-JDBC 简介

1)是轻量级的 java 框架,是增强版的 JDBC 驱动
2)Sharding-JDBC
(1)主要目的是:简化对分库分表之后数据相关操作

你好:我的2025