自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MySQL垂直分庫,水平分庫,垂直分表,水平分表

數(shù)據(jù)庫 MySQL
之前經(jīng)常被問道這些分庫分表的概念,只是大概知道,但是具體如何定義的,問什么這么定義還是不太理解,今天對(duì)著數(shù)據(jù)表中的數(shù)據(jù)沉思的時(shí)候,突然間醒悟,原來這些概念非常好理解,而且可以說水平和垂直這兩個(gè)詞用得恰到好處,非常形象地幫助我們理解它們。

 之前經(jīng)常被問道這些分庫分表的概念,只是大概知道,但是具體如何定義的,問什么這么定義還是不太理解,今天對(duì)著數(shù)據(jù)表中的數(shù)據(jù)沉思的時(shí)候,突然間醒悟,原來這些概念非常好理解,而且可以說水平和垂直這兩個(gè)詞用得恰到好處,非常形象地幫助我們理解它們。

[[352822]]

水平分表

顧名思義,水平分表就是把表中的數(shù)據(jù)進(jìn)行了水平切割,意味著按照行進(jìn)行切割,也就是說不同行的數(shù)據(jù)被切割后可能在不同的表中。

 

mysql垂直分庫,水平分庫,垂直分表,水平分表

 

如圖所示,根據(jù)水平切割之后,id為1和2的數(shù)據(jù)行會(huì)在一個(gè)表中,id為3,4的數(shù)據(jù)行會(huì)在一個(gè)表中,而id為5的數(shù)據(jù)會(huì)在一個(gè)表中,這就是水平分表。

垂直分表

也是一樣,它的意思是把數(shù)據(jù)表進(jìn)行了垂直分割,原來表中的列被分到了不同的表中。

 

mysql垂直分庫,水平分庫,垂直分表,水平分表

 

如圖所示,desc字段被切割后,會(huì)分配到另一張表中。 那么為什么要垂直分表,或者說什么情況下適合垂直分表? 答案就是垂直分表的目的就是將表中的含有大量數(shù)據(jù)的字段,比如text字段,blob字段從表中分離出去,這樣可以大大減輕原表的數(shù)據(jù)壓力,而且這些字段的訪問量沒有其它字段的訪問頻率高,所以這么處理是合適的。

水平分庫

如果你理解了上面的水平分表和垂直分表,那么數(shù)據(jù)庫的分割你也會(huì)很好理解。 顧名思義,水平分庫相當(dāng)于把數(shù)據(jù)庫水平切割,原來一個(gè)表中的數(shù)據(jù)可能會(huì)分配到不同的數(shù)據(jù)庫中,這就是水平分庫。

 

mysql垂直分庫,水平分庫,垂直分表,水平分表

 

如圖所示,table1,table2,table3,table4中的數(shù)據(jù)都會(huì)被水平切割一刀,這樣一個(gè)表中的數(shù)據(jù)可能就會(huì)被分配到不同的數(shù)據(jù)庫中。

垂直分庫

垂直分庫,就是將數(shù)據(jù)庫垂直分割,這回一個(gè)表中的數(shù)據(jù)不會(huì)被分配到不同數(shù)據(jù)庫,但是不同表可能會(huì)分配到不同的數(shù)據(jù)庫。

 

mysql垂直分庫,水平分庫,垂直分表,水平分表

 

如圖所示,經(jīng)過垂直分割table1,table2會(huì)分到一個(gè)數(shù)據(jù)庫db1,而table3,table4會(huì)分配到另一個(gè)數(shù)據(jù)庫db2。

什么時(shí)候垂直分庫呢?答案是根據(jù)業(yè)務(wù)邏輯進(jìn)行分割。比如我們可以把用戶表和用戶相關(guān)的表分配到用戶數(shù)據(jù)庫中,而把商品表和商品相關(guān)的數(shù)據(jù)分配到商品數(shù)據(jù)庫中。

總結(jié)

總之,無論是何種分割,我們的目的都是為了減少數(shù)據(jù)庫的壓力,然后盡可能減少查詢帶來的復(fù)雜性,只要掌握這兩個(gè)核心,其實(shí)概念都是次要的,原理才是重要的。

責(zé)任編輯:華軒 來源: 今日頭條
相關(guān)推薦

2020-07-30 17:59:34

分庫分表SQL數(shù)據(jù)庫

2019-03-06 14:42:01

數(shù)據(jù)庫分庫分表

2018-01-12 15:17:40

數(shù)據(jù)庫水平分庫數(shù)據(jù)遷移

2022-01-07 14:00:35

分庫分表業(yè)務(wù)量

2022-06-22 07:32:53

Sharding分庫數(shù)據(jù)源

2011-08-10 16:16:28

數(shù)據(jù)庫水平分割垂直分割

2009-01-18 17:52:15

數(shù)據(jù)倉庫SQL Server數(shù)據(jù)庫

2023-07-27 15:38:52

數(shù)據(jù)集

2024-04-01 10:03:06

架構(gòu)數(shù)據(jù)庫存儲(chǔ)

2025-01-08 12:52:26

2017-03-02 13:23:53

訂單系統(tǒng)水平分庫

2022-07-08 08:57:36

數(shù)據(jù)優(yōu)化垂直拆分數(shù)據(jù)庫

2022-01-28 08:59:59

分庫分表數(shù)據(jù)

2011-04-13 13:30:21

eigrp幀中繼

2018-05-14 16:14:56

數(shù)據(jù)庫MySQL分表與分區(qū)

2019-11-12 09:54:20

分庫分表數(shù)據(jù)

2024-07-01 12:13:44

2019-07-31 09:27:23

數(shù)據(jù)庫MySQLSQL

2021-08-31 20:21:11

VitessMySQL分庫

2018-09-21 15:50:58

數(shù)據(jù)庫MySQL分庫分表
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)