当前位置: 首页 > news >正文

分库分表原则

分库分表原则

在这里插入图片描述

单表数据到达千万级别或者20存储空间

优化已经解决不了问题一

IO瓶颈导致性能问题

拆分策略

在这里插入图片描述

垂直分库

以表为依据,根据业务将不同的表拆分到不同库中,有点像微服务

在这里插入图片描述

垂直分表

以字段为依据,根据字段属性将不同字段拆分到不同表中

拆分规则:把不常用的字段单独放一张表,把大字段text,blob等拆分出来放在附表中
在这里插入图片描述

水平分库

将一个库的数据拆分到多个库中
在这里插入图片描述

分的库合起来的数据才是所有的数据

可以根据id节点取模或者范围路由查找数据

水平分表

将一个表的数据拆分到多个表中,可以在同一个库中,表名要不一样

优化单一表数据量过大产生的性能问题

在这里插入图片描述

分库分表产生的问题

1.分布式事务一致性的问题

一个事务操作数据库提交事务失败了,其它的操作还是成功

2.跨节点关联查询

分完表查询的只是一个表但是数据不完全

3.跨界点分页、排序

还是分表后单表数据不完全的问题

4.主键避重

主键自增,操作多个表存在主键重复问题

在这里插入图片描述

分库分表中间件

使用中间件可以解决这些问题

sharding-sphere

mycat

总结

在这里插入图片描述

http://www.lryc.cn/news/292567.html

相关文章:

  • VUE PC端可拖动悬浮按钮
  • opencv0014 索贝尔(sobel)算子
  • Redis简介和数据类型
  • Day06-Linux下目录命令讲解及重要文件讲解
  • 睿尔曼超轻量仿人机械臂—外置按钮盒使用说明
  • PYTHON蓝桥杯——每日一练(简单题)
  • 【数据结构 01】栈
  • ⑩电子产品拆解分析-家用无线遥控开关433Mhz
  • java之手动创建spring-boot-3项目
  • Linux--redhat9创建软件仓库
  • [力扣 Hot100]Day20 旋转图像
  • golang网络编程day5
  • Swagger学习使用
  • SpringBoot使用poi将word转换为PDF并且展示
  • Java多线程--线程间的通信
  • vue + element 页面滚动计算百分比 + 节流函数
  • 【笔记】React Native实战练习(仿网易云游戏网页移动端)
  • Android SystemUI 介绍
  • 2024美赛数学建模A题思路分析 - 资源可用性和性别比例
  • 2024年数学建模美赛C题(预测 Wordle)——思路、程序总结分享
  • TryHackMe-File Inclusion练习
  • Leetcode 《面试经典150题》169. 多数元素
  • 百度输入法往选字框里强塞广告
  • 分享一个Qt使用的模块间通信类
  • 工作七年,对消息推送使用的一些经验和总结
  • 计网——应用层
  • 算法面试八股文『 基础知识篇 』
  • docker-学习-4
  • el-upload子组件上传多张图片(上传为files或base64url)
  • 2024美赛数学建模C题思路源码——网球选手的动量