官网:http://shardingsphere.apache.org/index_zh.html

1.什么是ShardingSphere

  1. 一套开源的分布式数据库中间件解决方案
  2. 有三个产品:JDBC、Proxy和Sidecar。
  3. 定位为关系型数据库中间件,合理在分布式环境下使用关系型数据库操作

https://www.bilibili.com/video/BV1qz4y1Q7Mc?p=2

2.什么是分库分表

数据库瓶颈解决方案:

  1. 硬件改善
  2. 分库分表
    1. 垂直分库:一个库存商品表、商家表。变成一个库存商品表、一个库存商家表。专库专表。
    2. 水平分库:类似ID奇数存A库,ID偶数存B库。
    3. 垂直分表:商品表拆分,商品信息表,商品详情表。
    4. 水平分表:类似ID奇数存A表,ID偶数存B表。

3.分库分表的应用

  1. 在数据库设计时候考虑垂直分库和垂直分表
  2. 随着数据库数据量增加,不要马上考虑做水平切分,首先考虑缓存处理,读写分离,使用索引等等方式,如果这些方式不能根本解决问题了,再考虑做水平分库和水平分表。

4.分库分表的应用和问题

  1. 跨节点连接查询问题(分页、排序)。
  2. 多数据源管理问题。

    那么这些问题的解决方案就是ShardingSphere所提供的三个产品。