Skip to Content

什麼是資料庫 ACID?

ACID 是資料庫四大特性的縮寫:原子性、一致性、隔離性與耐久性。它通常與關聯式資料庫有關,但 NoSQL(非關聯式)資料庫也可以遵循 ACID 規則。ACID 交易在市場上許多常見的資料庫引擎中很常見,它們可確保讀寫動作不會干擾資料的完整性。

什麼是資料庫 ACID?

遵循 ACID 最佳實務的資料庫具有以下特性:

  • 原子性:防止資料遺失、孤立的記錄,以及部分原子化交易。具有原子性的資料庫提供“全部或完全”的交易,這樣一來,如果交易的一部分在中途失敗,您就不會遺失資料。
  • 一致性:ACID 資料庫的表格限制要求所有交易都以一致的格式儲存資料。
  • 隔離:ACID 資料庫透過隔離資料和逐一執行交易,確保交易不會回傳髒的讀寫資料。
  • 耐用性:系統故障(例如停電)會干擾交易,因此 ACID 資料庫可確保故障轉移能防止關鍵事件造成資料遺失。

原子性

現代資料庫交易有超過一個步驟可以完成記錄。例如,客戶可能會建立訂單,因此儲存的程序會使用 INSERT 陳述式將記錄加入訂單和 products_ordered 表格中。如果新增記錄至訂單表格失敗,則您不想新增記錄至 products_ordered 表格。這會建立孤立的記錄。

借助原子學,資料庫會在故障時復原所有交易,以維持資料一致性並避免毀損。只有在交易中的所有步驟都成功完成時,才會儲存資料。Atomicity 可避免資料毀損、資料遺失和孤立的記錄。

一致性

關聯式資料庫有限制,只允許儲存特定類型的資料。NoSQL 資料庫以自己的設定格式儲存資料。例如,如果您指定只能將十進位數字儲存在順序總計欄中,則嘗試儲存字串將導致失敗。維持資料的一致性,讓開發人員在使用資料集時能享有已知的價值。

資料庫的一致性意味著資料可以預測,這意味著如果您為任何特定記錄提取資料,就會得到預期結果。使用順序表範例,您知道若查詢從順序總計欄中擷取數值,您將會收到十進位值。

隔離

當使用者在特定時間點執行查詢時,資料庫也會對數值進行變更時,就會發生讀髒寫。例如,如果您想知道當月所有訂單的總額,當您在訂單總額更新時讀取資料,可能會得到不正確的結果。如果資料是在前一個更新聲明可以執行之前讀取的,寫入動作也會發生同樣的情況。 

骯髒的讀寫資料可能會損壞資料,並破壞資料完整性。獨立交易會逐一執行對帳單,因此即使每天交易數以百萬計,資料仍能維持一致、不中斷。隔離的交易可以鎖定記錄、進行變更,然後放行下次交易的記錄。

耐用性

即使系統故障,結構化和非結構化資料庫仍必須在交易完成後持續永久儲存資料。交易日誌和基礎架構故障也必須實施,但資料庫本身必須能夠持續儲存資料,且不會造成任何資料毀損。資料庫引擎有自己的策略和故障轉移技術,但管理員必須能夠依靠它們來復原資料。

例如,停電可能會中斷交易。無論管理員需要復原交易或復原資料,資料庫都必須能夠處理故障。對於大多數管理員而言,故障轉移也以備份和備援方式處理。ACID 可協助組織制定更大規模的災害復原策略。 

結論

任務關鍵型資料庫需要 ACID 屬性來支援企業應用程式。ACID 特性對於資料完整性至關重要,可確保您的資料能夠被任意數量的應用程式擷取和使用。管理員仍需備份,確保資料庫伺服器運作順暢,但擁有 ACID 屬性對於業務永續性至關重要。

11/2024
Pure Storage Cloud for Azure VMware Solution
Shrink your Azure VMware costs with Pure Storage Cloud, a suite of enterprise-grade data services by Pure Storage.
解決方案簡介
4 頁面
聯繫我們
問題或建議

如對Pure的產品或認證,有任何的疑問或建議,歡迎與我們聯繫!

預約試用

預約現場示範,親眼看看 Pure 如何幫助您將資料轉化為強大的成果。 

聯絡我們:886-2-3725-7989

媒體:pr@purestorage.com

 

Pure Storage總部

34F, Taipei Nanshan Plaza,

No. 100, Songren Road,

Xinyi District,

Taipei City 110016

Taiwan (R.O.C.)

800-379-7873 (一般資訊)

info@purestorage.com

關閉
您的瀏覽器已不受支援!

較舊版的瀏覽器通常存在安全風險。為讓您使用我們網站時得到最佳體驗,請更新為這些最新瀏覽器其中一個。