數(shù)據(jù)庫復(fù)習(xí)筆記

本文是2017年秋季北大研究生課程《數(shù)據(jù)庫原理與技術(shù)》的復(fù)習(xí)筆記铝穷。視角為數(shù)據(jù)庫系統(tǒng)自身的設(shè)計與實現(xiàn),主要包括存儲佳魔、索引曙聂、查詢處理/優(yōu)化、事務(wù)鞠鲜、并發(fā)處理宁脊、恢復(fù)系統(tǒng)断国、并行數(shù)據(jù)庫7個部分。

基礎(chǔ)概念


關(guān)系代數(shù)6個基本操作

選擇榆苞,投影稳衬,并,差坐漏,笛卡爾積薄疚,重命名

建表代碼

create table department (
    dept_name varchar(20),
    building varchar(10),
    budget int);
insert into department values
    ('Comp. Sci.', 'Taylor', 100000);
create table instructor (
    id varchar(5),
    name varchar(20),
    dept_name varchar(20),
    salary int);
insert into instructor values
    ('33456', 'Gold', 'Comp. Sci.', 75000);
select dept_name, id, name
    from department natural join instructor;
select department.dept_name, instructor.name
    from department, instructor
    where department.dept_name = instructor.dept_name

視圖(子查詢)

從一個或多個表導(dǎo)出的虛擬的表,其內(nèi)容由查詢定義赊琳。具有普通表的結(jié)構(gòu)街夭,但是不實現(xiàn)數(shù)據(jù)存儲。
例子:

create view v_id as select id from instructor;
select * from v_id;
drop view v_id;

存儲和文件結(jié)構(gòu)


RAID(Redundant Array of Independent Disk)

高效性躏筏、可靠性板丽;RAID 1、RAID 5

文件組織

塊的概念

定長記錄:空閑鏈表

變長記錄:單條記錄的結(jié)構(gòu)(空位圖)+ 多條記錄的結(jié)構(gòu)(分槽的頁結(jié)構(gòu))+ 記錄間的順序(堆趁尼、順序埃碱、散列)

多表聚簇文件組織:優(yōu)缺點

數(shù)據(jù)字典(數(shù)據(jù)庫元數(shù)據(jù))

數(shù)據(jù)庫緩沖區(qū)

緩沖區(qū)概念:內(nèi)存中用于存儲磁盤塊拷貝的那一部分。

緩沖區(qū)替換策略:LRU酥泞、CLOCK乃正、MRU的適用場景

索引和散列


順序索引

索引項按序存儲

分類:主索引/輔助索引,稠密索引/稀疏索引

順序索引的插入/刪除婶博,多級索引

B+樹索引

順序索引的缺點:(不考慮重組)隨數(shù)據(jù)規(guī)模增大瓮具,查找性能下降;不適合頻繁的插入/刪除

B+樹定義凡人,查找

插入:1. 分裂時upper(n/2)個key給左邊名党; 2.分裂后,右邊節(jié)點的第一個key需要上移(如果是葉節(jié)點則copy up挠轴,非葉節(jié)點push up)

刪除:1. 葉節(jié)點合并時传睹,父節(jié)點先考慮和兄弟合并,合并不了需要拉上祖父節(jié)點重新分配指針岸晦;2. 如果合并時發(fā)現(xiàn)兄弟節(jié)點已滿欧啤,則在兩個節(jié)點間重新分配指針,這時候往往只需要再修改父節(jié)點中的key值

刪除操作可能導(dǎo)致B+樹非葉節(jié)點含有葉節(jié)點中并不存在的key值

通過復(fù)合多個碼來解決單一碼對應(yīng)記錄不唯一的問題

靜態(tài)散列

哈希函數(shù)會把記錄映射到一個固定大小的桶集合启上,桶溢出時采用溢出桶方案邢隧。隨著數(shù)據(jù)的增長效率會變差硫麻,解決方案:為每個桶預(yù)留x%空間凿跳,定期重組(代價很高)

