#1.分库分表的概念

#1.1.垂直分表

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

思考这样做的好处:

1.减少了IO流操作。因为有时候,我们就只需要学生的姓名,性别,年龄即可。其他的班级信息是不需要的。

2.就是当我们如果在做修改操作的时候,修改会有锁表的操作。那么分表的好处就是可以不影响另外一张表查询。

如果一个表中某些列常用,而另外一些列不常用,则可以采用垂直分割,另外垂直分割可以使得数据行变小,一个数据页就能存放更多的数据,在查询时就会减少I/O次数。

那既然有好处,那肯定就有弊端:

1.其缺点是需要管理冗余列,查询所有数据需要join操作

#1.2.垂直分库

比如一个学生选课系统,里面有学生表信息,选课信息。

那么我们为了减轻数据库的压力,可以做到专库专用,就是某些业务,我们可以放在单独的数据库里。

像这个学生选课系统,那么我们就可以把学生表放在一个库,选课表放在另外一个库。

#2.1.水平分库

概念,就是把所有表都复制一份出来,然后部署到不同的服务器上,这样就能减轻数据库的压力。

#2.2.水平分表

概念:就是在同一个数据库中,把表复制出多份结构相同的表。比如学生表,就分为学生表1,学生表2....

#3.总结

垂直分库分表:是对(库里的表)或者是(表里的字段)进行垂直切分。

水平分库分表:是对(整个库)或者是(整个表信息)进行水平复制。简单理解就是水平分库分表就是切分成多个同样的库和多个同样的表。

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

#4.1.应用

1.在数据库设计时候就要考虑垂直分库和垂直分表的场景。

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

#4.2.分库分表带来的问题

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

2.多数据源管理问题。

因为分库分表后,就存在不同的表存放在不同的库,一些业务上是需要展示多个表数据的。这个时候就出现了跨节点连接查询的问题了。

#2.Sharding-JDBC

#2.1.简介

1.是一个轻量级的java框架,是增强版的JDBC驱动。官网:https://shardingsphere.apache.org/index_zh.html

#2.2.目的

主要目的:简化对分库分表之后数据相关操作。

01.ShardingSphere笔记相关推荐

  1. ShardingSphere笔记(三):自定义分片算法 — 按月分表·真·自动建表

    ShardingSphere笔记(二):自定义分片算法 - 按月分表·真·自动建表 文章目录 ShardingSphere笔记(二):自定义分片算法 - 按月分表·真·自动建表 一. 前言 二. Sp ...

  2. Vue 学习 之 7.01 学习笔记

    Vue  学习 之  7.01 学习笔记 1.还是复习前面的那个"品牌案例管理",但是数据不是静态写死哦,而是动态的管理,向数据库发送相关请求实现,因此,小节和昨天所学就是掌握Vu ...

  3. JavaScript高级第01天笔记

    本资源由 itjc8.com 收集 JavaScript高级第01天笔记 1.面向过程与面向对象 1.1面向过程 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再 ...

  4. ShardingSphere笔记(一): 经验和踩坑总结

    ShardingSphere笔记(一): 使用经验总结 文章目录 ShardingSphere笔记(一): 使用经验总结 一.背景 框架选择 二.ShardingSphere-jdbc 只是一个帮助你 ...

  5. ICPC训练联盟2021寒假冬令营(4)_2021.01.21_笔记

    文章目录 试题链接 学习笔记-排序算法( O(n^2^)时间复杂度 ) 选择排序程序段(C++) 冒泡排序程序段(C++) 插入排序程序段 A - Necklace (UVA 11001) 中文释义 ...

  6. 01背包问题笔记(转载)

    // 01背包:二维朴素写法 #include<iostream>using namespace std;const int N = 1010; int n, m; int v[N], w ...

  7. ICPC训练联盟2021寒假冬令营(6)_2021.01.25_笔记

    文章目录 试题链接 学习笔记 - C++ STL 简介 STL容器实验 序列式容器 关联式容器 集合容器 A - The Blocks Problem (POJ 1208, UVA 101) 中文释义 ...

  8. ICPC训练联盟2021寒假冬令营(5)_2021.01.22_笔记

    文章目录 试题链接 学习笔记-高效排序算法( O(nlogn)时间复杂度 ) 算法介绍 归并排序 主要思路 算法图解 算法代码 快速排序 主要思路 算法代码 十大排序算法的动画演示链接 C++STL排 ...

  9. ICPC训练联盟2021寒假冬令营(7)_2021.01.26_笔记

    文章目录 试题链接 学习笔记 - C++STL.贪心算法 C++STL 迭代器 STL算法 关联式容器 贪心算法 介绍 使用贪心法能否得到最优解,是必须加以证明的. 体验贪心法内涵的实验范例 贪心法的 ...

最新文章

  1. IOS横竖屏控制与事件处理
  2. 华为路由器RIP协议通信的配置
  3. GoldenGate的ADD SCHEMATRANDATA命令研究
  4. 分享成功 用心经营就会结出果实(转)
  5. 关于C#中将数字转换为指定格式
  6. Android快速开发(2)
  7. 如何创建ChromeApp
  8. java url 格式化_String.format()的使用:Java字符串格式化
  9. mongodb基础操作
  10. 大型项目开发: 隔离 (《大规模C++程序设计》书摘)
  11. 红帽 linux 安装gns3,Linux下安装GNS3
  12. Java实习日记(7)
  13. 音符符号html代码,五线谱符号|五线谱符号图案大全_好特教程
  14. 你知识付费的钱打水漂,是课程的错吗?
  15. 计算机阵列除法器原理,并行除法器 ,并行除法器结构原理是什么?
  16. 优酷网(YOUKU.com)介绍
  17. apk闪退_安卓手机经常闪退怎么办?安卓手机闪退解决办法
  18. 在线文库源码php,在线文库网站 文档分享平台网站 在线文档 在线预览网站 源码...
  19. 珞石经销商—珞石协作机器人xMate3的标定方法
  20. Tetramax生成SPF文件的方法

热门文章

  1. 深入思考:算法工程师的落地能力具体指什么,如何提升自己的落地能力?
  2. 网易智企斩获“2021全球新经济卓越成就奖”两项大奖
  3. 5分钟学会Java9-Java11的七大新特性
  4. 热备份路由选择协议(HSRP)
  5. LINUX常见小问题汇总
  6. 《UML大战需求分析》阅读笔记01
  7. nagios利用pyfetion报警最新
  8. 宽带拨号时出现错误列表
  9. Extension Method (확장 메서드)
  10. PaddleHub人像分割模型:AI人像抠图及图像合成