婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 數(shù)據(jù)庫的ACID特性術(shù)語詳解

數(shù)據(jù)庫的ACID特性術(shù)語詳解

熱門標(biāo)簽:城市地圖標(biāo)志怎么標(biāo)注 西安電話自動外呼系統(tǒng) 長沙外呼系統(tǒng)平臺 怎么修改高德地圖標(biāo)注 硅基電話機器人官網(wǎng) 合肥crm外呼系統(tǒng)加盟 美國地圖標(biāo)注軟件下載 漯河電銷回?fù)芡夂粝到y(tǒng) 電話機器人怎么看余額

ACID就是:原子性(Atomicity )、一致性( Consistency )、隔離性( Isolation)和持久性(Durabilily)。

1. 原子性

原子性屬性用于標(biāo)識事務(wù)是否完全地完成,一個事務(wù)的任何更新要在系統(tǒng)上完全完成,如果由于某種原因出錯,事務(wù)不能完成它的全部任務(wù),系統(tǒng)將返回到事務(wù)開始前的狀態(tài)。

讓我們再看一下銀行轉(zhuǎn)帳的例子。如果在轉(zhuǎn)帳的過程中出現(xiàn)錯誤,整個事務(wù)將會回滾。只有當(dāng)事務(wù)中的所有部分都成功執(zhí)行了,才將事務(wù)寫入磁盤并使變化永久化。

為了提供回滾或者撤消未提交的變化的能力,許多數(shù)據(jù)源采用日志機制。例如,SQL Server使用一個預(yù)寫事務(wù)日志,在將數(shù)據(jù)應(yīng)用于(或提交到)實際數(shù)據(jù)頁面前,先寫在事務(wù)日志上。但是,其他一些數(shù)據(jù)源不是關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),它們管理未提交事務(wù)的方式完全不同。只要事務(wù)回滾時,數(shù)據(jù)源可以撤消所有未提交的改變,那么這種技術(shù)應(yīng)該可用于管理事務(wù)。

2. 一致性

事務(wù)在系統(tǒng)完整性中實施一致性,這通過保證系統(tǒng)的任何事務(wù)最后都處于有效狀態(tài)來實現(xiàn)。如果事務(wù)成功地完成,那么系統(tǒng)中所有變化將正確地應(yīng)用,系統(tǒng)處于有效狀態(tài)。如果在事務(wù)中出現(xiàn)錯誤,那么系統(tǒng)中的所有變化將自動地回滾,系統(tǒng)返回到原始狀態(tài)。因為事務(wù)開

始時系統(tǒng)處于一致狀態(tài),所以現(xiàn)在系統(tǒng)仍然處于一致狀態(tài)。

再讓我們回頭看一下銀行轉(zhuǎn)帳的例子,在帳戶轉(zhuǎn)換和資金轉(zhuǎn)移前,帳戶處于有效狀態(tài)。如果事務(wù)成功地完成,并且提交事務(wù),則帳戶處于新的有效的狀態(tài)。如果事務(wù)出錯,終止后,帳戶返回到原先的有效狀態(tài)。

記住,事務(wù)不負(fù)責(zé)實施數(shù)據(jù)完整性,而僅僅負(fù)責(zé)在事務(wù)提交或終止以后確保數(shù)據(jù)返回到一致狀態(tài)。理解數(shù)據(jù)完整性規(guī)則并寫代碼實現(xiàn)完整性的重任通常落在開發(fā)者肩上,他們根據(jù)業(yè)務(wù)要求進(jìn)行設(shè)計。

當(dāng)許多用戶同時使用和修改同樣的數(shù)據(jù)時,事務(wù)必須保持其數(shù)據(jù)的完整性和一致性。因此我們進(jìn)一步研究A C I D特性中的下一個特性:隔離性。

3. 隔離性

在隔離狀態(tài)執(zhí)行事務(wù),使它們好像是系統(tǒng)在給定時間內(nèi)執(zhí)行的唯一操作。如果有兩個事務(wù),運行在相同的時間內(nèi),執(zhí)行相同的功能,事務(wù)的隔離性將確保每一事務(wù)在系統(tǒng)中認(rèn)為只有該事務(wù)在使用系統(tǒng)。

這種屬性有時稱為串行化,為了防止事務(wù)操作間的混淆,必須串行化或序列化請求,使得在同一時間僅有一個請求用于同一數(shù)據(jù)。

