數(shù)據(jù)庫(kù)分庫(kù)分表,何時(shí)分?怎樣分?

隨著互聯(lián)網(wǎng)技術(shù)的成熟,我們的個(gè)人信息都存儲(chǔ)在數(shù)據(jù)庫(kù)之中,那么對(duì)于程序員的我們,對(duì)于數(shù)據(jù)庫(kù)的優(yōu)化又是怎樣做到的呢?

image

一、數(shù)據(jù)切分

根據(jù)切分類型,可以分為兩種方式:垂直(縱向)切分和水平(橫向)切分

接下來給大家慢慢介紹:

1、垂直(縱向)切分

image

常見有垂直分庫(kù)和垂直分表兩種。

垂直分庫(kù)就是根據(jù)業(yè)務(wù)耦合性,將關(guān)聯(lián)度低的不同表存儲(chǔ)在不同的數(shù)據(jù)庫(kù)。

垂直分表是基于數(shù)據(jù)庫(kù)中的“列”進(jìn)行,某個(gè)表字段較多,可以新建一張擴(kuò)展表,將不經(jīng)常用或字段長(zhǎng)度較大的字段拆分出去到擴(kuò)展表去。

垂直切分的優(yōu)點(diǎn):

image

①解決業(yè)務(wù)系統(tǒng)層面的耦合,業(yè)務(wù)清晰

②與微服務(wù)的治理類似,也能對(duì)不同業(yè)務(wù)的數(shù)據(jù)進(jìn)行分級(jí)管理、維護(hù)、監(jiān)控、擴(kuò)展等。

③高并發(fā)場(chǎng)景下,垂直切分一定程度的提升IO、數(shù)據(jù)庫(kù)連接數(shù)、單機(jī)硬件資源的瓶頸。

當(dāng)然了,任何事物的出現(xiàn)都有兩面性,不足之處就是:

①部分表無法json,只能通過接口聚合方式解決,提升了開發(fā)的復(fù)雜度。

②分布式事務(wù)處理復(fù)雜

③依然存在單表數(shù)據(jù)量過大的問題

2、水平(橫向)切分

image

根據(jù)表內(nèi)數(shù)據(jù)內(nèi)在的邏輯關(guān)系,將同一個(gè)表按不同的條件分散到多個(gè)數(shù)據(jù)庫(kù)或多個(gè)表中,每個(gè)表中只包含一部分?jǐn)?shù)據(jù),從而使得單個(gè)表的數(shù)據(jù)量變小,達(dá)到分布的效果。

水平切分的優(yōu)點(diǎn):

①不存在單庫(kù)數(shù)據(jù)量過大、高并發(fā)的性能瓶頸,提升系統(tǒng)穩(wěn)定性和負(fù)載能力

②應(yīng)用端改造較小,不需要拆分業(yè)務(wù)模塊

缺點(diǎn):

①跨分片的事務(wù)一致性難以保證

②跨庫(kù)的join關(guān)聯(lián)查詢性能較差

③數(shù)據(jù)多次擴(kuò)展難度和維護(hù)量極大

綜上,是我個(gè)人對(duì)于數(shù)據(jù)庫(kù)性能的一些見解,歡迎大家在評(píng)論區(qū)留下自己的見解。


https://baijiahao.baidu.com/s?id=1621905347876886037&wfr=spider&for=pc

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Sharding的基本思想其實(shí)就是采用分治的思想,要把一個(gè)數(shù)據(jù)庫(kù)切分成多個(gè)部分放到不同的數(shù)據(jù)庫(kù)(server)上,...
    jiangmo閱讀 9,657評(píng)論 0 7
  • 數(shù)據(jù)庫(kù)作為應(yīng)用系統(tǒng)當(dāng)中最重要的一塊,也是性能測(cè)試非常關(guān)注的一塊,根據(jù)我自己的項(xiàng)目經(jīng)驗(yàn),和以往對(duì)應(yīng)用系統(tǒng)的性能...
    smooth00閱讀 3,075評(píng)論 0 2
  • 數(shù)據(jù)庫(kù)的基本是概念名詞解釋: 數(shù)據(jù)庫(kù)名詞解釋 元組:可以理解為表的每一行就是一個(gè)元組 候選碼:若關(guān)系中的某一屬性組...
    杰倫哎呦哎呦閱讀 1,236評(píng)論 0 6
  • 讀寫分離分散了數(shù)據(jù)庫(kù)讀寫操作的壓力,但沒有分散存儲(chǔ)壓力,當(dāng)數(shù)據(jù)量達(dá)到千萬甚至上億條的時(shí)候,單臺(tái)數(shù)據(jù)庫(kù)服務(wù)器的存儲(chǔ)能...
    hedgehog1112閱讀 1,922評(píng)論 0 10
  • 兩山一處景, 一雨霧山間, 一景兩處山。 幾何風(fēng)吹盡, 看看那邊山?
    有你相隨_7bee閱讀 177評(píng)論 0 0

友情鏈接更多精彩內(nèi)容