91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MYSQL中讀寫分離有什么作用及基本架構(gòu)說明

Wildesbeast ? 來源:今日頭條 ? 作者:會(huì)點(diǎn)代碼的大叔 ? 2020-02-05 14:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

現(xiàn)在絕大部分軟件項(xiàng)目,都會(huì)使用到關(guān)系型數(shù)據(jù)庫,比如MySQL、Oracle、DB2等等,目前這些數(shù)據(jù)庫的單機(jī)性能已經(jīng)是不斷優(yōu)化和提高了,但是隨著數(shù)據(jù)增長的速度和并發(fā)訪問量的增加,在某些公司、某些場景下,單機(jī)數(shù)據(jù)庫已經(jīng)很難滿足業(yè)務(wù)的需要了,所以必須考慮數(shù)據(jù)庫集群的方式來提高系統(tǒng)的可用性;最常見的兩種方法:

分庫分表:把數(shù)據(jù)分散到不同的數(shù)據(jù)庫上,每臺數(shù)據(jù)庫中存儲的數(shù)據(jù)是不相同的(這里先不考慮每個(gè)庫做備份或讀寫分離);分庫分表既可以分散數(shù)據(jù)庫訪問的壓力,也可以分散數(shù)據(jù)存儲的壓力;但是使用分庫分表方案的時(shí)候,會(huì)帶來擴(kuò)容、事務(wù)、關(guān)聯(lián)查詢等問題和難點(diǎn),具體這里就不展開講了。

讀寫分離:將數(shù)據(jù)庫讀操作和寫操作分散到不同的節(jié)點(diǎn)上,通常是一臺數(shù)據(jù)庫做寫操作,1到N臺做讀操作;讀寫分離的架構(gòu),每一臺數(shù)據(jù)中的數(shù)據(jù)是相同的(這里先忽略延遲的問題),所以只分散了數(shù)據(jù)庫訪問的壓力,并沒有分散數(shù)據(jù)存儲的壓力;我們這里主要講一講讀寫分離。

讀寫分離基本架構(gòu)

MySQL讀寫分離的基本架構(gòu),可以參考下圖:

如上圖,讀寫分離實(shí)現(xiàn)的基本步驟是:

數(shù)據(jù)庫服務(wù)器搭建多臺,一主N從(N大于等于1);

主數(shù)據(jù)庫只負(fù)責(zé)寫操作,從數(shù)據(jù)庫只負(fù)責(zé)讀操作;

主數(shù)據(jù)庫復(fù)制數(shù)據(jù)到從數(shù)據(jù)庫上;

客戶端寫操作路由到主數(shù)據(jù)庫上,讀操作路由到從數(shù)據(jù)庫上。

讀寫分離還有另外一種架構(gòu),就是在MySQL數(shù)據(jù)庫和客戶端之間,增加一層中間代理層,客戶端只連接代理, 由代理根據(jù)請求類型,把請求分發(fā)到不同的數(shù)據(jù)庫上:

第一種架構(gòu),整體架構(gòu)比較簡單直接,性能會(huì)稍微高一些,但是如果才用直連的方式,客戶端可能會(huì)稍微麻煩一些(通常需要引入一些組件,負(fù)責(zé)管理數(shù)據(jù)庫);

第二種架構(gòu),對客戶端比較友好,因?yàn)榭蛻舳酥恍枰痛斫换?,并不用關(guān)注數(shù)據(jù)庫的具體信息;但是因?yàn)槎嗔艘粚哟恚喽嗌偕贂?huì)對性能有一定的影響。

讀寫分離帶來的好處

讀寫分離結(jié)構(gòu)中,會(huì)有兩臺甚至更多臺數(shù)據(jù)庫,這種冗余的設(shè)計(jì),可以提高數(shù)據(jù)的安全性和系統(tǒng)的可用性;就算是在分庫分表的架構(gòu)中,每一臺子庫,也可以一主多備的部署方式;

讀寫分離更多的時(shí)候使用在讀操作遠(yuǎn)遠(yuǎn)大于寫操作的場景下,這樣可以保證寫操作的數(shù)據(jù)庫承受更小的壓力,也可以緩解X鎖和S鎖爭用;

服務(wù)器數(shù)量的增加,意味著可以有效地利用多臺服務(wù)器的資源;讀操作被分?jǐn)?,提高了系統(tǒng)的性能;

如果寫操作比讀操作多,或者相近,可以采用雙主相互復(fù)制的架構(gòu)。

讀寫分離會(huì)帶來的問題

