當(dāng)由于大量用戶或正在執(zhí)行的操作而導(dǎo)致軟件數(shù)據(jù)庫(kù)上托管的數(shù)據(jù)量非常大時(shí),數(shù)據(jù)庫(kù)分片是一種常見的做法,可以簡(jiǎn)化數(shù)據(jù)庫(kù)以減少加載時(shí)間。那么數(shù)據(jù)庫(kù)分片有什么優(yōu)缺點(diǎn)?
一、數(shù)據(jù)庫(kù)分片的優(yōu)點(diǎn):
對(duì)數(shù)據(jù)庫(kù)進(jìn)行分片的主要吸引力在于它可以幫助促進(jìn)水平擴(kuò)展,也稱為向外擴(kuò)展。其優(yōu)點(diǎn):
1、較小的數(shù)據(jù)庫(kù)更易于管理。
生產(chǎn)數(shù)據(jù)庫(kù)必須得到全面管理,以執(zhí)行定期備份、數(shù)據(jù)庫(kù)優(yōu)化和其他常見任務(wù)。對(duì)于單個(gè)大型數(shù)據(jù)庫(kù),如果僅就完成所需的時(shí)間窗口而言,這些常規(guī)任務(wù)可能很難完成。通過使用分片方法,每個(gè)單獨(dú)的“分片”都可以獨(dú)立維護(hù),提供更易于管理的場(chǎng)景,并行執(zhí)行此類維護(hù)任務(wù)。
2、較小的數(shù)據(jù)庫(kù)更快。
分片的可擴(kuò)展性是顯而易見的,并通過在網(wǎng)絡(luò)中的多個(gè)分片和服務(wù)器之間分配處理來實(shí)現(xiàn)。不太明顯的是,每個(gè)單獨(dú)的分片數(shù)據(jù)庫(kù)由于其較小的尺寸而將勝過單個(gè)大型數(shù)據(jù)庫(kù)。通過將每個(gè)分片數(shù)據(jù)庫(kù)托管在自己的服務(wù)器上,內(nèi)存和磁盤數(shù)據(jù)的比例得到適當(dāng)平衡,從而減少磁盤 I/O 并最大限度地利用系統(tǒng)資源。這會(huì)導(dǎo)致更少的爭(zhēng)用、更高的連接性能、更快的索引搜索和更少的數(shù)據(jù)庫(kù)鎖定。因此,分片系統(tǒng)不僅可以擴(kuò)展到新的容量水平,單個(gè)事務(wù)的性能也會(huì)受益。
3、數(shù)據(jù)庫(kù)分片可以降低成本。
大多數(shù)數(shù)據(jù)庫(kù)分片實(shí)施利用低成本的開源數(shù)據(jù)庫(kù)和商品數(shù)據(jù)庫(kù)。該技術(shù)還可以充分利用許多商業(yè)數(shù)據(jù)庫(kù)的價(jià)格合理的“工作組”版本。
二、數(shù)據(jù)庫(kù)分片的缺點(diǎn):
1、增加系統(tǒng)的復(fù)雜性:正確實(shí)施分片數(shù)據(jù)庫(kù)架構(gòu)是一項(xiàng)復(fù)雜的任務(wù)。如果操作不當(dāng),分片過程會(huì)導(dǎo)致數(shù)據(jù)丟失或表?yè)p壞的風(fēng)險(xiǎn)很大。分片也會(huì)對(duì)您團(tuán)隊(duì)的工作流程產(chǎn)生重大影響。
2、重新平衡數(shù)據(jù):在分片數(shù)據(jù)庫(kù)架構(gòu)中,有時(shí)一個(gè)分片會(huì)超過其他分片并變得不平衡,這也稱為數(shù)據(jù)庫(kù)熱點(diǎn)。在這種情況下,分片數(shù)據(jù)庫(kù)的任何好處都被抵消了。數(shù)據(jù)庫(kù)可能需要重新分片以實(shí)現(xiàn)更均勻的數(shù)據(jù)分布。
3、連接來自多個(gè)分片的數(shù)據(jù):為了實(shí)現(xiàn)一些復(fù)雜的功能,我們可能需要從分布在多個(gè)分片中的不同來源提取大量數(shù)據(jù)。我們無法發(fā)出查詢并從多個(gè)分片中獲取數(shù)據(jù)。我們需要向不同的分片發(fā)出多個(gè)查詢,獲取所有響應(yīng)并將它們合并。
4、沒有本機(jī)支持:并非每個(gè)數(shù)據(jù)庫(kù)引擎都本機(jī)支持分片。因此,分片通常需要“自己動(dòng)手”。這意味著分片文檔或故障排除技巧通常很難找到。
以上是數(shù)據(jù)庫(kù)分片優(yōu)缺點(diǎn)的分享,希望能幫助到大家參考!
審核編輯黃宇
-
數(shù)據(jù)庫(kù)
+關(guān)注
關(guān)注
7文章
3807瀏覽量
64429
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論