日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

一文理解Mysql,MVCC

Mysql數(shù)據(jù)庫(kù)引擎該如何選擇?

一文理解Mysql,MVCC


Mysql作為一款關(guān)系型數(shù)據(jù)庫(kù),其中優(yōu)勢(shì)之一,便是支持存儲(chǔ)引擎可插拔 。你可以結(jié)合具體的使用場(chǎng)景,來選擇特定的存儲(chǔ)引擎 。比如你可以選擇InnoDB或者M(jìn)yISAM存儲(chǔ)引擎 。同時(shí)由于Mysql是一款開源數(shù)據(jù)庫(kù),你也可以根據(jù)Mysql自定義的預(yù)留存儲(chǔ)引擎接口,自己開發(fā)實(shí)現(xiàn)新的存儲(chǔ)引擎 。Mysql中,不同的存儲(chǔ)引擎,都有各自的特點(diǎn) 。
Mysql數(shù)據(jù)庫(kù)存儲(chǔ)包括:InnoDB存儲(chǔ)引擎、MyISAM存儲(chǔ)引擎、NDB存儲(chǔ)引擎、Memory存儲(chǔ)引擎、Archive存儲(chǔ)引擎等 。01如果需要支持在線事務(wù)處理場(chǎng)景,請(qǐng)選擇InnoDB存儲(chǔ)引擎InnoDB存儲(chǔ)引擎最大的特點(diǎn),便是支持事務(wù),行鎖的設(shè)計(jì),同時(shí)支持外鍵和MVCC 。數(shù)據(jù)庫(kù)中的事務(wù)表示一段最小可執(zhí)行SQL邏輯 。
【一文理解Mysql,MVCC】事務(wù)可以包含多個(gè)SQL語句,也可以是一個(gè)SQL語句組成 。事務(wù)執(zhí)行中,要么全部執(zhí)行成功,要么全部執(zhí)行失敗 。事務(wù)的四個(gè)特性:原子性(事務(wù)是最小執(zhí)行單位)、一致性(數(shù)據(jù)狀態(tài)總是從一個(gè)一致性狀態(tài)到另外一個(gè)一致性狀態(tài))、隔離性(事務(wù)之間是隔離的)、持久性 。數(shù)據(jù)庫(kù)事務(wù)經(jīng)常會(huì)用在金融領(lǐng)域的場(chǎng)景,比如轉(zhuǎn)賬等 。所以,如果你的業(yè)務(wù)場(chǎng)景需要支持事務(wù)特性,那么你在使用Mysql時(shí),需要選擇InnoDB存儲(chǔ)引擎來支持 。
InnoDB存儲(chǔ)引擎目前在很多公司也用的比較廣泛,比如Facebook、阿里等 。02如果需要支持聯(lián)機(jī)分析場(chǎng)景,請(qǐng)選擇MyISAM存儲(chǔ)引擎MyISAM存儲(chǔ)引擎不支持事務(wù),它的最大的一個(gè)特點(diǎn)便是支持OLAP(聯(lián)機(jī)分析場(chǎng)景) 。公司業(yè)務(wù)方經(jīng)常會(huì)有這樣的需求,需要對(duì)數(shù)據(jù)進(jìn)行聚合操作,比如對(duì)數(shù)據(jù)進(jìn)行SUM(求和)、COUNT(計(jì)數(shù))等指標(biāo)類計(jì)算,對(duì)這部分?jǐn)?shù)據(jù)分析,進(jìn)一步分析數(shù)據(jù)的價(jià)值,為公司上層提供決策支持 。
此時(shí)Mysql數(shù)據(jù)庫(kù)可以選擇MyISAM存儲(chǔ)引擎來支持 。03如果可以將數(shù)據(jù)臨時(shí)放到內(nèi)存,希望訪問數(shù)據(jù)速度快,可以選擇Memory存儲(chǔ)引擎 。如果需要對(duì)數(shù)據(jù)進(jìn)行歸檔,請(qǐng)選擇Archive存儲(chǔ)引擎Memory存儲(chǔ)引擎會(huì)將數(shù)據(jù)存儲(chǔ)到內(nèi)存中,對(duì)于內(nèi)存數(shù)據(jù)的訪問,其速度很快 。當(dāng)然有一個(gè)問題,如果我們的數(shù)據(jù)庫(kù)發(fā)生故障或者奔潰重啟時(shí),內(nèi)存中的數(shù)據(jù)會(huì)全部消失 。
所以對(duì)于Memory存儲(chǔ)引擎,它適用的場(chǎng)景用于存儲(chǔ)臨時(shí)數(shù)據(jù)的臨時(shí)表以及數(shù)據(jù)維表到內(nèi)存中,也可以使用Memory存儲(chǔ)引擎來存儲(chǔ)SQL查詢中的臨時(shí)結(jié)果表 。對(duì)于Archive存儲(chǔ)引擎,它非常適用于存儲(chǔ)歸檔的數(shù)據(jù),比如存儲(chǔ)日志信息,這部分?jǐn)?shù)據(jù)沒有那么重要,對(duì)其進(jìn)行壓縮進(jìn)一步降低磁盤的存儲(chǔ)空間 。我是Lake,專注大數(shù)據(jù)技術(shù)原理、人工智能、數(shù)據(jù)庫(kù)技術(shù)、程序員經(jīng)驗(yàn)分享,如果我的問答對(duì)你有幫助的話,希望你能點(diǎn)贊關(guān)注我,感謝 。

    推薦閱讀