• 什么是分库分表-03


    MySQL存储海量数据的最后一招:分库分表

    MySQL 的课程。解决海量数据的问题,必须要用到分布式的存储集群,因为 MySQL 本质上是一个单机数据库,所以很多场景下不是太适合存 TB 级别以上的数据。但是,绝大部分的电商大厂,它的在线交易这部分的业务,比如说,订单、支付相关的系统,还是舍弃不了 MySQL,原因是,只有 MySQL 这类关系型数据库,才能提供金融级的事务保证。我们之前也讲过分布式事务,那些新的分布式数据库提供的所谓的分布式事务,多少都有点儿残血,目前还达不到这些交易类系统对数据一致性的要求。那既然 MySQL 支持不了这么大的数据量,这么高的并发,还必须要用它,怎么解决这个问题呢?还是按照我上节课跟你说的思想,分片,也就是拆分数据。1TB 的数据,一个库撑不住,我把它拆成 100 个库,每个库就只有 10GB 的数据了,这不就可以了么?这种拆分就是所谓的 MySQL 分库分表。不过,思路是这样没错,分库分表实践起来是非常不容易的,有很多问题需要去思考和解决。如何规划分库分表?还是拿咱们的“老熟人”订单表来举例子。首先需要思考的问题是,分库还是分表?分库呢,就是把数据拆分到不同的 MySQL 库中去,分表就是把数据拆分到同一个库的多张表里面。在考虑到底是分库还是分表之前,我们需要先明确一个原则,那就是能不拆就不拆,能少拆不多拆。原因也很简单,你把数据拆分得越散,开发和维护起来就越麻烦,系统出问题的概率就越大。基于这个原则我们想一下,什么情况下适合分表,什么情况下不得不分库?那我们

  • 相关阅读:
    单例模式的介绍
    Vue-插槽的使用
    损失函数——机器学习
    [自用]手推DDPM公式
    进军东南亚市场,腾讯云数据库 TDSQL 助力印尼 BNC 银行数字化转型
    Python线程详解
    MySQL数据库事务隔离级别,特性和传播行为
    Clickhouse—DDL 操作
    【JS红宝书学习笔记】第6章 集合引用类型
    三层交换机
  • 原文地址:https://blog.csdn.net/tumu6889/article/details/126341861