Mysql基本概念

mysql

1.邏輯架構(gòu)圖
邏輯架構(gòu)圖
2.并發(fā)控制

只要有多個(gè)查詢需要在同一個(gè)時(shí)刻修改數(shù)據(jù)導(dǎo)致出現(xiàn)并發(fā)問(wèn)題(讀取數(shù)據(jù)不會(huì)出現(xiàn)問(wèn)題)

解決并發(fā)控制的讀寫

通過(guò)實(shí)現(xiàn)兩種類型的鎖組成的鎖系統(tǒng)解決

讀寫鎖
  • 共享鎖(讀鎖)
  • 排他鎖(寫鎖)
什么是鎖
  • 讀鎖: 多個(gè)客戶都可以在同一時(shí)刻讀取同一個(gè)資源并且是共享的(互不干擾)
  • 寫鎖:只有一個(gè)用戶可以能執(zhí)行寫入,會(huì)阻塞其他的讀鎖和寫鎖,防止其他用戶讀取正在寫入的同一資源
鎖粒度

一種提高共享資源并發(fā)性的方式

出現(xiàn)問(wèn)題:加大開(kāi)銷损搬,消耗資源

  • 例如:鎖的各種操作
  • 獲取鎖 檢查鎖是否解除 釋放鎖等
鎖策略

鎖的開(kāi)銷和數(shù)據(jù)的安全性之間尋求平衡

常用的鎖策略
  • 表鎖
1.基本鎖策略罪帖,開(kāi)銷最小
2.鎖住整張表
一個(gè)用戶操作表的話需要獲取到寫鎖热监,
這會(huì)阻塞其他用戶的對(duì)該表所有的讀寫操作,釋放掉寫鎖后,其他讀取用戶才可以操作(讀鎖[互不阻塞])
  • 行級(jí)鎖(存儲(chǔ)引擎實(shí)現(xiàn))
1.最大程度的支持并發(fā)處理,開(kāi)銷最大  
3.事務(wù)

一組原子性(不成功便成仁)的SQL查詢語(yǔ)句 (獨(dú)立工作的單元)
事務(wù)內(nèi)的語(yǔ)句膳音,要么全部執(zhí)行成功,要么全部執(zhí)行失敗(一條語(yǔ)句崩潰或者其他原因無(wú)法執(zhí)行)

開(kāi)啟事務(wù)

start transaction 語(yǔ)句開(kāi)啟事務(wù)
commit提交事務(wù)
roolback撤銷所有事務(wù)
例子:銀行應(yīng)用(轉(zhuǎn)賬)

所有事務(wù)必須經(jīng)過(guò)ACID測(cè)試
  • A: atomicity 原子性
  • C: consistency 一致性
  • I: isolation 隔離性
  • D: durability 持久性
原子性:
要執(zhí)行事務(wù)代碼邏輯成功铃诬,要么就執(zhí)行事務(wù)代碼失敗
一致性:
“一致性”在數(shù)據(jù)庫(kù)領(lǐng)域有兩個(gè)意義:
祭陷,一個(gè)是ACID中的C苍凛,也是普遍意義上的數(shù)據(jù)庫(kù)事務(wù)一致性,
另一個(gè)是CAP的C颗胡,有關(guān)分布式事務(wù)的一致性毫深。

舉例來(lái)說(shuō)吩坝,假設(shè)用戶A和用戶B兩者的錢加起來(lái)一共是1000毒姨,
那么不管A和B之間如何轉(zhuǎn)賬、轉(zhuǎn)幾次賬钉寝,
事務(wù)結(jié)束后兩個(gè)用戶的錢相加起來(lái)應(yīng)該還得是1000弧呐,這就是事務(wù)的一致性。
ACIP
1.事務(wù)對(duì)數(shù)據(jù)完整性的遵循
  約束可能包括主鍵約束嵌纲、外鍵約束或是一些用戶自定義約束俘枫。
  事務(wù)執(zhí)行的前后都是合法的數(shù)據(jù)狀態(tài),不會(huì)違背任何的數(shù)據(jù)完整性
2.不能寫出錯(cuò)誤的事務(wù)邏輯
CAP
1.CAP定理是分布式系統(tǒng)理論的基礎(chǔ)
分布式系統(tǒng)(或者由于網(wǎng)絡(luò)隔離等原因產(chǎn)生的分區(qū)系統(tǒng))逮走,它無(wú)法同時(shí)保證一致性鸠蚪、可用性和分區(qū)容忍性,
而是必須要舍棄其中的一個(gè)师溅。
2.具體在數(shù)據(jù)庫(kù)上茅信,就是分布式數(shù)據(jù)庫(kù)中,
每一個(gè)節(jié)點(diǎn)對(duì)于同一個(gè)數(shù)據(jù)必須有相同的拷貝每個(gè)庫(kù)里的同一個(gè)數(shù)據(jù)內(nèi)容必須是一致的)
分布式事務(wù)

分布式事務(wù)

