【架构设计】分库分表

    科技2022-07-12  128

    一般来讲,将库进行垂直拆分和水平拆分后,再将表进行合理的垂直拆分就够了.不建议对表进行水平拆分.

    带着问题往下看:

    为什么要分库分表(设计高并发系统的时候,数据库层面该如何设计)? 用过哪些分库分表中间件? 不同的分库分表中间件都有什么优点和缺点? 你们具体是如何对数据库如何进行垂直拆分或水平拆分的? 分库分表后,又该如何垮库查询、联表查询的?

    1. 前言

    1.1 为什么要分库分表

    案例分析

    假如我们现在是一个小创业公司(或者是一个 BAT 公司刚兴起的一个新部门),现在注册用户就 20 万,每天活跃用户就 1 万,每天单表数据量就 1000,然后高峰期每秒钟并发请求最多就 10 个。这种系统,随便找一个有几年工作经验的,然后带几个刚培训出来的,随便干干都可以。

    结果没想到我们运气居然这么好,碰上个 CEO 带着我们走上了康庄大道,业务发展迅猛,过了几个月,注册用户数达到了 2000 万!每天活跃用户数 100 万!每天单表数据量 10 万条!高峰期每秒最大请求达到 1000!同时公司还顺带着融资了两轮,进账了几个亿人民币啊!公司估值达到了惊人的几亿美金!这是小独角兽的节奏!

    现在大家感觉压力已经有点大了,为啥呢?因为每天多出 10 万条数据,一个月就多 300 万条数据,

    Processed: 0.010, SQL: 8