動態(tài)散列(可擴(kuò)展散列茄螃、線性散列)

在靜態(tài)散列的基礎(chǔ)上增加一個桶地址表假残,根據(jù)記錄數(shù)量動態(tài)選取哈希值的前綴待诅,哈希值先映射到地址表中的表項在映射到桶介袜,插入/刪除會增加桶偎漫,視情況決定是否需要增加桶地址項再登。(在數(shù)據(jù)傾斜嚴(yán)重時,也需要溢出桶)

線性散列與可擴(kuò)展散列的區(qū)別在于桶地址表的擴(kuò)大速度付秕,前者每次增加一項兰珍,后者翻倍。同時询吴,線性散列分裂的未必是當(dāng)前溢出的桶俩垃。

位圖索引

適用于記錄中那些只能取少量屬性值的屬性,如:性別汰寓,工資分檔口柳。如有n條記錄,為每個可取的屬性值建立一個n維的0-1向量有滑。(有時跃闹,B+樹的葉子節(jié)點存儲這個搜索碼的位圖會比存儲記錄的地址節(jié)省空間

查詢處理


磁盤平均訪問時間Ts,磁盤傳輸時間Tr

查詢處理代價衡量:訪問磁盤次數(shù)毛好,傳輸?shù)拇疟P塊數(shù)

選擇操作

假設(shè)索引使用B+樹望艺,樹高度為H,以下操作的代價:

編號 需求 代價
1 線性搜索 Ts+b*Tr(所有記錄占b個塊)
2 主索引/輔助索引+碼屬性+等值比較 (H+1)*(Tr+Ts)
3 主索引+非碼屬性+等值比較 H*(Tr+Ts)+Ts+b*Tr(符合條件的記錄占連續(xù)的b塊)
4 輔助索引+非碼屬性+等值比較 (H+n)*(Tr+Ts)(符合條件的記錄分散在n個塊上)
5 主索引+區(qū)間搜索 理論上同3肌访,實際可使用1
6 輔助索引+區(qū)間搜索 理論同4找默,實際可使用1

排序

外排序(M路歸并排序,內(nèi)存大小為M+1個塊)

連接

對表s和表r做自然連接吼驶,表s在磁盤上占S個塊惩激,表r占R個塊(S<R),內(nèi)存大小M個塊蟹演。

塊嵌套循環(huán)連接

樸素的二重循環(huán)风钻,在小表可以放入內(nèi)存時,作為內(nèi)層循環(huán)可以提高效率酒请;否則應(yīng)當(dāng)把小表放在外層循環(huán)減少磁盤訪問時間(Ts>>Tr)

內(nèi)存大小 代價
M<S (S*R+S)*Tr+2S*Ts
M>S (S+R)*Tr+2Ts

索引嵌套循環(huán)連接

在內(nèi)層循環(huán)時骡技,使用索引而非遍歷來查找對應(yīng)記錄,如果用B+樹組織索引羞反,這樣磁盤訪問次數(shù)會正比于記錄數(shù)布朦,在實際中未必比樸素的二重循環(huán)快。

假設(shè)r為外表昼窗,有Nr條記錄是趴,B+樹高度為h

內(nèi)存大小 代價
M<S (Nr*(h+1)+R)*(Tr+Ts)

歸并連接(sort-merge join)

對表r和s先按照連接屬性排序,再類似歸并排序的方法讀進(jìn)內(nèi)存合并膏秫。假設(shè)一次讀進(jìn)Br個r表塊和Bs個s表數(shù)據(jù)塊:

代價(排序之后)
(S+R)*Tr+(S/Bs+R/Br)*Ts

散列連接

在連接屬性上建立散列函數(shù)右遭,只有被分到同一個桶的記錄才需要考慮連接做盅。對于在同一個桶內(nèi)的r表記錄和s表記錄缤削,為其中一個創(chuàng)建哈希索引(build phase)窘哈,用另外一個的記錄來探查連接值相等的記錄(probe phase)

遞歸劃分/混合散列連接

表達(dá)式計算

兩種方式:物化和流水線

