国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

掌握MySQL分庫分表(一)數(shù)據(jù)庫性能優(yōu)化思路、分庫分表優(yōu)缺點(diǎn)

這篇具有很好參考價(jià)值的文章主要介紹了掌握MySQL分庫分表(一)數(shù)據(jù)庫性能優(yōu)化思路、分庫分表優(yōu)缺點(diǎn)。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。


不能?上來就說分庫分表!

MySQL數(shù)據(jù)庫性能優(yōu)化思路【面試題】

根據(jù)實(shí)際情況分析,兩個(gè)角度思考:不分庫分表、分庫分表

不分庫分表

軟優(yōu)化

  1. 數(shù)據(jù)庫參數(shù)調(diào)優(yōu)
  2. 分析慢查詢SQL語句,分析執(zhí)行計(jì)劃,進(jìn)行sql改寫和程序改寫
  3. 優(yōu)化數(shù)據(jù)庫索引結(jié)構(gòu)
  4. 優(yōu)化數(shù)據(jù)表結(jié)構(gòu)優(yōu)化
  5. 引入NOSQL和程序架構(gòu)調(diào)整

硬優(yōu)化

提升系統(tǒng)硬件(更快的IO、更多的內(nèi)存):帶寬、CPU、硬盤

分庫分表

  1. 根據(jù)業(yè)務(wù)情況而定,選擇合適的分庫分表策略(沒有通用的策略
    外賣、物流、電商領(lǐng)域
  2. 先看只分表是否滿?業(yè)務(wù)的需求和未來增長
    數(shù)據(jù)庫分表能夠解決單表數(shù)據(jù)量很大時(shí),數(shù)據(jù)查詢的效率問題
    無法給數(shù)據(jù)庫的并發(fā)操作帶來效率上的提高,分表的實(shí)質(zhì)還是在?個(gè)數(shù)據(jù)庫上進(jìn)行的操作,受數(shù)據(jù)庫IO性能的限制
  3. 如果單分表滿足不了需求,再分庫分表?起

結(jié)論

在數(shù)據(jù)量及訪問壓力不是特別大的情況,首先考慮緩存、讀寫分離、索引技術(shù)等方案
如果數(shù)據(jù)量極?,且業(yè)務(wù)持續(xù)增長快,再考慮分庫分表方案

分庫分表能解決的問題

解決數(shù)據(jù)庫本身瓶頸

連接數(shù)

連接數(shù)過多時(shí),就會出現(xiàn)‘too many connections’的錯(cuò)誤,訪問量太大或者數(shù)據(jù)庫設(shè)置的最大連接數(shù)太小的原因
Mysql默認(rèn)的最大連接數(shù)為100可以修改,?mysql服務(wù)允許的最?連接數(shù)為16384

數(shù)據(jù)庫分表可以解決單表海量數(shù)據(jù)的查詢性能問題
數(shù)據(jù)庫分庫可以解決單臺數(shù)據(jù)庫的并發(fā)訪問壓力問題

解決系統(tǒng)本身IO、CPU瓶頸

  1. 磁盤讀寫IO瓶頸,熱點(diǎn)數(shù)據(jù)太多,盡管使用了數(shù)據(jù)庫本身緩存,但是依舊有?量IO,導(dǎo)致sql執(zhí)行速度慢
  2. 網(wǎng)絡(luò)IO瓶頸,請求的數(shù)據(jù)太多,數(shù)據(jù)傳輸大,網(wǎng)絡(luò)帶寬不夠,鏈路響應(yīng)時(shí)間變長
  3. CPU瓶頸,尤其在基礎(chǔ)數(shù)據(jù)量大單機(jī)復(fù)雜SQL計(jì)算,SQL語句執(zhí)行占用CPU使用率高,也有掃描行數(shù)大、鎖沖突、鎖等待等原因

可以通過 show processlist、show full processlist,發(fā)現(xiàn) CPU 使用率比較高的SQL

常見的對于查詢時(shí)間長,State 列值是 Sending dataCopying to tmp table,Copying to tmp table on diskSorting result,Using filesort 等都是可能有性能問題SQL,清楚相關(guān)影響問題的情況可以kill掉

也存在執(zhí)行時(shí)間短,但是CPU占用率?的SQL,通過上面命令查詢不到,這個(gè)時(shí)候最好通過執(zhí)行計(jì)劃分析explain進(jìn)行分析

分庫分表帶來的問題

問題? 跨節(jié)點(diǎn)數(shù)據(jù)庫Join關(guān)聯(lián)查詢

數(shù)據(jù)庫切分前,多表關(guān)聯(lián)查詢,可以通過sql join進(jìn)行實(shí)現(xiàn)分庫分表后,數(shù)據(jù)可能分布在不同的節(jié)點(diǎn)上,sql join帶來的問題就?較麻煩

問題二 分庫操作帶來的分布式事務(wù)問題

操作內(nèi)容同時(shí)分布在不同庫中,不可避免會帶來跨庫事務(wù)問題,即分布式事務(wù)

問題三 執(zhí)行的SQL排序、翻頁、函數(shù)計(jì)算問題

分庫后,數(shù)據(jù)分布再不同的節(jié)點(diǎn)上, 跨節(jié)點(diǎn)多庫進(jìn)行查詢時(shí),會出現(xiàn)limit分頁、order by排序等問題
而且當(dāng)排序字段非分片字段時(shí),更加復(fù)雜了,要在不同的分片節(jié)點(diǎn)中將數(shù)據(jù)進(jìn)行排序并返回,然后將不同分片返回的結(jié)果集進(jìn)行匯總和再次排序(也會帶來更多的CPU/IO資
源損耗)

問題四 數(shù)據(jù)庫全局主鍵重復(fù)問題

常規(guī)表的id是使用自增id進(jìn)行實(shí)現(xiàn),分庫分表后,由于表中數(shù)據(jù)同時(shí)存在不同數(shù)據(jù)庫中,如果用自增id,則會出現(xiàn)沖突問題

問題五 容量規(guī)劃,分庫分表后二次擴(kuò)容問題

業(yè)務(wù)發(fā)展快,初次分庫分表后,滿足不了數(shù)據(jù)存儲,導(dǎo)致需要多次擴(kuò)容

問題六 分庫分表技術(shù)選型問題

市場分庫分表中間件相對較多,框架各有各的優(yōu)勢與短板,應(yīng)該如何選擇文章來源地址http://www.zghlxwxcb.cn/news/detail-418469.html

到了這里,關(guān)于掌握MySQL分庫分表(一)數(shù)據(jù)庫性能優(yōu)化思路、分庫分表優(yōu)缺點(diǎn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 一篇文章搞懂MySQL的分庫分表,從拆分場景、目標(biāo)評估、拆分方案、不停機(jī)遷移、一致性補(bǔ)償?shù)确矫嬖敿?xì)闡述MySQL數(shù)據(jù)庫的分庫分表方案

    一篇文章搞懂MySQL的分庫分表,從拆分場景、目標(biāo)評估、拆分方案、不停機(jī)遷移、一致性補(bǔ)償?shù)确矫嬖敿?xì)闡述MySQL數(shù)據(jù)庫的分庫分表方案

    導(dǎo)航: 【Java筆記+踩坑匯總】Java基礎(chǔ)+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外賣/黑馬旅游/谷粒商城/學(xué)成在線+設(shè)計(jì)模式+面試題匯總+性能調(diào)優(yōu)/架構(gòu)設(shè)計(jì)+源碼-CSDN博客 目錄 一、分庫分表基本概念 二、分庫分表的場景和核心思想 三、分庫分表具體步驟 3.1 分庫分表的原則:能不分就

    2024年02月03日
    瀏覽(26)
  • 數(shù)據(jù)庫-分庫分表初探

    數(shù)據(jù)庫-分庫分表初探

    數(shù)據(jù)量在百萬以里,可以通過Tina集從庫、優(yōu)化索引等提升性能 數(shù)據(jù)量超過千萬,為了減少數(shù)據(jù)庫的負(fù)擔(dān),提升數(shù)據(jù)庫響應(yīng)速度,縮短查詢時(shí)間,需要進(jìn)行分庫分表 推薦:采用垂直分庫水平分表 總結(jié):分庫要解決的是硬件資源的問題,不管是拆分字段,還是拆分?jǐn)?shù)據(jù),都是要

    2024年01月25日
    瀏覽(27)
  • 數(shù)據(jù)庫的分庫分表

    數(shù)據(jù)庫的分庫分表

    ?

    2024年02月14日
    瀏覽(19)
  • 數(shù)據(jù)庫分庫分表思路

    一. 數(shù)據(jù)切分 關(guān)系型數(shù)據(jù)庫本身比較容易成為系統(tǒng)瓶頸,單機(jī)存儲容量、連接數(shù)、處理能力都有限。當(dāng)單表的數(shù)據(jù)量達(dá)到1000W或100G以后,由于查詢維度較多,即使添加從庫、優(yōu)化索引,做很多操作時(shí)性能仍下降嚴(yán)重。此時(shí)就要考慮對其進(jìn)行切分了,切分的目的就在于減少數(shù)據(jù)

    2024年02月09日
    瀏覽(21)
  • 淺談數(shù)據(jù)庫分庫分表

    本文主要介紹數(shù)據(jù)庫分庫分表相關(guān)的基礎(chǔ)知識,包括分庫分表是什么,為什么要分庫分表,以及有哪些解決方案。 數(shù)據(jù)庫分庫分表,用英文表示是 \\\"database sharding\\\" or \\\"database partitioning\\\" 。 分庫分表是指將一個(gè)大型數(shù)據(jù)庫按照一定的規(guī)則拆分成多個(gè)小型數(shù)據(jù)庫,每個(gè)小型數(shù)據(jù)庫

    2024年02月15日
    瀏覽(19)
  • shell腳本:數(shù)據(jù)庫的分庫分表
  • 分庫分表已成為過去式,使用分布式數(shù)據(jù)庫才是未來

    轉(zhuǎn)載至我的博客 https://www.infrastack.cn ,公眾號:架構(gòu)成長指南 當(dāng)我們使用 Mysql數(shù)據(jù)庫到達(dá)一定量級以后,性能就會逐步下降,而解決此類問題,常用的手段就是引入數(shù)據(jù)庫中間件進(jìn)行分庫分表處理,比如使用 Mycat 、 ShadingShpere 、 tddl ,但是這種都是過去式了,現(xiàn)在使用分布

    2024年02月19日
    瀏覽(30)
  • 千萬級并發(fā)架構(gòu)下,如何進(jìn)行關(guān)系型數(shù)據(jù)庫的分庫分表

    千萬級并發(fā)架構(gòu)下,如何進(jìn)行關(guān)系型數(shù)據(jù)庫的分庫分表

    最近項(xiàng)目上線后由于用戶量的劇增,導(dǎo)致數(shù)據(jù)庫的數(shù)據(jù)量劇增,隨之而來的就是海量數(shù)據(jù)存儲的問題,針對最近解決數(shù)據(jù)的優(yōu)化過程,談?wù)剆ql語句的優(yōu)化以及數(shù)據(jù)庫分庫分表的方案。 建議大家先閱讀一下數(shù)據(jù)庫的優(yōu)化方案 《數(shù)據(jù)庫大數(shù)據(jù)量的優(yōu)化方案》,里面從 1.優(yōu)化現(xiàn)有數(shù)

    2024年02月16日
    瀏覽(44)
  • 性能優(yōu)化之分庫分表

    性能優(yōu)化之分庫分表

    分庫分表包括分庫和分表兩個(gè)維度,在開發(fā)過程中,對于每個(gè)維度都可以采用兩種拆分思路,即垂直拆分和水平拆分。 將同一個(gè)庫中的一張表(比如SPU表)按某種方式(垂直拆分、水平拆分)拆分成SPU1、SPU2、SPU3、SPU4…等若干張表,如下圖所示: 在表數(shù)據(jù)不變的情況下,對

    2024年02月10日
    瀏覽(19)
  • 【性能優(yōu)化】MySql數(shù)據(jù)庫查詢優(yōu)化方案

    【性能優(yōu)化】MySql數(shù)據(jù)庫查詢優(yōu)化方案

    了解系統(tǒng)運(yùn)行效率提升的整體解決思路和方向 學(xué)會MySQl中進(jìn)行數(shù)據(jù)庫查詢優(yōu)化的步驟 學(xué)會看慢查詢、執(zhí)行計(jì)劃、進(jìn)行性能分析、調(diào)優(yōu) ?關(guān)于這個(gè)問題,我們通常首先考慮的是硬件升級,畢竟服務(wù)器的內(nèi)存、CPU、磁盤IO速度 、網(wǎng)絡(luò)速度等都是制約我們系統(tǒng)快慢的首要因素。硬

    2024年02月03日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包