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

2021-01-10  本文已影响0人  Vchar_Fred

业务场景

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

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

垂直拆分

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

水平拆分

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

数据库拆分原则

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

上一篇下一篇

猜你喜欢

热点阅读