查詢優(yōu)化


為了找到代價最小的查詢執(zhí)行計劃,查詢優(yōu)化器需要以下三步:1)產(chǎn)生邏輯上與給定表達(dá)式等價的表達(dá)式亭敢;2)對產(chǎn)生的表達(dá)式已不同的方式做注釋滚婉,產(chǎn)生不同的查詢計劃;3)估計執(zhí)行代價帅刀,選擇代價最小的一個計劃

表達(dá)式等價轉(zhuǎn)換

關(guān)系代數(shù)層面让腹,如:連接操作的交換律、結(jié)合律

表達(dá)式結(jié)果集大小估計

數(shù)據(jù)庫會存儲一些統(tǒng)計信息:

符號 含義
Nr 關(guān)系r的元組數(shù)
Br 包含關(guān)系r元組的磁盤塊數(shù)
Lr 關(guān)系r中每個元組的字節(jié)數(shù)
V(A, r) 關(guān)系r中屬性A出現(xiàn)的非重復(fù)值個數(shù)
Histogram 每個屬性的取值分布直方圖

以及索引的一些統(tǒng)計信息(如:B+樹深度)用于估計查詢中中間結(jié)果的大小

執(zhí)行計劃選擇

1)基于代價的的搜索:通常搜索范圍大扣溺,在特定問題(如:連接順序)上可用巧妙的算法優(yōu)化骇窍;
2)基于啟發(fā)式規(guī)則的:盡早做選擇,投影(規(guī)則并不一定能減少代價锥余,但是會不考慮數(shù)據(jù)情況直接使用)
3)其他優(yōu)化方法:嵌套子查詢的優(yōu)化腹纳,物化視圖,top-K驱犹,連接極小化嘲恍,多查詢優(yōu)化,參數(shù)化查詢優(yōu)化

事務(wù)


ACID

原子性(Atomicity)雄驹、一致性(Consistency)佃牛、隔離性(Isolation)、持久性(Durability)

事務(wù)狀態(tài)

狀態(tài) 描述
活動的(active) 初始狀態(tài)
部分提交的(partial commited) 最后一條語句執(zhí)行后
失敗的(failed) 發(fā)現(xiàn)不能正常執(zhí)行后
中止的(aborted) 事務(wù)回滾并且恢復(fù)到數(shù)據(jù)庫在事務(wù)執(zhí)行前的狀態(tài)后
提交的(commited) 事務(wù)成功執(zhí)行后

沖突可串行化

I和J是不同事務(wù)在同樣的數(shù)據(jù)項上的操作医舆,如果I俘侠、J中至少有一個是寫操作,則稱I和J是沖突的蔬将。在調(diào)度S中兼贡,如果相鄰的兩條指令沒有沖突,那么可以調(diào)換這兩條指令的順序得到一個等價的新調(diào)度S'娃胆。如果可以通過一系列的指令調(diào)換從當(dāng)前調(diào)度S得到某個串行的調(diào)度S'遍希,那么稱S是沖突可串行化的。

檢測方法:拓?fù)渑判?/p>

可恢復(fù)調(diào)度和無級連調(diào)度

可恢復(fù)調(diào)度:如果事務(wù)Tj讀取了事務(wù)Ti寫的值里烦,那么Tj必須在Ti提交之后提交

無級連調(diào)度:如果事務(wù)Tj讀取了事務(wù)Ti寫的值凿蒜,那么Ti的提交必須在Tj這一讀操作之前

事務(wù)隔離性級別

可串行化,可重復(fù)讀胁黑,已提交讀废封,未提交讀。前三種都只允許讀已提交的數(shù)據(jù)丧蘸,已提交讀不要求同一事務(wù)內(nèi)對同一數(shù)據(jù)項兩次讀的結(jié)果一樣漂洋,只要求讀已提交的數(shù)據(jù)。許多數(shù)據(jù)庫默認(rèn)的隔離性級別就是已提交讀。

并發(fā)控制


鎖的基本概念

