溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

sharding切分是什么

發(fā)布時(shí)間:2021-08-03 17:09:09 來源:億速云 閱讀:133 作者:Leah 欄目:數(shù)據(jù)庫

今天就跟大家聊聊有關(guān)sharding切分是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

什么是切分

  數(shù)據(jù)庫切分是一個(gè)固有的關(guān)系流程,可以通過一些邏輯數(shù)據(jù)塊將一個(gè)表的行分為不同的小組。例如,如果您正在根據(jù)時(shí)間戳對一個(gè)名為foo的超大型表進(jìn)行分區(qū),2010年8月之前的所有數(shù)據(jù)都將進(jìn)入分區(qū)A,而之后的數(shù)據(jù)則全部進(jìn)入分區(qū)B。分區(qū)可以加快讀寫速度,因?yàn)樗鼈兊哪繕?biāo)是單獨(dú)分區(qū)中的較小型數(shù)據(jù)集。

  分區(qū)功能并不總是可用的(MySQL直到5.1版本后才支持),而且其需要的商業(yè)系統(tǒng)的成本也讓人望而卻步。更重要的是,大部分分區(qū)實(shí)現(xiàn)在同一個(gè)物理機(jī)上存儲數(shù)據(jù),所以受到硬件基礎(chǔ)的影響。除此之外,分區(qū)也不能鑒別硬件的可靠性或者說缺乏可靠性。因此,很多智慧的人們開始尋找進(jìn)行伸縮的新方法。

  切分實(shí)質(zhì)上是數(shù)據(jù)庫級別的分區(qū):它不是通過數(shù)據(jù)塊分割數(shù)據(jù)表的行,而是通過一些邏輯數(shù)據(jù)元素對數(shù)據(jù)庫本身進(jìn)行分割(通常跨不同的計(jì)算機(jī))。也就是說,切分不是將數(shù)據(jù)表分割成小塊,而是將整個(gè)數(shù)據(jù)庫分割成小塊。

  垂直拆分

  垂直切分的最大特點(diǎn)就是規(guī)則簡單,實(shí)施也更為方便,尤其適合各業(yè)務(wù)之間的耦合度非常低,相互影響很小,業(yè)務(wù)邏輯非常清晰的系統(tǒng)。在這種系統(tǒng)中,可以很容易做到將不同業(yè)務(wù)模塊所使用的表分拆到不同的數(shù)據(jù)庫中。根據(jù)不同的表來進(jìn)行拆分,對應(yīng)用程序的影響也更小,拆分規(guī)則也會比較簡單清晰。

  水平拆分

  水平切分于垂直切分相比,相對來說稍微復(fù)雜一些。因?yàn)橐獙⑼粋€(gè)表中的不同數(shù)據(jù)拆分到不同的數(shù)據(jù)庫中,對于應(yīng)用程序來說,拆分規(guī)則本身就較根據(jù)表名來拆分更為復(fù)雜,后期的數(shù)據(jù)維護(hù)也會更為復(fù)雜一些。

  兩種拆分組合

  讓我們從普遍的情況來考慮數(shù)據(jù)的切分:一方面,一個(gè)庫的所有表通常不可能由某一張表全部串聯(lián)起來,這句話暗含的意思是,水平切分幾乎都是針對一小搓一小搓(實(shí)際上就是垂直切分出來的塊)關(guān)系緊密的表進(jìn)行的,而不可能是針對所有表進(jìn)行的。另一方面,一些負(fù)載非常高的系統(tǒng),即使僅僅只是單個(gè)表都無法通過單臺數(shù)據(jù)庫主機(jī)來承擔(dān)其負(fù)載,這意味著單單是垂直切分也不能完全解決問明。因此多數(shù)系統(tǒng)會將垂直切分和水平切分聯(lián)合使用,先對系統(tǒng)做垂直切分,再針對每一小搓表的情況選擇性地做水平切分。從而將整個(gè)數(shù)據(jù)庫切分成一個(gè)分布式矩陣。

看完上述內(nèi)容,你們對sharding切分是什么有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI