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

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

讀寫分離基本架構

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

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

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

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

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

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

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

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

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

讀寫分離帶來的好處

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

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

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

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

讀寫分離會帶來的問題

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

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

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

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

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

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

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

    關注

    14

    文章

    10272

    瀏覽量

    91556
  • 數(shù)據(jù)庫

    關注

    7

    文章

    4025

    瀏覽量

    68395
  • MySQL
    +關注

    關注

    1

    文章

    909

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

    工業(yè)數(shù)據(jù)臺完全支持接入MySQL數(shù)據(jù)庫 ,且通過數(shù)據(jù)同步、集成與治理等技術手段,能夠充分發(fā)揮MySQL在數(shù)據(jù)存儲與事務處理方面的優(yōu)勢,同時彌補其在數(shù)據(jù)分析與共享能力上的不足,具體分析如下: 技術
    的頭像 發(fā)表于 12-04 11:23 ?391次閱讀
    工業(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前后端分離架構,自主版權,落地案例。 技術框架:Java+Springboot,Vue,Ant-Design+MySQL5 開發(fā)
    的頭像 發(fā)表于 11-08 14:48 ?568次閱讀
    醫(yī)院隨訪管理系統(tǒng)源碼,三級隨訪系統(tǒng)源碼,Java+Springboot,Vue,Ant-Design+<b class='flag-5'>MySQL</b>5

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

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

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

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

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

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

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

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

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

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

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

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

    東集RFID讀寫什么用

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

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

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

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

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

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

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

    MySQL簡介與理論基礎

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

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

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

    智慧路燈哪些功能和作用

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