国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MYSQL中讀寫分離有什么作用及基本架構說明

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

掃碼添加小助手

加入工程師交流群

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

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

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

讀寫分離基本架構

MySQL讀寫分離的基本架構,可以參考下圖:

如上圖,讀寫分離實現的基本步驟是:

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

主數據庫只負責寫操作,從數據庫只負責讀操作;

主數據庫復制數據到從數據庫上;

客戶端寫操作路由到主數據庫上,讀操作路由到從數據庫上。

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

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

第二種架構,對客戶端比較友好,因為客戶端只需要和代理交互,并不用關注數據庫的具體信息;但是因為多了一層代理,多多少少會對性能有一定的影響。

讀寫分離帶來的好處

讀寫分離結構中,會有兩臺甚至更多臺數據庫,這種冗余的設計,可以提高數據的安全性和系統的可用性;就算是在分庫分表的架構中,每一臺子庫,也可以一主多備的部署方式;

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

服務器數量的增加,意味著可以有效地利用多臺服務器的資源;讀操作被分攤,提高了系統的性能;

如果寫操作比讀操作多,或者相近,可以采用雙主相互復制的架構。

讀寫分離會帶來的問題

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

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

根據具體場景進行評估,是否可以接收這個延遲(這好像是一句廢話,但是大多數業務場景,是可以接收這點兒延遲的);

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

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 服務器
    +關注

    關注

    14

    文章

    10255

    瀏覽量

    91515
  • 數據庫
    +關注

    關注

    7

    文章

    4020

    瀏覽量

    68364
  • MySQL
    +關注

    關注

    1

    文章

    906

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    工業數據臺支持接入MySQL數據庫嗎

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

    醫院隨訪管理系統源碼,三級隨訪系統源碼,Java+Springboot,Vue,Ant-Design+MySQL5

    Java版隨訪系統源碼,醫院隨訪管理系統源碼,三級隨訪系統源碼,B/S前后端分離架構,自主版權,落地案例。 技術框架:Java+Springboot,Vue,Ant-Design+MySQL5 開發
    的頭像 發表于 11-08 14:48 ?543次閱讀
    醫院隨訪管理系統源碼,三級隨訪系統源碼,Java+Springboot,Vue,Ant-Design+<b class='flag-5'>MySQL</b>5

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

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

    CentOS 7下MySQL 8雙主熱備高可用架構全解

    Centos7部署MySQL8+keepalived雙主熱備(含Keepalived配置與GTID同步優化方案) 架構拓撲原理 GTID同步 VIP 192.168.1.100 MySQL主節點1
    的頭像 發表于 08-12 17:08 ?833次閱讀

    MySQL的組成結構與結構化查詢語言詳解

    MySQL作為世界上最流行的開源關系型數據庫管理系統,采用了分層架構設計
    的頭像 發表于 07-14 11:21 ?648次閱讀

    MySQL數據備份與恢復策略

    數據是企業的核心資產,MySQL作為主流的關系型數據庫管理系統,其數據的安全性和可靠性至關重要。本文將深入探討MySQL的數據備份策略、常用備份工具以及數據恢復的最佳實踐,幫助運維工程師構建完善的數據保護體系。
    的頭像 發表于 07-14 11:11 ?741次閱讀

    企業級MySQL數據庫管理指南

    在當今數字化時代,MySQL作為全球最受歡迎的開源關系型數據庫,承載著企業核心業務數據的存儲與處理。作為數據庫管理員(DBA),掌握MySQL的企業級部署、優化、維護技能至關重要。本文將從實戰角度出發,系統闡述MySQL在企業環
    的頭像 發表于 07-09 09:50 ?732次閱讀

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

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

    東集RFID讀寫什么用

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

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

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

    MySQL數據庫采集網關是什么?什么功能?

    MySQL數據庫采集網關是一種用于連接、采集、處理并傳輸數據到MySQL數據庫的中間設備或軟件系統,通常部署在數據源與MySQL數據庫之間,作為數據交互的橋梁。它在工業物聯網、智能樓宇、能源管理等
    的頭像 發表于 05-26 15:20 ?670次閱讀

    MySQL數據庫是什么

    開發、企業應用和大數據場景。以下是其核心特性和應用場景的詳細說明: 核心特性 關系型數據庫模型 數據以 表(Table) 形式組織,表由行(記錄)和列(字段)構成。 通過 主鍵、外鍵 實現表間關聯,支持復雜查詢和事務處理。 示例 :電商系統,用戶表、訂單表、商品表
    的頭像 發表于 05-23 09:18 ?1223次閱讀

    MySQL簡介與理論基礎

    MySQL是世界上最流行的開源關系型數據庫管理系統之一,廣泛應用于網站、應用程序和企業級系統。它采用客戶端/服務器架構,支持多用戶環境,并基于SQL(結構化查詢語言)標準。
    的頭像 發表于 05-21 10:43 ?747次閱讀

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

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

    智慧路燈哪些功能和作用

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