共享鎖:事務(wù)T獲得了數(shù)據(jù)Q上的共享鎖刽漂,則T可讀但不可寫Q

排他鎖:事務(wù)T獲得了數(shù)據(jù)Q上的排他鎖演训,則T可以讀也可以寫Q

死鎖的例子,讀寫數(shù)據(jù)項完成后立即釋放鎖可能帶來的不一致現(xiàn)象贝咙,餓死的處理方法

兩階段鎖協(xié)議

該協(xié)議要求事務(wù)按照兩個階段申請/釋放鎖:1)增長階段(growing phase):事務(wù)可以申請鎖样悟,不能釋放鎖;2)縮減階段(shrinking phase):事務(wù)可以釋放鎖庭猩,但不能申請鎖窟她。

封鎖點:遵守兩階段鎖協(xié)議的事務(wù)獲得最后一把鎖后的時間點。

性質(zhì) 解決方案
可串行化 基礎(chǔ)的兩階段鎖協(xié)議就可以保證
死鎖 無法避免蔼水,殺死并回滾其中一個事務(wù)
級聯(lián)回滾 要求排他鎖在事務(wù)提交后方可釋放

變種:嚴(yán)格兩階段鎖協(xié)議震糖,強兩階段鎖協(xié)議,帶鎖升級的兩階段鎖協(xié)議

死鎖處理

分為死鎖預(yù)防趴腋、死鎖檢測/恢復(fù)兩類方案吊说。

死鎖預(yù)防

1)要求事務(wù)開始時申請所有需要的鎖,結(jié)束后統(tǒng)一釋放
2)在數(shù)據(jù)項上強制加上偏序關(guān)系于样,如樹形協(xié)議
3)wait-die協(xié)議:基于非搶占機制疏叨。事務(wù)Ti需要事務(wù)Tj持有的數(shù)據(jù)項時,如果Ti老穿剖,那么Ti等待蚤蔓,否則Ti回滾
4)wound/wait協(xié)議:基于搶占機制。事務(wù)Ti需要事務(wù)Tj持有的數(shù)據(jù)項時糊余,如果Ti年輕秀又,那么Ti等待,否則Tj回滾(Tj被傷害)

死鎖檢測/恢復(fù)

有向圖的環(huán)檢測算法+選擇代價最小的事務(wù)回滾

多粒度

應(yīng)允許事務(wù)在不同粒度的數(shù)據(jù)上加鎖贬芥,如:數(shù)據(jù)庫吐辙、表、記錄蘸劈。這些數(shù)據(jù)可以組織成一棵樹昏苏,每次加鎖時不僅需要給當(dāng)前節(jié)點加鎖,還要給從當(dāng)前節(jié)點到根節(jié)點路徑上的所有節(jié)點加鎖威沫,因此引進(jìn)了3種新的意向鎖:
1)共享型意向鎖(IS):表示當(dāng)前節(jié)點的后代節(jié)點中有共享鎖
2)排他型意向鎖(IX):表示當(dāng)前節(jié)點的后代節(jié)點中有排他鎖
3)共享排他型意向鎖(SIX):表示當(dāng)前節(jié)點為根的子樹顯示加了共享鎖贤惯,在后代節(jié)點持有排他鎖。

兼容性矩陣:

IS IX S SIX X
IS true true true true false
IX true true false false false
S true false true false false
SIX true false false false false
X false false false false false

基于時間戳的協(xié)議

每個事務(wù)T開始執(zhí)行前被賦予一個時間戳TS(T)棒掠,時間戳決定了串行化順序孵构,如果TS(Ti)<TS(Tj),系統(tǒng)需保證產(chǎn)生的調(diào)度等價于事務(wù)Ti在事務(wù)Tj前的某個串行調(diào)度烟很。實現(xiàn)中颈墅,每個數(shù)據(jù)項Q維護(hù)兩個值:
1)W-timestamp(Q):成功執(zhí)行write(Q)的所有事務(wù)的最大時間戳
2)R-timestamp(Q):成功執(zhí)行read(Q)的所有事務(wù)的最大時間戳蜡镶。
事務(wù)根據(jù)自身時間戳和這兩個值決定回滾還是成功執(zhí)行并更新。

