資料庫 事務處理的概念和理論簡介

2021-08-29 23:46:44 字數 1396 閱讀 3928

在看這一部分內容之前,我對資料庫一些基礎概念和基礎操作的認識十分淺薄,也沒有一些資料庫管理的經驗,因此當學這一部分的時候遇到了賊多理解上的誤區和困難。難受。。。但是我已經沒有時間先從頭仔細學習資料庫基礎再學這一部分了,因此只能在泥濘中前行。即使在本文結束之前,好多概念我還是以猜測的方式去理解,因此肯定會有很多錯誤,請有緣人指正。

在上面博文的基礎上,我想說明事務的四大特性是其理想屬性,在併發控制的排程中我們的原則就是遵循事務的四大特性,但是難免會出現違反特性的情況,因此就需要採取正確的方法進行併發控制。

在多使用者系統中事務的併發執行意味著事務存在同一資料資源的可能性,即可能會發生資料衝突,並產生一系列意想不到的錯誤。但是事務可以併發執行的確可以加快整個系統的執行效率,因此有必要對事務的併發執行做出控制,使之得到令人期望的效果。

討論這些故障的原因不言而喻。在設計資料庫系統時必須提前想到盡可能多的故障型別並根據需要對其中的故障型別提前準備好應對措施,盡可能的降低損失。

首先需要明白資料項的讀寫操作是發生在記憶體和磁碟之間,從磁碟到記憶體的資料傳輸基本單元是塊,記憶體中組織形勢是頁。在資料庫系統磁碟檔案管理模組中要注意兩者的聯絡與區別。

找到包含資料項x的磁碟塊位址。

將磁碟塊複製到記憶體的乙個緩衝區頁面中。

將資料項x從緩衝區複製到名為x的程式變數中去。

找到包含資料項x的磁碟位址。

將磁碟塊複製到記憶體的乙個緩衝區頁面中。

將資料項x從程式變數x中複製到它在緩衝區的正確位置。

將更新後的塊從緩衝區寫回到磁碟中。

日誌是一些儲存在磁碟上的文字檔案,單純的用來記錄事務的一些操作。在記憶體緩衝區中有一部分內容用來記錄最晚的日誌內容,等到用於日誌快取的緩衝區滿或者達到其他條件時就將這部分內容追加到磁碟的文字內容中。一些典型的日誌記錄如下所示:

衝突就是當事務按照不同的次序執行的時候最終得到的不同的結果,這就叫做衝突。

這個很簡單,並沒有什麼理解上的障礙。。。所以不寫了。

可以這樣理解:可序列化保證事務的排程是正確的,如果設計的併發控制協議保證了可序列化,那麼就可以保證事務排程的正確性。在這裡事務排程的正確性就是指可以保證事務的acid特性。其中可序列化包括衝突可序列化和檢視可序列化,**乙個排程是否為衝突可序列化在實際中不可行,因為受到的影響因素太多;而檢測是否是檢視可序列化的演算法又被證明是np難的問題,所以呀,在實際中都是通過設計一定的併發控制協議來保證排程的衝突可序列性或者檢視可序列性,從而來保證事務的acid特性。

在實際中很難在乙個排程執行之前就可以做出其是否可行性的判斷。因此,實際中都是設定一定的協議或者演算法來保證排程是可序列性的。

事務處理 資料庫事務

事務簡介 事務的作用 事務的作用是將一系列操作作為乙個整體,一但其 現問題,會回滾到事務的開始狀態。即事務維護了資料的完整性和一致性。事務的四個特性 acid 原子性 事務的操作是原子不可分割的。一致性 事務的運算元據保證一致性,不存在一部分改變一部分不改變。隔離性 隔離性是當多個使用者併發訪問資料...

資料庫的事務處理

事務是這樣一種機制,它確保多個sql語句被當作單個工作單 元來處理。事務具有以下的作用 事務是完整性的單位,乙個事務的執行是把資料庫從乙個一 致的狀態轉換成另乙個一致的狀態。因此,如果事務孤立執行時 是正確的,但如果多個事務併發交錯地執行,就可能相互干擾,造成資料庫狀態的不一致。在多使用者環境中,資...

事務處理(二) 資料庫事務

事務的作用是將一系列操作作為乙個整體,一但其中出現問題,會回滾到事務的開始狀態。即事務維護了資料的完整性和一致性。如果不考慮隔離性,事務會出現以下問題。髒讀又稱無效資料的讀出,是指在資料庫訪問中,事務t1將某一值修改,然後事務t2讀取該值,此後t1因為某種原因撤銷對該值的修改,這就導致了t2所讀取到...