iT邦幫忙

2021 iThome 鐵人賽

DAY 21
0
DevOps

中台化轉型系列 第 21

分散式資料庫:分散式理論

  • 分享至 

  • xImage
  •  

分區容錯性(Partition Tolerance)是分散式資料庫最重要的特性,"BASE理論"以"最終一致性(Eventual consistency)"替代"强一致性(Strict Consistency)"獲得了高可用性及高擴展性,是分散式資料庫的基本思想。

  • ACID
    • 原子性(Atomicity)
      強調交易的不可分割性,交易中的多個操作要嘛全部成功,要嘛全部失敗回到上一個一致性狀態。
    • 一致性(Consistency)
      資料異動的基本是交易,在完整的交易流程中,資料庫的完整約束沒有被破壞。
    • 隔離性(Isolation)
      提供"可序列化"和"可恢復性",確保平行交易之間不會互相影響,防止資料不一致性發生。
      • 平行錯誤
        • 髒讀(Dirty reads)
          較早的更新可能出現在後來更新之前的結果集之中。
        • 不可重複讀(Non-Repeatable Reads)
          在一次交易中同一資料數讀取2次卻得到不同結果。
        • 幻影讀(Phantom Read)
          在交易中2個完全相同的查詢語句執行得到不同的結果集。
      • 隔離級別
        • 序列化(Serializable)
          要求在選定對象上的讀寫時鎖上一個「範圍鎖」(Range-Locks)直到交易束後才能釋放。
        • 可重複讀(Repeatable Reads)
          要求在選定對象上的讀寫時鎖上「讀鎖」(Read Locks)和「寫鎖」(Write Locks)直到交易結束後才能釋放。
        • 提交讀(Read Committed)
          要求在選定對象上的讀寫時鎖上「寫鎖」(Write Locks)直到交易結束後才能釋放。
        • 未提交讀(Read Uncommited)
          交易可以看到其他事務「尚未提交(Committed)」的修改。
    • 持久性(Durability)
      交易造成的任何資料異動都會被持久性的儲存在資料庫中。
  • CAP
    • 一致性(Consistency)
    • 可用性(Availability)
    • 分區容錯性(Partition Tolerance)
  • BASE
    • 基本可用(Basically Available)
    • 軟狀態(Soft State)
    • 最终一致性(Eventual Consistency)

上一篇
分散式資料庫:New SQL
下一篇
分散式資料庫:分散式策略
系列文
中台化轉型30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言