老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

數據庫事務隔離的級別-創新互聯

本篇內容介紹了“數據庫事務隔離的級別”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

成都創新互聯長期為千余家客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為甘州企業提供專業的成都網站設計、網站制作、外貿營銷網站建設,甘州網站改版等技術服務。擁有十余年豐富建站經驗和眾多成功案例,為您定制開發。

1 概述與背景

這是數據庫事務原理和工程實踐系列文章的第一篇,本文主要在Jim Gray的論文基礎上分析關系數據庫的事務隔離級別標準和不同隔離級別情況下的行為。第2節主要討論ANSI標準的下的隔離級別,第3節主要討論基于悲觀鎖實現的事務隔離級別,第4節主要討論基于多版本技術的事務隔離,最后總結排序本文討論到的各個隔離級別。

ACID是關系數據庫的一組重要特性,其中Isolation(隔離性)描述了數據庫允許多個并發事務同時對其數據進行讀寫和修改的能力,隔離性可以防止多個事務并發時由于交錯執行而導致數據的不一致。在最極端的情況下,數據庫完全串行化執行每一個事務,所有事務之間遵守全序關系,在這種情況下,不存在并發事務間的隔離問題,但是在實際工程實踐中,處于對數據庫性能吞吐量的考慮,允許多個事務之間按照一定的規則,打破串行話的全序關系,ANSI SQL Isolation Levels即規定了這種“規則”,通過將隔離性劃分為4個級別,來換取多層級的事務間并發能力(即數據庫的吞吐能力)。

注,本文內容融入了作者個人的理解,并沒有嚴格遵守原文的內容;其中cursor stability隔離級別將在后續文章中討論,快照隔離級別與ANSI標準異象的比較也有所不同。

2 ANSI事務隔離級別

ANSI SQL-92標準(http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt)將數據庫并發事務間的隔離性行為劃分為3種"異象(phenomena)",從低到高的自然語言定義依次為:

  1. P1 臟讀 ("Dirty read"): SQL-transaction T1 modifies a row. SQL- transaction T2 then reads that row before T1 performs a COMMIT. If T1 then performs a ROLLBACK, T2 will have read a row that was never committed and that may thus be considered to have never existed. 

  2. P2 不可重復讀 ("Non-repeatable read"): SQL-transaction T1 reads a row. SQL- transaction T2 then modifies or deletes that row and performs a COMMIT. If T1 then attempts to reread the row, it may receive the modified value or discover that the row has been deleted. 

  3. P3 幻讀 ("Phantom"): SQL-transaction T1 reads the set of rows N that satisfy some . SQL-transaction T2 then executes SQL-statements that generate one or more rows that satisfy the used by SQL-transaction T1. If SQL-transaction T1 then repeats the initial read with the same , it obtains a different collection of rows.

通過依次禁止這三種異象,ANSI確定了4種標準隔離級別,如下表所示:

級別P1(臟讀)P2(不可重復讀)P3(幻讀)
Read Uncommitted允許允許允許
Read Committed禁止允許允許
Repeatable Read禁止
禁止
允許
(Anomaly) Serializable禁止
禁止
禁止
Note: The exclusion of these penomena or SQL-transactions executing at isolation level SERIALIZABLE is a consequence of the requirement that such transactions be serializable.

如標準文檔所述,禁止了P1/P2/P3異象的事務即滿足Serializable級別,但矛盾的是,標準文檔中對Serializable又做了如下說明:

The execution of concurrent SQL-transactions at isolation level SERIALIZABLE is guaranteed to be serializable. A serializable execution is defined to be an execution of the operations of concurrently executing SQL-transactions that produces the same effect as some serial execution of those same SQL-transactions

它要求多個并發事務執行的效果與某種串行化執行的效果一致,但是僅僅禁止P1/P2/P3異象,并不一定能夠保證“serial execution”的效果,因此論文中將ANSI Serializable稱為Anomaly Serializable。

P1/P2/P3的形式化描述

根據標準文檔的定義,可以將這三種異象使用形式化語言描述如下,稱為A1/A2/A3(其中w1[x]表示事務1寫入記錄x,r1表示事務1讀取記錄x,c1表示事務1提交,a1表示事務1回滾,r1[P]表示事務1按照謂詞P的條件讀取若干條記錄,w1[y in P]表示事務1寫入記錄y滿足謂詞P的條件):

上述A1/A2/A3形式化描述,根據標準定義的P1/P2/P3異象的自然語言描述轉化而來,但是ANSI標準定義的異象只針對了單個記錄或謂詞描述,對于多條記錄需滿足業務一致性的場景并未能覆蓋(比如兩個賬戶間轉賬要求余額總和不變),舉例如下:

“數據庫事務隔離的級別”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注創新互聯-成都網站建設公司網站,小編將為大家輸出更多高質量的實用文章!


標題名稱:數據庫事務隔離的級別-創新互聯
當前鏈接:
http://www.xueling.net.cn/article/ceodpg.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 国产成人无码精品久久久免费 | 亚洲天堂岛国片 | 精品无人区一码卡二卡三 | 一级片免费无码 | 青青草午夜色影院 | 成人春色在线观看免费网站 | 国产精品探花一区在线观看 | 日本精品久久久久影院 | 精品深夜AV无码一区二区 | 久久人人妻人人爽人人卡片av | 97精品 | 国产成人一二三 | 国产在线播放观看 | 日韩黄色影视 | 日本美国大片免费视频播放器 | 国产精品白丝久久av网站 | 国产精品99久久久久久人红楼 | 久久久女人与动物群交毛片 | 影视免费观看 | 日韩中文第一页 | 日韩少妇内射免费播放18禁裸乳 | 色播播网| 国产精品亚洲无码在线 | 日韩中文字幕视频 | 欧美国产麻豆 | 天天操天天爱天天干 | 一级做a爰性色毛片免费视频 | 性爱视频在线播放 | 国产亚洲无线码一区二区 | 99久久久国产精品免费四虎 | 亚洲欧美一区二区精品久久久 | 天堂中文最新版在线官网在线 | 永久免费不卡在线观看黄网站 | 99国产精品热久久久久久 | 婷婷丁香亚洲色综合91 | 国产口爆吞精免费视频 | 国产精品人妻99一区二区三区 | 亚洲tv久久爽久久爽 | 少妇性饥渴BBBBB搡BBBB | 亚洲一卡一卡二新区无人区 | av中文字幕在线观看 |