相信大部分人都不太了解數(shù)據(jù)庫中的讀寫分離、分庫和分表,今天小編為了讓大家更加了解讀寫分離、分庫和分表,給大家總結(jié)了以下內(nèi)容,跟隨小編一起來看看吧。
創(chuàng)新互聯(lián)成立十多年來,這條路我們正越走越好,積累了技術(shù)與客戶資源,形成了良好的口碑。為客戶提供成都做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)站策劃、網(wǎng)頁設(shè)計、國際域名空間、網(wǎng)絡(luò)營銷、VI設(shè)計、網(wǎng)站改版、漏洞修補等服務(wù)。網(wǎng)站是否美觀、功能強大、用戶體驗好、性價比高、打開快等等,這些對于網(wǎng)站建設(shè)都非常重要,創(chuàng)新互聯(lián)通過對建站技術(shù)性的掌握、對創(chuàng)意設(shè)計的研究為客戶提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進步。相信你經(jīng)常被 這幾個名詞搞得很懵逼。我有時候也很懵逼,那么今天就來把這幾個數(shù)據(jù)庫常用術(shù)語搞清楚,同時也記錄一下。
這個相對比較好理解一些,就是將數(shù)據(jù)庫分為主從庫,一個主庫()用于寫數(shù)據(jù),多個從庫()進行輪詢讀取數(shù)據(jù)的過程,主從庫之間通過某種通訊機制進行數(shù)據(jù)的同步,是一種常見的數(shù)據(jù)庫架構(gòu)。下面這張圖就展示了 “一主二從” 的結(jié)構(gòu):
大多數(shù)互聯(lián)網(wǎng)數(shù)據(jù)操作往往都是讀多寫少,隨著數(shù)據(jù)的增長,數(shù)據(jù)庫的“讀”會首先成為瓶頸。如果我們希望能線性地提升數(shù)據(jù)庫的讀性能和寫性能,就需要讓讀寫盡可能的不相互影響,各自為政。。然后再考慮對數(shù)據(jù)庫按照 “讀” 和 “寫” 進行分組。讀寫分離意味著將一體的結(jié)構(gòu)的進行分散,在數(shù)據(jù)量大、高并發(fā)的情景中要考慮以下這些問題
如何保證 的高可用,故障轉(zhuǎn)移,熔斷限流等。
讀寫操作的區(qū)分規(guī)則,代碼層面如何處理好讀命令和寫命令,盡量無感知無業(yè)務(wù)***。
數(shù)據(jù)一致性的容忍度。雖然是數(shù)據(jù)同步,但是由于網(wǎng)絡(luò)的不確定性這仍然是一個不可忽視的問題。
統(tǒng)稱 。是指按照特定的條條件和維度,將同一個數(shù)據(jù)庫中的數(shù)據(jù)拆分到多個數(shù)據(jù)庫(主機)上面以達到分散單庫(主機)負載的效果。這樣我們變相地降低了數(shù)據(jù)集的大小,以空間換時間來提升性能。
指的是按照業(yè)務(wù)對數(shù)據(jù)庫中的表進行分組,同組的放到一個新的數(shù)據(jù)庫(邏輯上,并非實例)中。需要從實際業(yè)務(wù)出發(fā)將大業(yè)務(wù)分割成小業(yè)務(wù)。比如商城的整個業(yè)務(wù)中的 各自獨立分類形成 如下圖:
這樣帶來了一些好處: (a)業(yè)務(wù)清晰,職責單一 (b)易維護,易擴展 (c)數(shù)據(jù)服務(wù)化 。 同時也有一些負面的作用:(a)提高了整個應(yīng)用的復(fù)雜度,而且會形成跨庫事務(wù) (b)引發(fā) “木桶效應(yīng)”,任何一個短板有可能影響整個系統(tǒng) (c)部分表關(guān)系不能 join
只能通過服務(wù)相互調(diào)用來維系。甚至由于網(wǎng)絡(luò)問題引發(fā)數(shù)據(jù)不一致。
在需要進行分庫的情況下,通常可優(yōu)先考慮垂直拆分。
在數(shù)據(jù)庫垂直拆分后遇到單機數(shù)據(jù)庫性能瓶頸之后,就可以考慮數(shù)據(jù)庫水平拆分了。 之所以先垂直拆分才水平拆分,是因為垂直拆分后數(shù)據(jù)業(yè)務(wù)清晰而且單一,更加方便指定水平的標準。比如我們對商城業(yè)務(wù)垂直拆分后的 進行水平拆分就比對整個商城業(yè)務(wù)進行水平拆分好找維度,我們可以根據(jù)用戶注冊時間的區(qū)間、用戶的區(qū)域或者用戶 的范圍、 hash
等條件,然后關(guān)聯(lián)相關(guān)表的記錄將數(shù)據(jù)進行拆分,如果放在整個商城業(yè)務(wù)上你是以用戶為準還是以訂單為準都不太好考慮。
我們按照每100萬為區(qū)間對用戶系統(tǒng)水平拆分如下:
這種拆分的好處在于: (a)單個庫的容量可控 (b)單挑記錄保證了數(shù)據(jù)完整性 (c)數(shù)據(jù)關(guān)系可以通過 join
維持 (d) 避免了跨庫事務(wù) ;缺點同樣存在:(a)拆分規(guī)則對編碼有一定的影響 (b)不同業(yè)務(wù)的分區(qū)交互需要統(tǒng)籌設(shè)計
分表也分為 和 。
數(shù)據(jù)表垂直拆分就是縱向地把表中的列分成多個表,把表從“寬”變“窄”。一般遵循以下幾個點進行拆分:
冷熱分離,把常用的列放在一個表,不常用的放在一個表。
大字段列獨立存放
關(guān)聯(lián)關(guān)系的列緊密的放在一起
我們把用戶表中常用的和不常用的而且大字段分離成兩張表:
表的水平拆分感覺跟庫的水平拆分思想上都是一樣的,只不過粒度不同。表結(jié)構(gòu)維持不變。也就是說拆分后數(shù)據(jù)集的并集等于拆分前的數(shù)據(jù)集。理解了 之后這個就沒有什么可說的了。
看完上述內(nèi)容,你們對讀寫分離、分庫和分表有進一步的了解嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
分享文章:數(shù)據(jù)庫的讀寫分離、分庫、分表概念-創(chuàng)新互聯(lián)
URL標題:http://aaarwkj.com/article14/gcode.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、外貿(mào)建站、手機網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、網(wǎng)站維護、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容