色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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、對比位點等方式,判斷從數據庫是否和主數據庫一致。

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

    關注

    12

    文章

    9295

    瀏覽量

    85950
  • 數據庫
    +關注

    關注

    7

    文章

    3845

    瀏覽量

    64627
  • MySQL
    +關注

    關注

    1

    文章

    829

    瀏覽量

    26715
收藏 人收藏

    評論

    相關推薦

    使用插件將Excel連接到MySQL/MariaDB

    ,可以快速地將數據從 MySQL 或 MariaDB 加載到 Excel,立即從數據庫刷新 Excel 工作簿的數據,編輯這些數據,并將它們保存回 MySQL。之后您能夠像使用的 Excel 工作表一樣
    的頭像 發表于 01-20 12:38 ?113次閱讀
    使用插件將Excel連接到<b class='flag-5'>MySQL</b>/MariaDB

    構建數據庫解決方案,基于華為云 Flexus X 實例容器化 MySQL 主從同步架構

    前言**** 華為云 Flexus X 實例,融合柔性算力與智能調度,為數據庫解決方案帶來全新突破。采用容器化 MySQL 主從同步架構,實現數據高效備份與讀寫分離,保障業務連續性與數
    的頭像 發表于 01-07 17:22 ?183次閱讀
    構建數據庫解決方案,基于華為云 Flexus X 實例容器化 <b class='flag-5'>MySQL</b> 主從同步<b class='flag-5'>架構</b>

    華為云 Flexus X 實例評測使用體驗——MySQL 安裝全過程 +MySQL 讀寫速度測試

    試一下 MySQL 數據庫的讀寫效率如何。使用 Python 語言來測試寫入與讀取速度。 購買服務配置 這里使用的是 4vCPUs 與 14GIB 的內存,鏡像選擇的是默認的公共鏡像。這個鏡像兩個選項,一個是
    的頭像 發表于 12-31 10:38 ?237次閱讀
    華為云 Flexus X 實例評測使用體驗——<b class='flag-5'>MySQL</b> 安裝全過程 +<b class='flag-5'>MySQL</b> <b class='flag-5'>讀寫</b>速度測試

    反射內存卡的系統架構

    反射內存卡的基本架構
    的頭像 發表于 12-06 15:17 ?234次閱讀

    MySQL編碼機制原理

    前言 一位讀者在本地部署 MySQL 測試環境時碰到一個問題,我覺得挺有代表性的,所以寫篇文章介紹一下,看完相信你會對 MySQL 的編碼機制最本質的了解,本文的目錄結構如下 讀者問題簡介
    的頭像 發表于 11-09 11:01 ?290次閱讀

    適用于MySQL的dbForge架構比較

    dbForge Schema Compare for MySQL 是一種工具,用于輕松有效地比較和部署 MySQL 數據庫結構和腳本文件夾差異。該工具提供了 MySQL 數據庫架構中所
    的頭像 發表于 10-28 09:41 ?248次閱讀
    適用于<b class='flag-5'>MySQL</b>的dbForge<b class='flag-5'>架構</b>比較

    配置MySQL主從復制和讀寫分離

    配置MySQL主從復制和讀寫分離
    的頭像 發表于 10-23 11:44 ?534次閱讀
    配置<b class='flag-5'>MySQL</b>主從復制和<b class='flag-5'>讀寫</b><b class='flag-5'>分離</b>

    嵌入式Hypervisor:架構、原理與應用 閱讀體驗 +分離內核的嵌入式Hyperviso

    讀后感:分離內核與SKH架構的深刻洞察 在閱讀了關于分離內核和SKH(分離內核Hypervisor)的詳細闡述后,我深感這一技術在現代計算機系統,尤其是嵌入式系統和安全關鍵系統
    的頭像 發表于 10-12 17:06 ?374次閱讀
    嵌入式Hypervisor:<b class='flag-5'>架構</b>、原理與應用 閱讀體驗 +<b class='flag-5'>分離</b>內核的嵌入式Hyperviso

    乒乓球架構LMX2820的高隔離、快速頻率切換應用說明

    電子發燒友網站提供《乒乓球架構LMX2820的高隔離、快速頻率切換應用說明.pdf》資料免費下載
    發表于 09-11 09:33 ?0次下載
    乒乓球<b class='flag-5'>架構</b><b class='flag-5'>中</b>LMX2820的高隔離、快速頻率切換應用<b class='flag-5'>說明</b>

    SSD基本架構

    接口,常用的SATA、SAS和PCIe。 SSD控制器:負責主機到后端介質的讀寫訪問和協議轉換,表項管理、數據緩存及校驗等,是SSD的核心部件。國科微星空企業級系列SSD采用自主研發的第四代12nm工藝NANDXtra控制器。 DRAM:FTL表項和數據的緩存,以提供數
    的頭像 發表于 08-14 09:05 ?390次閱讀

    MySQL知識點匯總

    大家好,這部分被稱為DQL部分,是每個學習MySQL必須要學會的部分,下面就讓我來介紹MySQL的其他部分。
    的頭像 發表于 08-05 15:27 ?447次閱讀
    <b class='flag-5'>MySQL</b>知識點匯總

    讀寫分離怎么保證數據同步

    讀寫分離是一種常見的數據庫架構設計,用于提高數據庫的并發處理能力。在讀寫分離架構
    的頭像 發表于 07-12 09:49 ?1123次閱讀

    讀寫分離解決什么問題

    讀寫分離是一種數據庫架構設計策略,主要解決數據庫在高并發場景下的讀寫性能瓶頸問題。在這種架構
    的頭像 發表于 07-12 09:47 ?544次閱讀

    MySQL的整體邏輯架構

    支持多種存儲引擎是眾所周知的MySQL特性,也是MySQL架構的關鍵優勢之一。如果能夠理解MySQL Server與存儲引擎之間是怎樣通過API交互的,將大大有利于理解
    的頭像 發表于 04-30 11:14 ?488次閱讀
    <b class='flag-5'>MySQL</b>的整體邏輯<b class='flag-5'>架構</b>

    labview 創建mysql 表時 設置時間 怎么在mysql是格式是date 而不是datetime?

    選擇 時間日期 但是在mysql是date而不是datetime類型 ,除了sql語句創建表 ,怎么能實現創建表數據為datetime類型
    發表于 02-04 09:46
    主站蜘蛛池模板: 内射气质御姐视频在线播放 | 亚洲精品国产高清嫩草影院 | 自拍 偷拍 亚洲 经典 | 大肚婆孕妇网 | 68日本xxxxxxxx79 | 精品国产中文字幕在线视频 | 久久亚洲网站 | 久久久久久久伊人电影 | 中文字幕亚洲乱码熟女在线萌芽 | 久久久大香菇 | 妞干网手机免费视频 | 欧美色图一区二区三区 | 浪潮色诱AV久久久久久久 | 牛牛超碰 国产 | 青青热久精品国产亚洲AV无码 | 在线视频a| 成人国产AV精品久久久久 | 小p孩玩成年女性啪啪资源 小777论坛 | 饥渴难耐的浪荡艳妇在线观看 | 国产亚洲精品久久久久 | 真实处破女全过程完免费观看 | 猫咪av永久最新域名 | 免费三级播放器 | 动漫美女的禁 | 性做久久久久免费观看 | 蜜桃臀无码内射一区二区三区 | 色婷婷五月综合中文字幕 | 中国女人内谢69xxxxxx直播 | 免费一级特黄欧美大片久久网 | 国产亚洲色婷婷久久精品99 | 免费鲁丝片一级在线观看 | 亚洲日韩中文字幕区 | 内射无码AV-区二区在线观看 | 瑜伽牲交AV| 国产盗摄TP摄像头偷窥 | 久久精品视频16 | 寂寞夜晚在线视频观看 | 香蕉99久久久久成人麻豆 | 国产精品熟女人妻 | 中文国产乱码在线人妻一区二区 | 国产精品久久精品 |