民國115年 高考三級 資訊處理 資料庫應用

第4題

BASE 原則(BASE Properties)與CAP 定理(CAP Theorem)常見於在 分散式系統(Distributed Systems)與分散式資…

題目

BASE 原則(BASE Properties)與CAP 定理(CAP Theorem)常見於在 分散式系統(Distributed Systems)與分散式資料庫的架構設計中,請回 答以下問題: 解釋BASE 原則。(10 分) 解釋CAP 定理。(10 分) 在分散式資料庫中,CAP 是一項限制,為何一個分散式資料庫不可能 同時滿足CAP?(5 分)

參考解答(AI 生成,非官方)

  • 一、BASE 原則的定義與背景:BASE 由 Basically Available、Soft state、Eventually consistent 三字首組成,約於 2008 年由 Pritchett 提出,用以描述大規模網際網路服務在可用性與延遲優先於強一致時的設計取向,可視為對傳統 ACID(Atomicity、Consistency、Isolation、Durability)的反思與互補,而非全面取代。
  • 二、BASE 三要素內涵:(1)Basically Available(基本可用):系統允許在故障或流量尖峰時降級服務,例如部分功能暫停、回應延遲增加或回傳舊資料,但仍維持整體可用。(2)Soft state(軟狀態):狀態可能隨時間與副本同步而改變,不保證每次讀取都得到最新值,系統不強制即時收斂。(3)Eventually consistent(最終一致):若無新的更新,經過一段時間後所有副本終將收斂至相同值。
  • 三、BASE 的實務對照與限制:採 BASE 的系統如 Amazon DynamoDB、Apache Cassandra、Riak 等,常以 quorum(讀寫門檻)、版本向量(version vector)與衝突解決(last-write-wins 或應用層合併)實現;DNS、電子郵件亦屬典型最終一致案例。其優點是高可用、低延遲、可水平擴充;限制是應用須自行處理暫時不一致、重複資料與衝突補償(如以 Saga 模式取代分散式交易)。
  • 四、CAP 定理的定義與三要素:CAP 由 Brewer 於 2000 年提出、2002 年由 Gilbert 與 Lynch 形式化證明。C(Consistency,一致性)指線性一致性,即任何讀取都回應最近一次成功寫入的結果;A(Availability,可用性)指每個到達非故障節點的請求都能在有限時間內得到非錯誤回應;P(Partition tolerance,分割容忍)指網路節點間訊息遺失或延遲時,系統仍能繼續運作。
  • 五、為何不可能同時滿足 CAP 及取捨策略:當網路發生分割(partition)時,同一份資料的兩個副本無法互通;此時若仍要求強一致,就必須拒絕或阻擋部分讀寫(犧牲 A);若堅持每個請求都回應,兩側可能各自接受更新而造成分歧(犧牲 C)。由於分散式系統無法排除網路分割,P 實為前提而非可選項,故實務上只能在 CP 與 AP 間取捨:CP 系統如 HBase、ZooKeeper、MongoDB(多數派讀寫);AP 系統如 Cassandra、DynamoDB、Riak。CA 僅存在於單節點或非分散式環境。另可補充 PACELC:無分割時仍須在延遲(Latency)與一致性(Consistency)間取捨。

AI 依官方試題文字產生的參考解答,非考選部公告答案,內容僅供備考參考。

官方資料