水平拆分和垂直拆分理解(未完)

2022-03-25 15:27:55 字數 666 閱讀 2538

一般情況下說的水平切分、垂直切分,都是指的資料庫層面。

隨著業務量的增加,資料量肯定快速增長,拿mysql來說,單錶資料量在百萬級記憶體讀取效率還是可以的,可以一旦達到千萬級,效能會有較大的降低。如果是複雜的查詢操作,那麼組合索引對於記憶體來說也是一筆很大的開銷。這個時候就需要從資料庫層面來進行優化了。

普遍採用的方式就是資料庫 垂直拆分 + 水平拆分的方式來進行改造。

資料庫的垂直拆分: 對業務表進行分類,不同的業務表劃分到不同的資料庫裡。這種形式的拆分往往是便隨著服務化改造,按功能模組將原來強耦合的系統拆分為多個弱耦合的服務,此時往往就會進行資料庫的垂直拆分。

資料表的垂直拆分: 是針對於資料表列的拆分,把一張列比較多的表拆分為多張表。比如可以將

垂直拆分的優點:

垂直拆分的缺點:

水平拆分:分庫分表,把乙個表的資料按照某種規則化分到不同表或資料庫裡。(水平拆分 是按照行資料拆分)。 拆分規則:取模、年份等。

水平拆分的優點:

水平拆分缺點:

總而言之:

資料表垂直拆分: 單錶複雜度。

資料庫垂直拆分: 功能拆分。

水平拆分:分表:解決單錶大資料量問題。 分庫:為了解決單庫效能問題。

垂直拆分和水平拆分

前言 做資料庫分表的時候,總是能看到水平切分 垂直切分,但是並不能理解何為水平 何為垂直。僅此做個記錄。一般情況下說的水平切分 垂直切分,都是指的資料庫層面的。隨著業務量的增加,資料量肯定快速增長,拿mysql來說,單錶資料量在百萬級內讀取效率還是可以的,可是一旦達到千萬級,效能會有較大的降低。如果...

水平拆分和垂直拆分

網際網路時代談論最多的話題就是拆分。拆分一般分為水平拆分和垂直拆分,這並不單指對資料庫或者快取的拆分,主要是表達一種分而治之的思想。水平拆分是指由於單一節點無法滿足需求,需要擴充套件為多個節點,多個節點具有一直的功能,組成乙個服務池,乙個節點服務一部分請求量,所有節點共同處理大規模高併發的請求量。垂...

Mysql 水平拆分和垂直拆分

1,水平分割 例 qq的登入表。假設qq的使用者有100億,如果只有一張表,每個使用者登入的時候資料庫都要從這100億中查詢,會很慢很慢。如果將這一張表分成100份,每張表有1億條,就小了很多,比如qq0,qq1,qq1.qq99表。使用者登入的時候,可以將使用者的id 100,那麼會得到0 99的...