之前的文章,我也反復(fù)強(qiáng)調(diào)過,任何的架構(gòu)、軟件、框架、組件...在解決一部分問題的時(shí)候,一定會(huì)帶來其他的問題;讀寫分離最大的一個(gè)問題就是,數(shù)據(jù)從主復(fù)制到從的過程中,可能會(huì)存在延遲的,如果客戶端在執(zhí)行完一個(gè)讀操作后,立刻從存庫中查詢的話,可能會(huì)讀取到舊數(shù)據(jù)的情況(我們不斷優(yōu)化,也只能縮短這個(gè)時(shí)間,并不能完全消除掉這個(gè)時(shí)間)。

那么針對這個(gè)問題,有哪些處理方法呢?

根據(jù)具體場景進(jìn)行評估,是否可以接收這個(gè)延遲(這好像是一句廢話,但是大多數(shù)業(yè)務(wù)場景,是可以接收這點(diǎn)兒延遲的);

對于實(shí)時(shí)性要求很高的場景(查詢的數(shù)據(jù)必須是最新的結(jié)果),將這些請求強(qiáng)制路由到主庫上;

執(zhí)行完寫操作之后,在讀操作發(fā)生之前,讓中間的時(shí)間變長(也就是從業(yè)務(wù)操作角度來做一些控制,不一定操作完了立刻查詢);

