内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

數據庫的讀寫分離、分庫、分表概念-創(chuàng)新互聯

相信大部分人都不太了解數據庫中的讀寫分離、分庫和分表,今天小編為了讓大家更加了解讀寫分離、分庫和分表,給大家總結了以下內容,跟隨小編一起來看看吧。

創(chuàng)新互聯成立十多年來,這條路我們正越走越好,積累了技術與客戶資源,形成了良好的口碑。為客戶提供成都做網站、成都網站建設、網站策劃、網頁設計、國際域名空間、網絡營銷、VI設計、網站改版、漏洞修補等服務。網站是否美觀、功能強大、用戶體驗好、性價比高、打開快等等,這些對于網站建設都非常重要,創(chuàng)新互聯通過對建站技術性的掌握、對創(chuàng)意設計的研究為客戶提供一站式互聯網解決方案,攜手廣大客戶,共同發(fā)展進步。

1. 前言

相信你經常被  這幾個名詞搞得很懵逼。我有時候也很懵逼,那么今天就來把這幾個數據庫常用術語搞清楚,同時也記錄一下。

2. 讀寫分離

這個相對比較好理解一些,就是將數據庫分為主從庫,一個主庫()用于寫數據,多個從庫()進行輪詢讀取數據的過程,主從庫之間通過某種通訊機制進行數據的同步,是一種常見的數據庫架構。下面這張圖就展示了 “一主二從” 的結構:

數據庫的讀寫分離、分庫、分表概念

2.1 為什么要讀寫分離

大多數互聯網數據操作往往都是讀多寫少,隨著數據的增長,數據庫的“讀”會首先成為瓶頸。如果我們希望能線性地提升數據庫的讀性能和寫性能,就需要讓讀寫盡可能的不相互影響,各自為政。。然后再考慮對數據庫按照 “讀” 和 “寫” 進行分組。讀寫分離意味著將一體的結構的進行分散,在數據量大、高并發(fā)的情景中要考慮以下這些問題

  1. 如何保證  的高可用,故障轉移,熔斷限流等。

  2. 讀寫操作的區(qū)分規(guī)則,代碼層面如何處理好讀命令和寫命令,盡量無感知無業(yè)務***。

  3. 數據一致性的容忍度。雖然是數據同步,但是由于網絡的不確定性這仍然是一個不可忽視的問題。

3. 分庫

 統(tǒng)稱 。是指按照特定的條條件和維度,將同一個數據庫中的數據拆分到多個數據庫(主機)上面以達到分散單庫(主機)負載的效果。這樣我們變相地降低了數據集的大小,以空間換時間來提升性能。

3.1 數據庫垂直拆分

 指的是按照業(yè)務對數據庫中的表進行分組,同組的放到一個新的數據庫(邏輯上,并非實例)中。需要從實際業(yè)務出發(fā)將大業(yè)務分割成小業(yè)務。比如商城的整個業(yè)務中的  各自獨立分類形成  如下圖:

數據庫的讀寫分離、分庫、分表概念

這樣帶來了一些好處: (a)業(yè)務清晰,職責單一 (b)易維護,易擴展 (c)數據服務化 。 同時也有一些負面的作用:(a)提高了整個應用的復雜度,而且會形成跨庫事務 (b)引發(fā) “木桶效應”,任何一個短板有可能影響整個系統(tǒng) (c)部分表關系不能 join 只能通過服務相互調用來維系。甚至由于網絡問題引發(fā)數據不一致。

在需要進行分庫的情況下,通常可優(yōu)先考慮垂直拆分。

3.2 數據庫水平拆分

在數據庫垂直拆分后遇到單機數據庫性能瓶頸之后,就可以考慮數據庫水平拆分了。 之所以先垂直拆分才水平拆分,是因為垂直拆分后數據業(yè)務清晰而且單一,更加方便指定水平的標準。比如我們對商城業(yè)務垂直拆分后的  進行水平拆分就比對整個商城業(yè)務進行水平拆分好找維度,我們可以根據用戶注冊時間的區(qū)間、用戶的區(qū)域或者用戶  的范圍、 hash 等條件,然后關聯相關表的記錄將數據進行拆分,如果放在整個商城業(yè)務上你是以用戶為準還是以訂單為準都不太好考慮。

我們按照每100萬為區(qū)間對用戶系統(tǒng)水平拆分如下:

數據庫的讀寫分離、分庫、分表概念

這種拆分的好處在于: (a)單個庫的容量可控 (b)單挑記錄保證了數據完整性 (c)數據關系可以通過 join 維持 (d) 避免了跨庫事務 ;缺點同樣存在:(a)拆分規(guī)則對編碼有一定的影響 (b)不同業(yè)務的分區(qū)交互需要統(tǒng)籌設計

4. 分表

分表也分為  和  。

4.1 數據表垂直拆分

數據表垂直拆分就是縱向地把表中的列分成多個表,把表從“寬”變“窄”。一般遵循以下幾個點進行拆分:

  • 冷熱分離,把常用的列放在一個表,不常用的放在一個表。

  • 大字段列獨立存放

  • 關聯關系的列緊密的放在一起

我們把用戶表中常用的和不常用的而且大字段分離成兩張表:

數據庫的讀寫分離、分庫、分表概念

4.2 數據表的水平拆分

表的水平拆分感覺跟庫的水平拆分思想上都是一樣的,只不過粒度不同。表結構維持不變。也就是說拆分后數據集的并集等于拆分前的數據集。理解了  之后這個就沒有什么可說的了。

看完上述內容,你們對讀寫分離、分庫和分表有進一步的了解嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注創(chuàng)新互聯行業(yè)資訊頻道,感謝各位的閱讀。

另外有需要云服務器可以了解下創(chuàng)新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

分享文章:數據庫的讀寫分離、分庫、分表概念-創(chuàng)新互聯
URL標題:http://www.rwnh.cn/article14/gcode.html

成都網站建設公司_創(chuàng)新互聯,為您提供服務器托管、外貿建站、手機網站建設、網站建設、網站維護網站導航

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

網站托管運營
乌兰察布市| 措勤县| 台江县| 黑水县| 六盘水市| 宁津县| 铜鼓县| 黄大仙区| 浪卡子县| 内黄县| 明水县| 博罗县| 斗六市| 灵川县| 舒兰市| 巩义市| 林芝县| 元江| 宝清县| 温州市| 崇仁县| 乃东县| 勐海县| 湖州市| 卓尼县| 白山市| 运城市| 双城市| 饶平县| 大渡口区| 繁昌县| 平凉市| 红原县| 淮滨县| 太谷县| 萨迦县| 辽中县| 澎湖县| 明水县| 环江| 岑巩县|