日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 架構師社區(qū)
[導讀]來自:CSDN,作者:_陳哈哈鏈接:https://blog.csdn.net/qq_39390545/article/details/116248222一、樸實無華的-分表1、垂直分表2、水平分表二、花里胡哨的-分庫3、垂直分庫4、水平分庫總結首先我們要知道分庫、分表都是干啥的...

來自:CSDN,作者:_陳哈哈

鏈接:https://blog.csdn.net/qq_39390545/article/details/116248222

  • 一、樸實無華的 - 分表
    • 1、垂直分表
    • 2、水平分表
  • 二、花里胡哨的 - 分庫
    • 3、垂直分庫
    • 4、水平分庫
  • 總結

首先我們要知道分庫、分表都是干啥的,本文主角還是我們的MySQL為第一視角。首先從字面意思來看:

  • 分庫:由單個數(shù)據庫實例拆分成多個數(shù)據庫實例,將數(shù)據分布到多個數(shù)據庫實例中。
  • 分表:由單張表拆分成多張表,將數(shù)據劃分到多張表內。
要知道,對于大型互聯(lián)網項目,數(shù)據量級可能不是我們能想到的,每日新增數(shù)據量過千萬是常有的事兒,想靠單臺MySQL服務器是不現(xiàn)實的。你項羽在牛B,也頂不住四個隊友掛機?。。№椨穑????

隨著業(yè)務數(shù)據量和網站QPS日益增高,對數(shù)據庫壓力也越來越大,單機版數(shù)據庫很快會到達存儲和并發(fā)瓶頸,就需要做數(shù)據庫性能方面的優(yōu)化,分庫分表采取的是分而治之的策略,分庫目的是減輕單臺MySQL實例存儲壓力及可擴展性,而分表是解決單張表數(shù)據過大以后查詢的瓶頸問題,坦白說,這些問題也是所有關系型數(shù)據庫“硬傷”

今天我們就基于常見分庫、分表的策略方式以及場景,來搞清楚我們到底啥時候用的到。常用策略包括:垂直分表、水平分表垂直分庫、水平分庫

一、樸實無華的 - 分表

老大讓我優(yōu)化數(shù)據庫,我上來就分庫分表,他過來就是一jio。。。

1、垂直分表

垂直分表,或者叫豎著切表,是不是感受到該策略是以字段為依據的!主要按照字段的活躍性、字段長度,將表中字段拆分到不同的表(主表和擴展表)中。

特點:

  • 每個表的結構都不一樣;
  • 每個表的數(shù)據也不一樣,
  • 有一個關聯(lián)字段,一般是主鍵或外鍵,用于關聯(lián)兄弟表數(shù)據;
  • 所有兄弟表的并集是該表的全量數(shù)據;
場景?:

  1. 有幾個字段屬于熱點字段,更新頻率很高,要把這些字段單獨切到一張表里,不然innodb行鎖很惡心的,鎖死你呀~~如用戶表里的余額字段?不,我的余額就很穩(wěn)定,一直是0。。
  2. 有大字段,如text,存儲壓力很大,畢竟innodb數(shù)據和索引是同一個文件;同時,我又喜歡用SELECT *,你懂得,這磁盤IO消耗的,跟玩兒似的,誰都扛不住的。
  3. 有明顯的業(yè)務區(qū)分,或表結構設計時字段冗余;有些小伙伴看到第一點時,就發(fā)現(xiàn)陳哈哈是個菜雞,用戶表怎么會有余額字段?明顯有問題啊!趕緊先到評論區(qū)噴陳哈哈一波~~然后笑嘻嘻的發(fā)現(xiàn)原來是個小尾巴,真不要臉是吧。。是的,因此不同業(yè)務我們要把具體字段拆開,這樣才有利于業(yè)務后續(xù)擴展哦。

2、水平分表

水平分表,也叫“橫著切”。。以行數(shù)據為依據進行切分,一般按照某列的自容進行切分。

如手機號表,我們可以通過前兩位或前三位進行切分,如131、132、133 → phone_131、phone_132、phone_133,手機號有11位(100億),量大是很正常的事兒,這年頭誰家老頭老太太每個手機呢是吧。這樣切就把一張大表切成了好幾十張小表,數(shù)據量不就下來了。有同學就問了那我怎么知道我這手機號查哪個表呢?一看你就沒認真看前兩行標紅的點,為啥標紅嘞?比如我查13100001111,那我截取前三位,動態(tài)拼接到查詢的表名上,就行了。

特點:

  • 每個表的結構都一樣;
  • 每個表的數(shù)據都不一樣,沒有交集;
  • 所有表的并集是該表的全量數(shù)據;
場景?:單表的數(shù)據量過大或增長速度很快,已經影響或即將會影響SQL查詢效率,加重了CPU負擔,提前到達瓶頸。記得水平分表越早越好,別問我為什么。。

二、花里胡哨的 - 分庫

需要你注意的是,傳統(tǒng)的分庫和我們熟悉的集群、主從復制可不是一個事兒;多節(jié)點集群是將一個庫復制成N個庫,從而通過讀寫分離實現(xiàn)多個MySQL服務的負載均衡,實際是圍繞一個庫來搞的,這個庫稱為Master主庫。而分庫就不同了,分庫是將這個主庫一分為N,比如一分為二,然后針對這兩個主庫,再配置2N個從庫節(jié)點。

3、垂直分庫

縱向切庫,太經典的切分方式,基于表進行切分,通常是把新的業(yè)務模塊或集成公共模塊拆分出去,比如我們最熟悉的單點登錄、鑒權模塊。熟悉的味道,記得有一次我把一些沒用的表切到一個性能很好的服務器中,這服務器我專門用來學習,后來也不知被哪個狗腿子告密了~ 我**你個**,有種站出來,你個**東西。


老大讓我優(yōu)化數(shù)據庫,我上來就分庫分表,他過來就是一jio。。。特點:

  • 每個庫的表都不一樣;
  • 表不一樣,數(shù)據就更不一樣了~ 沒有任何交集;
  • 每個庫相對獨立,模塊化
場景?:可以抽象出單獨的業(yè)務模塊時,可以抽象出公共區(qū)時(如字典、公共時間、公共配置等),或者想有一臺屬于自己的服務器時?

4、水平分庫

以行數(shù)據為依據,將一個庫中的數(shù)據拆分到多個庫中。大型分表體驗一下?坦白說這種策略并不實用,因為會對后臺開發(fā)很不友好,有很多坑,不建議采用,理解即可。

特點:

  • 每個庫的結構都一樣;
  • 每個庫的數(shù)據都不一樣,沒有交集;
  • 所有庫的并集是全量數(shù)據;
場景?:系統(tǒng)絕對并發(fā)量上來了,CPU內存壓力大。分表難以根本上解決量的問題,并且還沒有明顯的業(yè)務歸屬來垂直分庫,主庫磁盤接近飽和。

總結

本文就到這里,希望你學廢了!其實,在實際工作中,我們在選擇分庫分表策略前,想到的應該是從緩存、讀寫分離、SQL優(yōu)化等方面,因為這些能夠更直接、代價更小的解決問題。要記住動表就是動根本,你永遠不知道這張表后面會連帶多少歷史遺留問題,如果是個很大型的項目,遇到些問題你就跟經理提議要分庫分表,小心被呼死~

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