欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

1、ShardingSphere基本概念

发布时间:2025/3/19 编程问答 35 豆豆
生活随笔 收集整理的这篇文章主要介绍了 1、ShardingSphere基本概念 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文章目录

  • 1 什么是ShardingSphere
  • 2 什么是分库分表
  • 3 分库分表的方式
    • 3.1 垂直切分
      • 3.1.1 垂直分表
      • 3.1.2 垂直分库
    • 3.2 水平切分
      • 3.2.1 水平分表
      • 3.2.2 水平分库
  • 4 分库分表应用和问题
    • 4.1 应用
    • 4.2 问题

1 什么是ShardingSphere

  • 一套开源的分布式数据库中间件解决方案
  • 有三个产品:Sharding-JDBC和Sharding-Proxy
  • 定位为关系型数据库中间件,合理在分布式环境下使用关系型数据库操作
  • 2 什么是分库分表

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

    3 分库分表的方式

    分库分表有两种方式:垂直切分和水平切分
    垂直切分 库和表是不同的 垂直改变结构
    水平切分 库和表是相同的 水平改变数量

    3.1 垂直切分

    3.1.1 垂直分表

  • 操作数据库中某张表,把这张表中一部分字段数据存到一张表里,再把这张表中的另外一部分字段数据存在另一张表中
  • 两个表中的行数(记录数)一样
  • 好处,查询相应数据的时候不影响另外一张表的数据,修改一张表的时候,另一张表的数据不受影响
  • 3.1.2 垂直分库

  • 把单一数据库按照业务划分,专库专表;
  • 3.2 水平切分

    3.2.1 水平分表

    3.2.2 水平分库

    路由策略

    4 分库分表应用和问题

    4.1 应用

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

    4.2 问题

    1、跨节点连接查询问题(分页、排序)

    需要查询多次,先查询课程表得到课程id,课程名称,课时数,再去查询订单表,得到订单号,订单金额,最后汇总得到结果

    2、 多数据源管理问题

    总结

    以上是生活随笔为你收集整理的1、ShardingSphere基本概念的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。