重要的是,在隔離狀態(tài)執(zhí)行事務(wù),系統(tǒng)的狀態(tài)有可能是不一致的,在結(jié)束事務(wù)前,應(yīng)確保系統(tǒng)處于一致狀態(tài)。但是在每個單獨的事務(wù)中,系統(tǒng)的狀態(tài)可能會發(fā)生變化。如果事務(wù)不是在隔離狀態(tài)運行,它就可能從系統(tǒng)中訪問數(shù)據(jù),而系統(tǒng)可能處于不一致狀態(tài)。通過提供事

務(wù)隔離,可以阻止這類事件的發(fā)生。

在銀行的示例中,這意味著在這個系統(tǒng)內(nèi),其他過程和事務(wù)在我們的事務(wù)完成前看不到我們的事務(wù)引起的任何變化,這對于終止的情況非常重要。如果有另一個過程根據(jù)帳戶余額進(jìn)行相應(yīng)處理,而它在我們的事務(wù)完成前就能看到它造成的變化,那么這個過程的決策可能

建立在錯誤的數(shù)據(jù)之上,因為我們的事務(wù)可能終止。這就是說明了為什么事務(wù)產(chǎn)生的變化,直到事務(wù)完成,才對系統(tǒng)的其他部分可見。

隔離性不僅僅保證多個事務(wù)不能同時修改相同數(shù)據(jù),而且能夠保證事務(wù)操作產(chǎn)生的變化直到變化被提交或終止時才能對另一個事務(wù)可見,并發(fā)的事務(wù)彼此之間毫無影響。這就意味著所有要求修改或讀取的數(shù)據(jù)已經(jīng)被鎖定在事務(wù)中,直到事務(wù)完成才能釋放。大多數(shù)數(shù)據(jù)庫,例如SQL Server以及其他的RDBMS,通過使用鎖定來實現(xiàn)隔離,事務(wù)中涉及的各個數(shù)據(jù)項或數(shù)據(jù)集使用鎖定來防止并發(fā)訪問。

4. 持久性

持久性意味著一旦事務(wù)執(zhí)行成功,在系統(tǒng)中產(chǎn)生的所有變化將是永久的。應(yīng)該存在一些檢查點防止在系統(tǒng)失敗時丟失信息。甚至硬件本身失敗,系統(tǒng)的狀態(tài)仍能通過在日志中記錄事務(wù)完成的任務(wù)進(jìn)行重建。持久性的概念允許開發(fā)者認(rèn)為不管系統(tǒng)以后發(fā)生了什么變化,完成的事務(wù)是系統(tǒng)永久的部分。

您可能感興趣的文章:
  • CI框架入門示例之?dāng)?shù)據(jù)庫取數(shù)據(jù)完整實現(xiàn)方法
  • CI配置多數(shù)據(jù)庫訪問的方法
  • CI使用Tank Auth轉(zhuǎn)移數(shù)據(jù)庫導(dǎo)致密碼用戶錯誤的解決辦法
  • php中CI操作多個數(shù)據(jù)庫的代碼
  • CI框架中redis緩存相關(guān)操作文件示例代碼
  • php CI框架插入一條或多條sql記錄示例
  • CI框架中數(shù)據(jù)庫操作函數(shù)$this->db->where()相關(guān)用法總結(jié)

標(biāo)簽:瀘州 撫順 文山 廣西 玉溪 吉林 濟(jì)源 商洛

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《數(shù)據(jù)庫的ACID特性術(shù)語詳解》,本文關(guān)鍵詞  數(shù)據(jù)庫,的,ACID,特性,術(shù)語,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《數(shù)據(jù)庫的ACID特性術(shù)語詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于數(shù)據(jù)庫的ACID特性術(shù)語詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 海门市| 绍兴县| 湖北省| 乌鲁木齐市| 潼关县| 肃北| 上栗县| 巫溪县| 裕民县| 公主岭市| 玛曲县| 沂南县| 石城县| 宜春市| 深水埗区| 东城区| 义马市| 杭锦旗| 崇义县| 临沧市| 横峰县| 陇西县| 陵水| 溧阳市| 岑溪市| 南雄市| 类乌齐县| 乡宁县| 安达市| 沙湾县| 会宁县| 赣榆县| 望城县| 璧山县| 贞丰县| 雷山县| 文水县| 合作市| 湛江市| 当涂县| 西乌珠穆沁旗|