文章目录

  • 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

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

2 什么是分库分表

  1. 数据库数量不可控,随着时间和业务发展,造成表里面的数据越来越多,如果再去对数据库CURD操作的时候,造成性能问题,
  2. 方案1:从硬件上
  3. 方案2:分库分表

为了解决数据量过大而造成的数据库性能降低问题;

3 分库分表的方式

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

3.1 垂直切分

3.1.1 垂直分表

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

3.1.2 垂直分库

  1. 把单一数据库按照业务划分,专库专表;

3.2 水平切分

3.2.1 水平分表

3.2.2 水平分库

路由策略

4 分库分表应用和问题

4.1 应用

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

4.2 问题

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

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

2、 多数据源管理问题

1、ShardingSphere基本概念相关推荐

  1. mysql sharding 知乎_分库分表系列(1)-shardingsphere核心概念

    欢迎关注公众号: 戏说码农职场 咱们不闲扯, 就直接入正题, 这次总结说下sharding-jdbc 分库分表的工具.整体架构 Apache ShardingSphere 是一套开源的分布式数据库中间 ...

  2. ShardingSphere基本介绍及核心概念

    文章目录 关于分库分表 背景描述 遇到的问题 如何解决 垂直拆分 水平拆分(数据分片) ShardingSphere介绍 Sharding-JDBC Sharding-JDBC主要功能: Shardi ...

  3. ShardingSphere 系列

    ShardingSphere 系列 本篇为目录,点击蓝色字体可查看详情. 1.ShardingSphere基本概念 2.ShardingSphere 之 Sharding-JDBC实现水平分表 3.S ...

  4. 默默学Sharding-Sphere(二)

    从上篇了解Sharding-Sphere的一个背景.定位以及规划后,我再去看了下官方文档,发现sharding-sphere活跃还是有原因的,文档一个字:详细.这里我大致拆分成两份:说明文档.使用文档 ...

  5. ShardingSphere实践(1)——ShardingSphere介绍

    目录 一.分库分表 1. 为什么需要分库分表 (1)突破性能瓶颈 (2)提高可用性 2. 什么时候考虑分库分表 3. 如何分库分表 (1)水平拆分与垂直拆分 (2)水平分库分表策略 (3)分成多少库多 ...

  6. ShardingJdbcⅠ

    序言 前有Atomikos 今有有ShardingsphereJdbc. 简单整理相关信息,关于分库分表的,如下的分库分表,统一改成分片. 参考资料: 什么是 ShardingSphere :: Sh ...

  7. 01.ShardingSphere笔记

    #1.分库分表的概念 #1.1.垂直分表 概念:就是把一个表里的字段,分成多个表进行存储,比如一个学生表,有姓名,性别,年龄,年级,班级等信息.那么进行垂直分表的概念就是把学生表中的姓名,性别,年龄分 ...

  8. 首提 Database Plus 新理念,SphereEx 获数百万美元天使融资,接棒 ShardingSphere 打造新型分布式生态

    5月14日,数据前沿技术领域初创公司 SphereEx 获得来自红杉中国种子基金.初心资本的数百万美元天使轮融资. SphereEx是一家致力于构建新型分布式数据基础设施的公司,秉承开源.共享.生态. ...

  9. 高性能分布式事物中间件Sharding-Sphere介绍

    原作者:Sharding-Sphere 转载来源:http://shardingsphere.io/index.html  , https://github.com/sharding-sphere/s ...

最新文章

  1. Php如何发出请求,PHP中如何发送HTTP请求?
  2. arcgis下的python编程-面向ArcGIS的Python脚本编程
  3. 【NLP】NLP重铸篇之Fasttext
  4. php ajax 重复提交,php+ajax远程加载避免重复提交
  5. java多文件post请求_如何使用Java发出多部分/表单数据POST请求?
  6. LeetCode 692. 前K个高频单词(优先队列)
  7. Linux超简单文本编辑器:nano
  8. 为什么现在的手机不像以前一样可以换电池?
  9. 华为发布全球首款 5G 汽车通讯硬件;今日头条系产品大裁员;三星手机推迟上市 | 极客头条...
  10. Chapter 3 - 作用域
  11. 读取doc文件c语言程序,c语言程序中关于文件的操作.doc
  12. 在线解析短视频去水印工具
  13. 百度地图根据缩放级别显示不同的marker点和窗口内容
  14. 内燃机 vs 外燃机
  15. canvas教程大纲
  16. 计算机网络几种常见协议
  17. jenkins + svn + maven +svn 实现当SVN提交代码后自动触发打包部署
  18. 正大国际:做外盘期货主帐户有什么风险?
  19. QQmail2007
  20. 【面试题】1384- 分享 44 道 JS 难题,做对一半就是高手

热门文章

  1. matlab画倾斜的椭球,在MATLAB中绘制椭圆和椭球
  2. 如何检测图像中的条纹_图像增强模块在检测中的应用实例
  3. python3.6.4_在ubuntu中将python3.4升级到python3.6中断pip
  4. python中协程与函数的区别_深入浅析python 协程与go协程的区别
  5. 滚动条的值如何赋值_如何给Word文本框添加滚动条?史上最详细步骤
  6. java aio为什么不稳定_为什么我不提倡在Java中使用static
  7. java jtable 监听事件_【Java】在JTable中设置鼠标监听器,点击操作对应数据
  8. cad lisp 两侧偏移并删除_弱电CAD不算CAD?学学操作,将手速发挥极致,让他人刮目相看...
  9. 有道翻译 excel webservice 失效_VBA实践+excel英文逐句自动有道翻译为中文
  10. 共享X轴,分成上下两图