chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

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

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

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

第二種架構(gòu),對(duì)客戶端比較友好,因?yàn)榭蛻舳酥恍枰痛斫换ィ⒉挥藐P(guān)注數(shù)據(jù)庫(kù)的具體信息;但是因?yàn)槎嗔艘粚哟?,多多少少?huì)對(duì)性能有一定的影響。

讀寫分離帶來(lái)的好處

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

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

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

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

讀寫分離會(huì)帶來(lái)的問(wèn)題

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

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

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

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

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

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

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

    關(guān)注

    13

    文章

    10003

    瀏覽量

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

    關(guān)注

    7

    文章

    3980

    瀏覽量

    67442
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    892

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    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 ?465次閱讀

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

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

    介紹三種常見(jiàn)的MySQL高可用方案

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

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

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

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

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

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

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

    MySQL數(shù)據(jù)庫(kù)的安裝

    MySQL數(shù)據(jù)庫(kù)的安裝 【一】各種數(shù)據(jù)庫(kù)的端口 MySQL :3306 Redis :6379 MongoDB :27017 Django :8000 flask :5000 【二】MySQL 介紹
    的頭像 發(fā)表于 01-14 11:25 ?755次閱讀
    <b class='flag-5'>MySQL</b>數(shù)據(jù)庫(kù)的安裝

    構(gòu)建數(shù)據(jù)庫(kù)解決方案,基于華為云 Flexus X 實(shí)例容器化 MySQL 主從同步架構(gòu)

    前言**** 華為云 Flexus X 實(shí)例,融合柔性算力與智能調(diào)度,為數(shù)據(jù)庫(kù)解決方案帶來(lái)全新突破。采用容器化 MySQL 主從同步架構(gòu),實(shí)現(xiàn)數(shù)據(jù)高效備份與讀寫分離,保障業(yè)務(wù)連續(xù)性與數(shù)
    的頭像 發(fā)表于 01-07 17:22 ?826次閱讀
    構(gòu)建數(shù)據(jù)庫(kù)解決方案,基于華為云 Flexus X 實(shí)例容器化 <b class='flag-5'>MySQL</b> 主從同步<b class='flag-5'>架構(gòu)</b>

    windows服務(wù)器備份mysql腳本

    :天,超過(guò)就刪除backup_keep_time = 30# 此列表的數(shù)據(jù)庫(kù)將不會(huì)備份,下面是默認(rèn)的基礎(chǔ)數(shù)據(jù)庫(kù)。ignore_database = ['Database','information_schema','mysql','sys','perf
    的頭像 發(fā)表于 01-02 09:14 ?581次閱讀

    華為云 Flexus X 實(shí)例評(píng)測(cè)使用體驗(yàn)——MySQL 安裝全過(guò)程 +MySQL 讀寫速度測(cè)試

    試一下 MySQL 數(shù)據(jù)庫(kù)的讀寫效率如何。使用 Python 語(yǔ)言來(lái)測(cè)試寫入與讀取速度。 購(gòu)買服務(wù)配置 這里使用的是 4vCPUs 與 14GIB 的內(nèi)存,鏡像選擇的是默認(rèn)的公共鏡像。這個(gè)鏡像兩個(gè)選項(xiàng),一個(gè)是
    的頭像 發(fā)表于 12-31 10:38 ?660次閱讀
    華為云 Flexus X 實(shí)例評(píng)測(cè)使用體驗(yàn)——<b class='flag-5'>MySQL</b> 安裝全過(guò)程 +<b class='flag-5'>MySQL</b> <b class='flag-5'>讀寫</b>速度測(cè)試

    MySQL還能跟上PostgreSQL的步伐嗎

    Percona 的老板 Peter Zaitsev最近發(fā)表一篇博客,討論了MySQL是否還能跟上PostgreSQL的腳步。Percona 作為MySQL 生態(tài)扛旗者,Percona 開發(fā)了知名
    的頭像 發(fā)表于 11-18 10:16 ?716次閱讀
    <b class='flag-5'>MySQL</b>還能跟上PostgreSQL的步伐嗎

    MySQL編碼機(jī)制原理

    前言 一位讀者在本地部署 MySQL 測(cè)試環(huán)境時(shí)碰到一個(gè)問(wèn)題,我覺(jué)得挺有代表性的,所以寫篇文章介紹一下,看完相信你會(huì)對(duì) MySQL 的編碼機(jī)制最本質(zhì)的了解,本文的目錄結(jié)構(gòu)如下 讀者問(wèn)題簡(jiǎn)介
    的頭像 發(fā)表于 11-09 11:01 ?779次閱讀

    適用于MySQL的dbForge架構(gòu)比較

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

    配置MySQL主從復(fù)制和讀寫分離

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

    任意波形發(fā)生器的基本架構(gòu)

    任意波形發(fā)生器(Arbitrary Waveform Generator,AWG)是從信號(hào)發(fā)生器演進(jìn)過(guò)來(lái)的一款信號(hào)源,其架構(gòu)的設(shè)計(jì)旨在提供高精度、高穩(wěn)定性和靈活可編程的波形信號(hào)輸出。
    的頭像 發(fā)表于 10-18 16:29 ?1204次閱讀