国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Mysql-InnoDB 事物學(xué)習(xí)

voyagelab / 2510人閱讀

摘要:幻讀在一個(gè)事務(wù)中,同一個(gè)范圍內(nèi)的記錄被讀取時(shí),其他事務(wù)向這個(gè)范圍添加了新的記錄。分布式事物提供訪問事物資源的方法協(xié)調(diào)參與全局事物中的各個(gè)事物定義事物的便捷,指定全局事物中的操作

事物基本概念 事物的特性(ACID)

原子性 atomicity

一致性 consistency

隔離性 isolation

持久性 durability

事物的類型

扁平事物

帶有保存點(diǎn)的扁平事物

鏈?zhǔn)挛?嵌套事務(wù)

分布式事務(wù)

事物的實(shí)現(xiàn)

redo與undo redo
redo:保證事物的原子性、持久性,物理日志,基本上是順序?qū)?br> undo:保證事物的一致性,邏輯日志,undo會(huì)產(chǎn)生redo,用于事物回滾和mvcc,隨機(jī)讀寫

redo

redo log buffer
redo log file

force log at commit機(jī)制實(shí)現(xiàn)事物的持久性

redo log buffer -> 文件系統(tǒng)緩存 -> (fsync) 磁盤文件

innodb_flush_log_at_trx_commit
0:master thread完成寫入磁盤
1:默認(rèn),每次事物提交必須fsync
2:寫入文件系統(tǒng)緩存,不執(zhí)行fsync

log block

512 字節(jié)和磁盤山區(qū)大小一致,保證日志寫入是原子性的,不需要doublewrite ?技術(shù)

分為 512 - 12 -8 = 492
重做日志頭:12 字節(jié)
重做日志內(nèi)容:
重做日志尾:8字節(jié)

LOG_BLOCK_HAR_NO【4字節(jié)】:log block在 log buffer的位置
LOG_BLOCK_HAR_DATA_LEN【2字節(jié)】:log block占用大小
LOG_BLOCK_FIRST_REC_GROUP【2字節(jié)】:第一個(gè)日志所在的偏移量
LOG_BLOCK_CHECKPOINT_NO【4字節(jié)】:最后被寫入時(shí)的檢查點(diǎn)第4字節(jié)的值 ??

log grooup

多個(gè)多個(gè)重做日志文件組成

redo log file

重做日志格式

redo_log_type:重做日志的類型
space:表空間的ID
page_no:頁的偏移量

LSN(log sequence number)

8字節(jié),單調(diào)遞增
含義:
重做日志寫入總量
checkpoint的位置
頁的版本

undo

undo segment:共享表空間內(nèi)

(128個(gè))rollback segment > (1024個(gè))undo segment ,事物并發(fā)限制在128*1024

undo log 格式

insert undo log
update undo log

purge group commit 事物的隔離級(jí)別

READ UNCOMMIT:使用查詢語句不會(huì)加鎖,可能會(huì)讀到未提交的行(Dirty Read)
READ COMMIT:只對(duì)記錄加記錄鎖,而不會(huì)在記錄之間加間隙鎖,所以允許新的記錄插入到被鎖定記錄的附近,所以再多次使用查詢語句時(shí),可能得到不同的結(jié)果(Non-Repeatable Read)EPEATABLE READ:多次讀取同一范圍的數(shù)據(jù)會(huì)返回第一次查詢的快照,不會(huì)返回不同的數(shù)據(jù)行,但是可能發(fā)生幻讀(Phantom Read);
SERIALIZABLE:InnoDB 隱式地將全部的查詢語句加上共享鎖,解決了幻讀的問題;

臟讀:在一個(gè)事務(wù)中,讀取了其他事務(wù)未提交的數(shù)據(jù)
不可重復(fù)讀:在一個(gè)事務(wù)中,同一行記錄被訪問了兩次卻得到了不同的結(jié)果。
幻讀:在一個(gè)事務(wù)中,同一個(gè)范圍內(nèi)的記錄被讀取時(shí),其他事務(wù)向這個(gè)范圍添加了新的記錄。

不可重復(fù)讀的原因就是,在 READ COMMITED 的隔離級(jí)別下,存儲(chǔ)引擎不會(huì)在查詢記錄時(shí)添加行鎖,鎖定 id = 3 這條記錄。

分布式事物

XA

Resource Managers:提供訪問事物資源的方法
Transaction Maneger:協(xié)調(diào)參與全局事物中的各個(gè)事物
Application Program:定義事物的便捷,指定全局事物中的操作

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/17915.html

相關(guān)文章

  • Mysql-InnoDB學(xué)習(xí)

    摘要:表級(jí)鎖的表級(jí)別鎖包含五種鎖模式以及鎖,鎖之間的相容性遵循數(shù)組中的定義。表級(jí)鎖的目的是為了防止和的并發(fā)問題。意向鎖是表級(jí)別的,和鎖之間相互并不沖突,但與表級(jí)鎖沖突。 鎖類型 行級(jí)鎖 鎖模式只有LOCK_S 和LOCK_X,其他的 FLAG 用于鎖的描述,如前述 LOCK_GAP、LOCK_REC_NOT_GAP 以及 LOCK_ORDINARY、LOCK_INSERT_INTENTION...

    hiyang 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

voyagelab

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<