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

mysql(3)

分库分表

分库:将数据库中的数据分散到不同数据库上,可以垂直分库和水平分库。

1.垂直分库:把单一的数据按照业务进行划分,不同的业务使用不同的数据库,进而将一个数据库的压力分散到多个数据库。

2.水平分库:将同一个表按照一定规则拆分到不同的数据库中,每个库可以位于的服务器上,实现了水平扩展,解决了单表存储和性能瓶颈的问题。

分表:对单表进行拆分,可以垂直拆分和水平拆分。

1.垂直拆分:对数据表的拆分,把一张字段比较多的拆分成多张表。

比如:将用户表中的一些信息单独抽出来形成一张表。

2.水平分表:对数据表的拆分,将一张行数太多的表拆分为多张表,解决单一表数据量过大的问题。

使用情况:

1.单表数据量达到千万以上,数据库读写速度降低

2.数据库中数据占用空间越来越大,备份时间越来越长

3.应用的并发量太大

带来的问题:

1.无法使用join:同一个表分布在不同数据库中,无法使用join,只能手动操作,查询到一个数据后,再由此数据查询其他数据。

2.事务问题:单个表在不同的数据库中,单个操作设计多个数据库,数据库自带的事务已经无法满足我们的要求

3.分布式id:在分库之后,数据分布在各个数据库中,数据库的自增主键已经无法满足生成的主键唯一。此时,需要引入分布式id。

Apache ShardingSphere 是一款分布式的数据库生态系统, 可以将任意数据库转换为分布式数据库,并通过数据分片、弹性伸缩、加密等能力对原有数据库进行增强。

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

相关文章:

  • 阿里巴巴常用的12个后端开发工具
  • php base64转图片保存本地
  • unity物体移动至指定位置
  • 详解C#-static void Main(string[] args)
  • 中大许少辉博士《乡村振兴战略下传统村落文化旅游设计》中国建筑工业出版社八一付梓。
  • Matplotlib数据可视化(五)
  • Python爬虫——requests_post请求
  • excel 下载方法封装
  • 按日,周,月,季,年统计;获取对应的时间段
  • 【eNSP】交换机(vlan和vlan间通信)
  • 2011年下半年 软件设计师 上午试卷2
  • Linux中安装MySQL8版本,安装MySQL步骤,MySQL8离线安装
  • MES生产管理系统如何与ERP系统集成
  • Kafka如何保证消息⼀定能被消费
  • [USACO1.5] 八皇后 Checker Challenge
  • 【Mysql】MVCC版本机制的多并发
  • Vue--》打造个性化医疗服务的医院预约系统(六)
  • Unity ARFoundation 配置工程 (Android)
  • 【广州虚拟现实开发】VR智能中控系统进一步提高VR教学管理水平
  • 关于WordPress 的时间倒计时
  • 极光笔记 | 如何为您的业务开发和训练一个AI-BOT
  • 如何给ELK日志加上索引
  • elementUI遇到的问题记录
  • 计算机竞赛 协同过滤电影推荐系统
  • 网络综合布线实训室建设方案
  • 【山河送书第七期】:《强化学习:原理与Python实战》揭秘大模型核心技术RLHF!
  • LeetCode 400. 第 N 位数字——JAVA
  • 解决生成式AI落地之困,亚马逊云科技提供完整解决方案
  • 【5款登录验证校验】基于jquery实现的5款登录验证码组件(附完整源码)
  • 数据结构的树存储结构