性質(zhì) 解決方案
可串行化 基礎(chǔ)的時間戳協(xié)議就可以保證
死鎖 不存在恤筛,但存在餓死
可恢復(fù)性 不能保證
級聯(lián)回滾 可能發(fā)生

Thomas寫規(guī)則與視圖可串行化

Thomas寫規(guī)則:一個事務(wù)T發(fā)出寫請求write(Q)時官还,如果W-timestamp(Q)>TS(T),在基礎(chǔ)時間戳協(xié)議中叹俏,事務(wù)T需要回滾妻枕。Thomas寫規(guī)則認(rèn)為此時的寫操作可以直接忽略僻族。對于任何事務(wù)T'粘驰,如果TS(T')<W-timestamp(Q),則應(yīng)當(dāng)回滾述么,如果TS(T')>W-timestamp(Q)蝌数,應(yīng)當(dāng)看到的Q應(yīng)當(dāng)是W-timestamp(Q)對應(yīng)事務(wù)的寫結(jié)果,而不是事務(wù)T中寫操作的結(jié)果度秘。

Thomas寫規(guī)則得到的調(diào)度不是沖突可串行化的顶伞,但是視圖可串行化的,簡而言之剑梳,兩個調(diào)度中每個事務(wù)都讀取相同的值唆貌,最后寫的結(jié)果一致,那就是視圖等價的垢乙。下面這個調(diào)度和串行調(diào)度<T1, T2>是視圖等價的锨咙,而不是沖突等價的:

T1            T2
read(Q)
              write(Q)
write(Q)

基于有效性檢查的協(xié)議

每個事務(wù)分為三階段執(zhí)行:1)讀階段,事務(wù)讀入局部變量追逮,寫操作只對局部變量進(jìn)行酪刀;2)有效性檢查階段;3)通過檢查的事務(wù)把結(jié)果寫回钮孵,否則事務(wù)執(zhí)行失敗骂倘。
根據(jù)步驟2)開始的時間TS(T)排序,得到一個等價的串行化調(diào)度巴席,在檢驗中历涝,滿足TS(Ti)<TS(Tj)的事務(wù)必須滿足兩個條件之一:
1)Tj開始讀階段前,Ti已經(jīng)寫回漾唉;2)Ti的寫階段在Tj的檢驗開始之前完成荧库,并且Ti寫的內(nèi)容和Tj讀的內(nèi)容不相交。

性質(zhì) 解決方案
可串行化 可以保證
死鎖 不存在毡证,但存在餓死
可恢復(fù)性 可以保證
級聯(lián)回滾 可以保證

多版本協(xié)議

每個數(shù)據(jù)項有一個版本序列 <Q1, Q2,..., Qn>电爹,每一項包含三個屬性:
1)這個版本的值;2)W-timestamp(Qi)料睛,創(chuàng)建這個版本的事務(wù)時間戳丐箩;3)R-timestamp(Qi)讀過這個版本的最大事務(wù)時間戳

優(yōu)勢:讀操作從不失敗并且不等待

劣勢:引入了額外的R-timestamp更新摇邦;事務(wù)間的沖突完全靠回滾而沒有等待解決。

多版本兩階段鎖協(xié)議

將事務(wù)分為只讀事務(wù)和更新事務(wù)屎勘,只讀事務(wù)不需要鎖施籍,直接讀創(chuàng)建時間戳小于自己時間戳的版本值;更新事務(wù)在讀操作時概漱,需要加共享鎖丑慎,在寫操作時,需要加排他鎖瓤摧,并創(chuàng)建一個時間戳為正無窮的版本竿裂,在更新事務(wù)提交后,再把時間戳改為自己的時間戳照弥。這樣相當(dāng)于確保了寫操作在最后執(zhí)行腻异。因而可恢復(fù),無級聯(lián)这揣。

