資料庫的可靠性

2021-10-23 14:20:53 字數 748 閱讀 3301

一.併發控制與封鎖

(一)事務

1.定義

事務是資料庫系統中執行的乙個工作單位,它是由使用者定義的一組操作序列。乙個事務可以是一組sql語句、一條sql語句或整個程式,乙個應用程式可以包括多個事務。 dbms的併發控制是以事務為基本單位進行的

2.特徵

(二)併發操作與資料的不一致性

1.丟失更新

當兩個事務t1和t2讀入同一資料,併發執行修改操作時,t2把t1或t1把t2的修改結果覆蓋掉,造成了資料的丟失更新問題,導致資料的不一致。

2.汙讀

事務t1更新了資料r,事務t2讀取了更新後的資料r,事務t1由於某種原因被撤銷,修改無效,資料r恢復原值。事務t2得到的資料與資料庫的內容不一致,這種情況稱為「汙讀」。

3.不可重讀

事務t1讀取了資料r,事務t2讀取並更新了資料r,當事務t1再讀取資料r以進行核對時,得到的兩次讀取值不一致,這種情況稱為「不可重讀」。

(三) 封鎖

封鎖就是當乙個事務在對某個資料物件進行操作之前,必須獲得相應的鎖,以保證資料操作的正確性和一致性

1.封鎖型別

2.封鎖協議

二.資料庫的恢復

原理:資料冗餘

恢復系統應該提供兩種型別的功能:一種是生成冗餘資料,即對可能發生的故障做某些準備;另一種是冗餘重建,即利用這些冗餘資料恢復資料庫。生成冗餘資料最常用的技術是登記日誌檔案和資料轉儲,在實際應用中,這兩種方法常常結合在一起使用。

登記日誌檔案必須遵循以下兩條規則:

Spark Streaming的資料可靠性和一致性

spark streaming自發布起就得到了廣泛的關注,然而作為乙個年輕的專案,需要提公升的地方同樣很多,比如1.2之前版本driver掛掉可能會丟失資料。這裡將分析它的可靠性機制。眼下大資料領域最熱門的詞彙之一便是流計算了,其中最耀眼的專案無疑是來自spark社群的spark streaming...

可靠性測試學習 可靠性測試理解

最近測試可靠性,參考了業界的一些思維,有些想法和建議 先說說軟體可靠性的定義,根據我測試的體會和思考,我覺得軟體的可靠性就是軟體系統發生故障後自動恢復或者人工干預使其能恢復到正常狀態的能力 業界的測試有些把容錯測試和可靠性測試搞混淆,其實兩者不一樣,容錯測試是通過模擬一些可能發生的已知的異常操作而檢...

產品可靠性

產品可靠性 影響產品可靠性的三個方面 1.電應力 2.機械應力 3.環境應力。下面從上述三個方面展開講述。應力 專案 內容 備註電應力 物料 1.pcb 商 2.pcb抽檢 3.元器件選型 元器件選型指導書 4.採購渠道 商資質a b c類 5.儲存 msl 6.領料 原理設計 1.電路方案 2.電...