隔離性
當(dāng)多個(gè)用戶并發(fā)訪問(wèn)數(shù)據(jù)庫(kù)時(shí)墓臭,比如同時(shí)操作同一張表時(shí)蘸鲸,數(shù)據(jù)庫(kù)為每一個(gè)用戶開(kāi)啟的事務(wù),
不能被其他事務(wù)的操作所干擾窿锉,多個(gè)并發(fā)事務(wù)之間要相互隔離
持久性
一個(gè)事務(wù)一旦被提交了酌摇,那么對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)的改變就是永久性的,
即便是在數(shù)據(jù)庫(kù)系統(tǒng)遇到故障的情況下也不會(huì)丟失提交事務(wù)的操作
隔離級(jí)別(隔離性)
  • 未提交讀(臟讀)[READ UNCOMMITTED]
    事務(wù)可以讀取為提交的的數(shù)據(jù)[問(wèn)題多,實(shí)際少用]
  • 提交讀(不可重復(fù)讀)[READ COMMITTED]
    一個(gè)事務(wù)開(kāi)始到結(jié)束嗡载,所做的所有修改對(duì)其他事務(wù)是不可見(jiàn)的[兩次所執(zhí)行的查詢窑多,得到的結(jié)果可能不一樣]
  • 可重復(fù)讀[REPEATABLE READ]
  1. 解決臟讀問(wèn)題
    2.保證同一事務(wù)中多次讀取同樣的記錄結(jié)果是一致的
    3.幻讀:當(dāng)一個(gè)事務(wù)讀取某一范圍的記錄,又有新事務(wù)在這個(gè)范圍插入新的記錄洼滚,上一個(gè)事務(wù)再次讀取就會(huì)出現(xiàn)此問(wèn)題-->幻行
  • 可串行化[SERALIZABLE]
    1.強(qiáng)制事務(wù)串行執(zhí)行怯伊,避免幻行問(wèn)題
    2.讀取的每一行數(shù)據(jù)上加鎖增大開(kāi)銷和爭(zhēng)鎖問(wèn)題(實(shí)際上少用除了非常需要保持?jǐn)?shù)據(jù)一致性且可以接受沒(méi)有并發(fā)的情況)
SQL隔離級(jí)別
死鎖
兩個(gè)或者多個(gè)事務(wù)在同一資源上相互占用,請(qǐng)求鎖定對(duì)方的資源從而導(dǎo)致惡性循環(huán)現(xiàn)象
出現(xiàn)死鎖原因:
1.數(shù)據(jù)出現(xiàn)沖突
2.存儲(chǔ)引擎實(shí)現(xiàn)方式導(dǎo)致
解決:大多數(shù)情況只需要重新執(zhí)行因死鎖回滾的事務(wù)
image.png

·

Mysql 事務(wù)

常見(jiàn)事務(wù)存儲(chǔ)引擎:innodb NDB Cluster
Mysql 事務(wù)

多版本并發(fā)控制
Mysql存儲(chǔ)引擎
//查看存儲(chǔ)引擎顯示表的相關(guān)信息
SHOW TABLE STATUS LIKE 表名
  • innoDB 存儲(chǔ)引擎
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末判沟,一起剝皮案震驚了整個(gè)濱河市耿芹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌挪哄,老刑警劉巖吧秕,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異迹炼,居然都是意外死亡砸彬,警方通過(guò)查閱死者的電腦和手機(jī)颠毙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)砂碉,“玉大人蛀蜜,你說(shuō)我怎么就攤上這事≡霾洌” “怎么了滴某?”我有些...
    開(kāi)封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)滋迈。 經(jīng)常有香客問(wèn)我霎奢,道長(zhǎng),這世上最難降的妖魔是什么饼灿? 我笑而不...
    開(kāi)封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任幕侠,我火速辦了婚禮,結(jié)果婚禮上碍彭,老公的妹妹穿的比我還像新娘晤硕。我一直安慰自己,他們只是感情好庇忌,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布舞箍。 她就那樣靜靜地躺著,像睡著了一般漆枚。 火紅的嫁衣襯著肌膚如雪创译。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天墙基,我揣著相機(jī)與錄音软族,去河邊找鬼。 笑死残制,一個(gè)胖子當(dāng)著我的面吹牛立砸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播初茶,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼颗祝,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了恼布?” 一聲冷哼從身側(cè)響起螺戳,我...
    開(kāi)封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎折汞,沒(méi)想到半個(gè)月后倔幼,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡爽待,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年损同,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了翩腐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡膏燃,死狀恐怖茂卦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情组哩,我是刑警寧澤等龙,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站禁炒,受9級(jí)特大地震影響而咆,放射性物質(zhì)發(fā)生泄漏霍比。R本人自食惡果不足惜幕袱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望悠瞬。 院中可真熱鬧们豌,春花似錦、人聲如沸浅妆。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)凌外。三九已至辩尊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間康辑,已是汗流浹背摄欲。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留疮薇,地道東北人胸墙。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像按咒,于是被迫代替她去往敵國(guó)和親迟隅。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 事務(wù)處理 事務(wù)處理是數(shù)據(jù)庫(kù)中的一個(gè)大塊頭励七,涉及到數(shù)據(jù)的完整性與一致性問(wèn)題智袭,由于mysql存在多種數(shù)據(jù)存儲(chǔ)引擎提供給...
    tanghomvee閱讀 738評(píng)論 0 0
  • 1 MySQL的三種鎖 1.1 表鎖 開(kāi)銷小,加鎖快 不會(huì)出現(xiàn)死鎖 鎖定粒度大掠抬,發(fā)生鎖沖突的概率最高吼野,并發(fā)度最低 ...
    JavaEdge閱讀 643評(píng)論 0 1
  • 索引 數(shù)據(jù)庫(kù)中的查詢操作非常普遍箫锤,索引就是提升查找速度的一種手段 索引的類型 從數(shù)據(jù)結(jié)構(gòu)角度分 1.B+索引:傳統(tǒng)...
    一凡呀閱讀 2,882評(píng)論 0 8
  • CoderChou閱讀 297評(píng)論 2 2
  • 重度沒(méi)有安全感 我表現(xiàn)的沒(méi)要求沒(méi)脾氣沒(méi)反駁贬蛙,是因?yàn)闆](méi)有安全感 懶得解釋也是沒(méi)有安全感的表現(xiàn)之一,因?yàn)椴恢勒f(shuō)多了有...
    假如我會(huì)發(fā)光閱讀 449評(píng)論 0 0