恢復(fù)系統(tǒng)


日志

事務(wù)Ti開始:<Ti start>悔常;事務(wù)修改了數(shù)據(jù)項A:<Ti, A, old value, new value>;事務(wù)提交:<Ti commit>给赞;事務(wù)undo結(jié)束:<Ti abort>

系統(tǒng)崩潰后机打,在恢復(fù)時會根據(jù)日志執(zhí)行redo和undo行為,redo把數(shù)據(jù)項更新為new value片迅,undo把數(shù)據(jù)項恢復(fù)成old value残邀。給定一份日志,對于有<Ti start>/<Ti commit>或<Ti start>/<Ti abort>對的事務(wù)障涯,執(zhí)行redo罐旗,對于只有<Ti start>的事務(wù)執(zhí)行undo,undo時會寫新的日志唯蝶,以<Ti abort>結(jié)束九秀。

檢查點

檢查點是為了避免每次掃描所有日志,產(chǎn)生大量不必要的redo粘我。樸素檢查點的做法是:
1)把所有位于內(nèi)存的日志輸出到穩(wěn)定存儲中鼓蜒;
2)把所有緩沖塊的內(nèi)容輸出到穩(wěn)定存儲中;
3)記錄所有當(dāng)前活躍的事務(wù)列表L征字,在日志中寫入<checkpoint L>都弹;
下次恢復(fù)時,只需要恢復(fù)L中的所有事務(wù)匙姜,以及所有在寫入<checkpoint L>后開始的事務(wù)畅厢;
舉例:日志中所有事務(wù)的集合是{T1, T2, ..., T10},最后一次檢查點內(nèi)容為<checkpoint T7 T9>氮昧,那么下次系統(tǒng)重啟只需要恢復(fù){T7, T9, T10}框杜,并且可以清除T1-T6所有的日志內(nèi)容

樸素檢查點要求在檢查點執(zhí)行過程中浦楣,事務(wù)不能再往主存中寫入新的日志和數(shù)據(jù)項。
模糊檢查點放寬了這一要求咪辱,因為步驟2)可能非常耗時振劳。模糊檢查點策略中先寫checkpoint日志,再進(jìn)行緩沖塊輸出油狂,在輸出過程中历恐,允許事務(wù)更新那些不相關(guān)的緩沖塊。這樣的問題在于如果在2)步驟發(fā)生故障专筷,checkpoint記錄的L列表有可能是不完全的弱贼,因此引入了一個last_checkpoint指針,它指向最后一個完成步驟2)的checkpoint位置仁堪。

并行數(shù)據(jù)庫

架構(gòu):Share-memory哮洽,Share-disk填渠,Share-nothing

數(shù)據(jù)劃分方式:

方法名 優(yōu)點
range partition 快速等值連接弦聂,區(qū)間查詢,group-by操作
hash partition 快速等值連接氛什,group-by操作
round robin partition 負(fù)載均衡

range-partition的問題主要在數(shù)據(jù)傾斜上莺葫,可以用直方圖等統(tǒng)計信息幫助均衡

并行的數(shù)據(jù)庫操作:
1)選擇:如果數(shù)據(jù)劃分依據(jù)查詢的屬性,那么只要找相關(guān)的節(jié)點就可以了枪眉,否則并行的查找所有的捺檬;
2)排序:range-partition sort,parallel external merge-sort
3)連接:等值常采用hash join贸铜,非等值的采用fragment-and-replicate join

練習(xí)


1. 哈希連接和歸并連接分別在什么情況下效率更高

:哈希連接和排序歸并連接在時間復(fù)雜度上相同堡纬,但是哈希連接需要的內(nèi)存更小。因此大部分情況下哈希連接更有效蒿秦,但排序歸并連接在以下情況更有效:
1)輸入表有序烤镐;2)要求輸出表有序;3)非等值連接棍鳖;4)哈希中數(shù)據(jù)偏斜嚴(yán)重

2. 舉一個啟發(fā)式規(guī)則:“盡早做選擇操作”失效的例子