判斷主備無延遲,可以通過判斷seconds_behind_master參數(shù)、對比GTID、對比位點(diǎn)等方式,判斷從數(shù)據(jù)庫是否和主數(shù)據(jù)庫一致。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    14

    文章

    10261

    瀏覽量

    91526
  • 數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    7

    文章

    4020

    瀏覽量

    68369
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    906

    瀏覽量

    29560
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    工業(yè)數(shù)據(jù)臺支持接入MySQL數(shù)據(jù)庫嗎

    工業(yè)數(shù)據(jù)臺完全支持接入MySQL數(shù)據(jù)庫 ,且通過數(shù)據(jù)同步、集成與治理等技術(shù)手段,能夠充分發(fā)揮MySQL在數(shù)據(jù)存儲與事務(wù)處理方面的優(yōu)勢,同時(shí)彌補(bǔ)其在數(shù)據(jù)分析與共享能力上的不足,具體分析如下: 技術(shù)
    的頭像 發(fā)表于 12-04 11:23 ?383次閱讀
    工業(yè)數(shù)據(jù)<b class='flag-5'>中</b>臺支持接入<b class='flag-5'>MySQL</b>數(shù)據(jù)庫嗎

    醫(yī)院隨訪管理系統(tǒng)源碼,三級隨訪系統(tǒng)源碼,Java+Springboot,Vue,Ant-Design+MySQL5

    Java版隨訪系統(tǒng)源碼,醫(yī)院隨訪管理系統(tǒng)源碼,三級隨訪系統(tǒng)源碼,B/S前后端分離架構(gòu),自主版權(quán),落地案例。 技術(shù)框架:Java+Springboot,Vue,Ant-Design+MySQL5 開發(fā)
    的頭像 發(fā)表于 11-08 14:48 ?553次閱讀
    醫(yī)院隨訪管理系統(tǒng)源碼,三級隨訪系統(tǒng)源碼,Java+Springboot,Vue,Ant-Design+<b class='flag-5'>MySQL</b>5

    pcb四層板為什么加很多的盲孔,什么作用

    pcb四層板為什么加很多的盲孔什么作用
    的頭像 發(fā)表于 09-06 11:32 ?1164次閱讀

    CentOS 7下MySQL 8雙主熱備高可用架構(gòu)全解

    Centos7部署MySQL8+keepalived雙主熱備(含Keepalived配置與GTID同步優(yōu)化方案) 架構(gòu)拓?fù)湓?GTID同步 VIP 192.168.1.100 MySQL主節(jié)點(diǎn)1
    的頭像 發(fā)表于 08-12 17:08 ?835次閱讀

    MySQL的組成結(jié)構(gòu)與結(jié)構(gòu)化查詢語言詳解

    MySQL作為世界上最流行的開源關(guān)系型數(shù)據(jù)庫管理系統(tǒng),采用了分層架構(gòu)設(shè)計(jì)
    的頭像 發(fā)表于 07-14 11:21 ?657次閱讀

    MySQL數(shù)據(jù)備份與恢復(fù)策略

    數(shù)據(jù)是企業(yè)的核心資產(chǎn),MySQL作為主流的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),其數(shù)據(jù)的安全性和可靠性至關(guān)重要。本文將深入探討MySQL的數(shù)據(jù)備份策略、常用備份工具以及數(shù)據(jù)恢復(fù)的最佳實(shí)踐,幫助運(yùn)維工程師構(gòu)建完善的數(shù)據(jù)保護(hù)體系。
    的頭像 發(fā)表于 07-14 11:11 ?746次閱讀

    企業(yè)級MySQL數(shù)據(jù)庫管理指南

    在當(dāng)今數(shù)字化時(shí)代,MySQL作為全球最受歡迎的開源關(guān)系型數(shù)據(jù)庫,承載著企業(yè)核心業(yè)務(wù)數(shù)據(jù)的存儲與處理。作為數(shù)據(jù)庫管理員(DBA),掌握MySQL的企業(yè)級部署、優(yōu)化、維護(hù)技能至關(guān)重要。本文將從實(shí)戰(zhàn)角度出發(fā),系統(tǒng)闡述MySQL在企業(yè)環(huán)
    的頭像 發(fā)表于 07-09 09:50 ?736次閱讀

    憶聯(lián) Docker+MySQL 流控方案:打造安全高效存儲底座,釋放 AI 極致性能

    探討基于Docker部署的MySQL數(shù)據(jù)庫在AI應(yīng)用的關(guān)鍵作用。通過憶聯(lián)PCIe5.0企業(yè)級SSD(UH812a)實(shí)測驗(yàn)證,展示了Namespace技術(shù)與QoS優(yōu)化策略如何實(shí)現(xiàn)存儲資源的精細(xì)化管理
    的頭像 發(fā)表于 06-26 13:53 ?461次閱讀
    憶聯(lián) Docker+<b class='flag-5'>MySQL</b> 流控方案:打造安全高效存儲底座,釋放 AI 極致性能

    東集RFID讀寫什么用

    在當(dāng)今信息高度發(fā)達(dá)的時(shí)代,RFID(射頻識別)技術(shù)正在逐漸改變我們周圍的世界。隨著物聯(lián)網(wǎng)(IoT)的興起,RFID讀寫器作為這一技術(shù)的核心組件,正在發(fā)揮著越來越重要的作用。東集小編將深入探討RFID
    發(fā)表于 06-20 10:36

    介紹三種常見的MySQL高可用方案

    方案——MHA(MySQL High Availability Manager)、PXC(Percona XtraDB Cluster) 和 Galera Cluster。我們將從原理、架構(gòu)、優(yōu)勢和局限性等角度對比這三種方案,并探討它們在實(shí)際應(yīng)用
    的頭像 發(fā)表于 05-28 17:16 ?1257次閱讀

    MySQL數(shù)據(jù)庫采集網(wǎng)關(guān)是什么?什么功能?

    MySQL數(shù)據(jù)庫采集網(wǎng)關(guān)是一種用于連接、采集、處理并傳輸數(shù)據(jù)到MySQL數(shù)據(jù)庫的中間設(shè)備或軟件系統(tǒng),通常部署在數(shù)據(jù)源與MySQL數(shù)據(jù)庫之間,作為數(shù)據(jù)交互的橋梁。它在工業(yè)物聯(lián)網(wǎng)、智能樓宇、能源管理等
    的頭像 發(fā)表于 05-26 15:20 ?676次閱讀

    MySQL數(shù)據(jù)庫是什么

    開發(fā)、企業(yè)應(yīng)用和大數(shù)據(jù)場景。以下是其核心特性和應(yīng)用場景的詳細(xì)說明: 核心特性 關(guān)系型數(shù)據(jù)庫模型 數(shù)據(jù)以 表(Table) 形式組織,表由行(記錄)和列(字段)構(gòu)成。 通過 主鍵、外鍵 實(shí)現(xiàn)表間關(guān)聯(lián),支持復(fù)雜查詢和事務(wù)處理。 示例 :電商系統(tǒng),用戶表、訂單表、商品表
    的頭像 發(fā)表于 05-23 09:18 ?1231次閱讀

    MySQL簡介與理論基礎(chǔ)

    MySQL是世界上最流行的開源關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一,廣泛應(yīng)用于網(wǎng)站、應(yīng)用程序和企業(yè)級系統(tǒng)。它采用客戶端/服務(wù)器架構(gòu),支持多用戶環(huán)境,并基于SQL(結(jié)構(gòu)化查詢語言)標(biāo)準(zhǔn)。
    的頭像 發(fā)表于 05-21 10:43 ?754次閱讀

    超級電容在故障指示器作用哪些?

    超級電容在故障指示器作用哪些?安裝在輸配電線路、電力電纜及開關(guān)柜進(jìn)出線上的故障指示器在電流流通的線路起著非常重要的作用,一旦線路發(fā)生
    的頭像 發(fā)表于 05-16 08:41 ?674次閱讀
    超級電容在故障指示器<b class='flag-5'>中</b>的<b class='flag-5'>作用</b><b class='flag-5'>有</b>哪些?

    智慧路燈哪些功能和作用

    智慧路燈哪些功能和作用 智慧燈桿屏
    的頭像 發(fā)表于 03-20 17:00 ?1238次閱讀
    智慧路燈<b class='flag-5'>有</b>哪些功能和<b class='flag-5'>作用</b>