www.e4938.cn-老师你下面太紧了拔不出来,99re8这里有精品热视频免费,国产第一视频一区二区三区,青青草国产成人久久

<button id="60qo0"></button>

<strike id="60qo0"></strike>
<del id="60qo0"></del>
<fieldset id="60qo0"><menu id="60qo0"></menu></fieldset>
  • 數(shù)據(jù)庫讀寫分離架構,為什么我不喜歡

    2018-01-10 17:10:12 架構師之路  點擊量: 評論 (0)
    RD:單庫數(shù)據(jù)量太大,數(shù)據(jù)庫扛不住了,我要申請一個數(shù)據(jù)庫從庫,讀寫分離。DBA:數(shù)據(jù)量多少?RD:5000w左右。DBA:讀寫吞吐量呢?RD:讀QPS
    RD:單庫數(shù)據(jù)量太大,數(shù)據(jù)庫扛不住了,我要申請一個數(shù)據(jù)庫從庫,讀寫分離。

    DBA:數(shù)據(jù)量多少?

    RD:5000w左右。

    DBA:讀寫吞吐量呢?

    RD:讀QPS約200,寫QPS約30左右。

     

    上周在公司聽到兩個技術同學討論,感覺對讀寫分離解決什么問題沒有弄清楚,有些奔潰。

     

    另,對于互聯(lián)網(wǎng)某些業(yè)務場景,并不是很喜歡數(shù)據(jù)庫讀寫分離架構,一些淺見見文末。

     

    一、讀寫分離

    什么是數(shù)據(jù)庫讀寫分離?

     

    答:一主多從,讀寫分離,主動同步,是一種常見的數(shù)據(jù)庫架構,一般來說:

    • 主庫,提供數(shù)據(jù)庫寫服務

    • 從庫,提供數(shù)據(jù)庫讀服務

    • 主從之間,通過某種機制同步數(shù)據(jù),例如mysql的binlog

    一個組從同步集群通常稱為一個“分組”

     

    分組架構究竟解決什么問題?

    答:大部分互聯(lián)網(wǎng)業(yè)務讀多寫少,數(shù)據(jù)庫的讀往往最先成為性能瓶頸,如果希望:

    • 線性提升數(shù)據(jù)庫讀性能

    • 通過消除讀寫鎖沖突提升數(shù)據(jù)庫寫性能

    此時可以使用分組架構。

     

    一句話,分組主要解決“數(shù)據(jù)庫讀性能瓶頸”問題,在數(shù)據(jù)庫扛不住讀的時候,通常讀寫分離,通過增加從庫線性提升系統(tǒng)讀性能。

     

    二、水平切分

    什么是數(shù)據(jù)庫水平切分?

     

    答:水平切分,也是一種常見的數(shù)據(jù)庫架構,一般來說:

    • 每個數(shù)據(jù)庫之間沒有數(shù)據(jù)重合,沒有類似binlog同步的關聯(lián)

    • 所有數(shù)據(jù)并集,組成全部數(shù)據(jù)

    • 會用算法,來完成數(shù)據(jù)分割,例如“取模”

    一個水平切分集群中的每一個數(shù)據(jù)庫,通常稱為一個“分片”

     

    水平切分架構究竟解決什么問題?

    答:大部分互聯(lián)網(wǎng)業(yè)務數(shù)據(jù)量很大,單庫容量容易成為瓶頸,如果希望:

    • 線性降低單庫數(shù)據(jù)容量

    • 線性提升數(shù)據(jù)庫寫性能

    此時可以使用水平切分架構。

     

    一句話總結,水平切分主要解決“數(shù)據(jù)庫數(shù)據(jù)量大”問題,在數(shù)據(jù)庫容量扛不住的時候,通常水平切分。

     

    三、為什么不喜歡讀寫分離

    對于互聯(lián)網(wǎng)大數(shù)據(jù)量,高并發(fā)量,高可用要求高,一致性要求高,前端面向用戶的業(yè)務場景,如果數(shù)據(jù)庫讀寫分離:

    • 數(shù)據(jù)庫連接池需要區(qū)分:讀連接池,寫連接池

    • 如果要保證讀高可用,讀連接池要實現(xiàn)故障自動轉移

    • 有潛在的主庫從庫一致性問題

     

    • 如果面臨的是“讀性能瓶頸”問題,增加緩存可能來得更直接,更容易一點

    • 關于成本,從庫的成本比緩存高不少

    • 對于云上的架構,以阿里云為例,主庫提供高可用服務,從庫不提供高可用服務

     

    所以,上述業(yè)務場景下,樓主建議使用緩存架構來加強系統(tǒng)讀性能,替代數(shù)據(jù)庫主從分離架構。

     

    當然,使用緩存架構的潛在問題:如果緩存掛了,流量全部壓到數(shù)據(jù)庫上,數(shù)據(jù)庫會雪崩。不過幸好,云上的緩存一般都提供高可用的服務。

     

    四、總結

    • 讀寫分離,解決“數(shù)據(jù)庫讀性能瓶頸”問題

    • 水平切分,解決“數(shù)據(jù)庫數(shù)據(jù)量大”問題

    • 對于互聯(lián)網(wǎng)大數(shù)據(jù)量,高并發(fā)量,高可用要求高,一致性要求高,前端面向用戶的業(yè)務場景,微服務緩存架構,可能比數(shù)據(jù)庫讀寫分離架構更合適

    大云網(wǎng)官方微信售電那點事兒

    責任編輯:售電衡衡

    免責聲明:本文僅代表作者個人觀點,與本站無關。其原創(chuàng)性以及文中陳述文字和內容未經(jīng)本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關內容。
    我要收藏
    個贊
    ?
    国精产品999国精产品官网| 亚洲AV无码国产综合专区| 国产AV天堂一区二区三区。| 成全高清免费观看MV动漫| 插曲免费的视频大全影视| 日韩欧美国产精品亚洲二区| 欧美日韩免费观看| 国产成人精品男人的天堂| 原来神马电影完整版在线观看| 日韩欧美国产高清在线观看|