我的编程空间,编程开发者的网络收藏夹
学习永远不晚

数据库:分久必合,合久必分

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

数据库:分久必合,合久必分

本篇内容介绍了“数据库:分久必合,合久必分”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

开源、高性能、生态成熟的 MySQL 是国内应用最广泛的数据库,说 MySQL 见证了中国互联网的成长史,一点也不为过。

阿里基于 MySQL 构建了OceanBase;京东、腾讯时至今日也在大规模应用  MySQL。因此,它也理所应得成为了面试官必问、爱问的核心知识点。

数据库:分久必合,合久必分

很多朋友除了对索引、存储原理有疑惑外,当数据量达到一定规模时,MySQL 还会涉及到一个几乎必知必会的核心点——分库分表。

画外音:MySQL 是2019年 DB-Engines 评选的最受欢迎数据库,这些年一直在前三甲徘徊。

问题1:分库分表解决什么问题?

性能瓶颈MySQL是B+树索引,当数据量过大时,索引所消耗的磁盘 IO 越来越多,查询性能下降。高并发情况下,单表数据量过大导致 SQL  性能差,数据库服务器负载太高再次导致性能下降,简直雪上加霜。

  • 高可用:微服务架构下,服务化无状态型会导致压力点在数据库上,单机数据库和主从结构已经不能满足需求,同时数据灾备等维护成本也越来越高。

  • 安全性:所有不同类型的数据全部存在一个数据库中,当数据库宕机或发生物理性损坏时,容易造成不可估量的损失。

画外音:鸡蛋放到不同篮子里。

问题2:分库分表的逻辑是什么?

分库分表的核心是数据拆分,分库不一定分表,分表不一定分库。

例如,MySQL  单表数据的极限在5000万左右,当数据量超过5000万时,我们就需要分表进行存放数据了。

简单来说,就是将一个表结构分为多个表,或者将一个表数据分片后放入多个表。这些表可以放在同一个数据库里,也可以放到不同的数据库中,甚至可以放到不同的数据库实例。

问题3:面试官问,分库分表方案有哪些?

数据拆分方式:

  • 水平拆分

  • 垂直拆分

常见方案:

  • 客户端分片

  • 代理分片

  • 支持事务的分布式数据库

“数据库:分久必合,合久必分”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

数据库:分久必合,合久必分

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Springboot整合Redis与数据持久化

目录Springboot整合Redis使用json方式存储序列化方式存储数据mysql与Redis一致性解决同步问题Redis持久化机制全量同步与增量同步RDB与AOFRDBAOFSpringboot整合Redis有两种存储数据的方式:
2022-07-28

数据库的统计汇总分组合并

对表数据进行检索时,经常需要对结果进行汇总或计算,例如,在学生成绩数据库中求某门课程的总成绩,统计个分数段的人数等。1.统计函数统计函数用于计算表中的数据,返回单个计算结果SUM和AVG函数:分别用于求表达式中所有值项的总和与平均值--求选修100012课程的
数据库的统计汇总分组合并
2021-02-15

Android数据持久化之File机制分析

本文实例讲述了Android数据持久化之File机制。分享给大家供大家参考,具体如下:在使用Java SE平台开发C/S结构的软件中,File 的IO输入输出流的使用率是非常高的,通过使用IO输入输出流可以对存储介质上的文件进行读写操作,下
2023-05-31

Python数据分析:数据科学家必备指南

Python数据分析已成为数据科学家的强大工具,本文提供一份全面指南,涵盖从数据处理和可视化到机器学习和深度学习。
Python数据分析:数据科学家必备指南
2024-02-17

SpringBoot整合mybatis/mybatis-plus实现数据持久化的操作

这篇文章主要介绍了SpringBoot整合mybatis/mybatis-plus实现数据持久化,本节内容我们介绍了数据持久化的相关操作,并且是基础传统的关系型数据库——mysql,需要的朋友可以参考下
2022-11-13

数据库系统工程师多少分合格

  软考数据库系统工程师包含两个考试科目,各科目及格分数线基本上稳定在45分。数据库系统工程师需要在一次考试中各科目都及格才算合格,单科及格的成绩不保留。  数据库系统工程师属于软考中级资格考试,数据库系统工程师考试包含基础知识与应用技术两个科目,各科目及格分数线基本上稳定在45分。软考数据库系统工程师考试需要在一次考
数据库系统工程师多少分合格
2024-04-18

层级数据分析中Level函数的必要性

在层级数据分析中,Level函数具有不可替代的作用,它主要用于返回递归层次结构中的当前深度级别,帮助分析者更好地理解和处理数据。以下是Level函数在层级数据分析中的必要性及相关信息:Level函数的必要性处理递归层次结构:Level函数
层级数据分析中Level函数的必要性
2024-09-03

聚合函数在分布式数据库中的表现

在分布式数据库中,聚合函数的表现取决于具体的分布式数据库系统和架构。一般来说,分布式数据库会将数据分布在多个节点上进行存储和处理,因此在使用聚合函数时需要考虑数据的分布情况以及各个节点之间的通信和协作。一种常见的做法是将聚合函数的计算分布
聚合函数在分布式数据库中的表现
2024-08-03

Python数据分析案例合集

案例一、利用税务数据分析美国人群收入情况
2023-01-31

SpringBoot2如何整合Sharding-Jdbc中间件实现数据分库分表

小编给大家分享一下SpringBoot2如何整合Sharding-Jdbc中间件实现数据分库分表,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、水平分割1、水平分库1)、概念:以字段为依据,按照一定策略,将一个库中的数据
2023-06-02

编程热搜

目录