:考慮查詢:σ_θ(R?S)炮叶,θ是R表的屬性,滿足下面兩個條件時渡处,先在R上做選擇操作未必能加速查詢:
1)R表比S表小很多镜悉;2)R表的θ屬性上沒有索引,但是R和S的連接屬性上有索引医瘫。

3. 結(jié)合一個簡單事務(wù)說明ACID特性的含義及保證措施:

T1: Read(A)
    A := A - 50
    Write(A)
    Read(B)
    B := B - 50
    Write(B)

:一致性在本例中指A+B在事務(wù)執(zhí)行前后不會改變侣肄。如果本例理解為銀行過戶行為,一致性要求余額不會憑空產(chǎn)生或消失醇份。一致性是由編寫事務(wù)的程序員保證的稼锅;

原子性是指事物要么不執(zhí)行叮喳,要么所有操作全部執(zhí)行。原子性的保證是由恢復(fù)系統(tǒng)保證的缰贝,對于事務(wù)中要寫的數(shù)據(jù)馍悟,log中會記錄事務(wù)發(fā)生前的值,如果事務(wù)未能完全執(zhí)行剩晴,需要恢復(fù)系統(tǒng)根據(jù)log恢復(fù)锣咒;

持久性是指一旦事務(wù)成功執(zhí)行,任何系統(tǒng)故障都不能導(dǎo)致這次事務(wù)執(zhí)行的結(jié)果丟失赞弥。持久性同樣是由恢復(fù)系統(tǒng)保證毅整,事務(wù)成功執(zhí)行后,要么結(jié)果已經(jīng)寫回磁盤绽左,要么相關(guān)的更新信息寫回磁盤悼嫉,下次系統(tǒng)啟動時可以根據(jù)這些信息重新執(zhí)行事務(wù);

隔離性是指單個事務(wù)的執(zhí)行不應(yīng)該收到其他事務(wù)影響拼窥。隔離性是由并發(fā)控制系統(tǒng)保證的戏蔑,必須保證多個事務(wù)并發(fā)執(zhí)行的效果等價于某個串行事務(wù)序列執(zhí)行的效果。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鲁纠,一起剝皮案震驚了整個濱河市总棵,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌改含,老刑警劉巖情龄,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異捍壤,居然都是意外死亡骤视,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進(jìn)店門鹃觉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來专酗,“玉大人,你說我怎么就攤上這事帜慢×眩” “怎么了?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵粱玲,是天一觀的道長躬柬。 經(jīng)常有香客問我,道長抽减,這世上最難降的妖魔是什么允青? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮卵沉,結(jié)果婚禮上颠锉,老公的妹妹穿的比我還像新娘法牲。我一直安慰自己,他們只是感情好琼掠,可當(dāng)我...
    茶點故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布拒垃。 她就那樣靜靜地躺著,像睡著了一般瓷蛙。 火紅的嫁衣襯著肌膚如雪悼瓮。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天艰猬,我揣著相機與錄音横堡,去河邊找鬼。 笑死冠桃,一個胖子當(dāng)著我的面吹牛命贴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播食听,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼胸蛛,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了碳蛋?” 一聲冷哼從身側(cè)響起胚泌,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎肃弟,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體零蓉,經(jīng)...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡笤受,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了敌蜂。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片箩兽。...
    茶點故事閱讀 39,731評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖章喉,靈堂內(nèi)的尸體忽然破棺而出汗贫,到底是詐尸還是另有隱情,我是刑警寧澤秸脱,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布落包,位于F島的核電站,受9級特大地震影響摊唇,放射性物質(zhì)發(fā)生泄漏咐蝇。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一巷查、第九天 我趴在偏房一處隱蔽的房頂上張望有序。 院中可真熱鬧抹腿,春花似錦、人聲如沸旭寿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽盅称。三九已至房蝉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間微渠,已是汗流浹背搭幻。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留逞盆,地道東北人檀蹋。 一個月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像云芦,于是被迫代替她去往敵國和親俯逾。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,629評論 2 354

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