美文网首页
数据库水平拆分和垂直拆分

数据库水平拆分和垂直拆分

作者: Vchar_Fred | 来源:发表于2021-01-10 11:43 被阅读0次

业务场景

我们都知道一个数据库的连接数是有上限的,当我们的业务系统变得繁杂时,如果都存储在一个数据库中,那么势必会因为数据库达到瓶颈;此时我们就需要对数据库中表进行拆分,将其分散到多个数据库中去。
数据库拆分原则:就是指根据系统业务实际情况,将原本放在一个数据库中的数据分散放到多个数据库中去,减少单库的负载。

举个例子:比如说现在我们有机票和火车票的业务,起初由于业务量小因此都放在一个数据库里面得,随着业务量的上涨(假如并发到达3000,MySQL数据库最大支持2000),此时数据库已经不堪重负;即使你加入缓存组件这些依然解决不了问题(因为你的缓存数据始终来源于数据库)。
那么就可以按照业务情况进行数据拆分,将机票业务的信息和火车票业务的信息分别放到一个数据库中去,这样就将原来一个库的压力分散到2个库上去了。

垂直拆分

垂直切分:简单的说就是将数据库中的各个表,依据业务情况将一些表放在一个数据库中,一些表放在另外一个数据库中,
比如商城这些的数据库端按照业务垂直拆分:按照业务订单数据库、用户数据库、商品数据库等进行拆分。

水平拆分

水平拆分:简单来说就是将一张表的数据分别存储到多个数据库中,所以一个库中只保存一部分数据;

数据库拆分原则

  • 优先考虑使用缓存来降低对数据库的读操作。
  • 再考虑读写分离,降低数据库写操作。
  • 最后开始数据拆分,切分模式: 首先垂直(纵向)拆分、再次水平拆分。
  • 首先考虑按照业务垂直拆分。
  • 再考虑水平拆分:先分库(设置数据路由规则,把数据分配到不同的库中);可以通过mycat来处理
  • 最后再考虑分表,单表拆分到数据1000万以内。

文章来自:https://blog.vchar.top/dcs/1610333419.html

相关文章

  • 数据库拆分

    数据库拆分有垂直拆分和水平拆分两种 垂直拆分:把数据库中不同业务的数据拆分到不同的数据库中。 水平拆分:把同一个表...

  • 数据库水平垂直拆分

    数据库水平垂直拆分 当数据库量非常大的时候,DB 已经成为系统瓶颈时就可以考虑进行水平垂直拆分了。 水平拆分 一般...

  • 第36期:MySQL 原生水平拆表

    引言 上一章节我们探讨过数据垂直拆分,今天我们来继续讨论数据拆分:水平拆分! 水平拆分和垂直拆分有些不一样,垂直拆...

  • 数据库水平拆分和垂直拆分

    业务场景 我们都知道一个数据库的连接数是有上限的,当我们的业务系统变得繁杂时,如果都存储在一个数据库中,那么势必会...

  • 水平拆分 垂直拆分

    1.水平拆分根据数据库表行进行拆分 一般来说一张表数据量达到200W,操作速度就会变慢,我们现在分成四个表插入时...

  • 数据库的垂直拆分和水平拆分

    概念介绍 垂直拆分 垂直拆分就是要把表按模块划分到不同数据库表中(当然原则还是不破坏第三范式),这种拆分在大型网站...

  • 数据库的水平拆分和垂直拆分

    http://www.cnblogs.com/shijingxiang/articles/4601674.html...

  • item使用

    command + D 垂直拆分面板command + shift + D 水平拆分面板command + w 关...

  • 第35期:MySQL 数据垂直拆分

    引言 一般来说讲,提到数据拆分,可以归结为两个层面:一是垂直拆分,二是水平拆分。这里我们来讨论下垂直拆分。 垂直拆...

  • 数据库分库分表简介

    一、分库分表是什么? 是一种数据分片技术,主要分为垂直拆分和水平拆分。垂直拆分的意思是,把部分字段及其值挪到其它表...

网友评论

      本文标题:数据库水平拆分和垂直拆分

      本文链接:https://www.haomeiwen.com/subject/pvykaktx.html