資料庫基礎

關於在多台伺服器上放置資料副本的分散式資料庫,下列何者是對CAP定理的適當說明?

  1. A伺服器之間的網路發生分區時,無法同時完全滿足「從任何伺服器讀取都傳回最新值」的一致性,與「回應所有請求」的可用性
  2. B只要設計得當,一致性、可用性與分區容錯性三者永遠可以同時滿足
  3. C分區容錯性是指把線路備援化,使伺服器之間的網路不會被分割
查看答案與解析

正確答案:A. 伺服器之間的網路發生分區時,無法同時完全滿足「從任何伺服器讀取都傳回最新值」的一致性,與「回應所有請求」的可用性

CAP定理指出,分散式資料庫無法同時完全滿足一致性(Consistency:從任何伺服器讀取都傳回最新寫入的結果)、可用性(Availability:未故障的伺服器會回應所有請求)、分區容錯性(Partition tolerance:即使伺服器之間的通訊被切斷,系統仍能持續運作)三者。由於網路分區在現實中無法避免,重點在於發生分區時,必須選擇要優先一致性而停止回應部分請求,還是優先可用性而容許傳回舊值並持續回應。沒有發生分區時,可以同時滿足一致性與可用性。許多NoSQL產品優先可用性,採用隨時間經過副本終將一致的最終一致性。分區容錯性不是把線路備援化,而是即使發生分區也能持續運作的性質。

  • A. 正確。發生分區時,必須選擇優先一致性或可用性。
  • B. CAP定理指出三者無法同時完全滿足。
  • C. 分區容錯性是發生分區時仍能持續運作的性質,而不是防止分區的機制。
練習這個領域 前往領域頁面

相關計算工具

資料庫基礎的其他題目

  1. 在關聯式資料庫的用語中,相當於表格(關聯)中一筆資料列的是下列何者?
  2. 在關聯式資料庫的表格中,被指定為主鍵的欄位(或欄位組合)必須滿足的條件是下列何者?
  3. 在員工表格(員工編號, 電子郵件, 姓名, 部門)中,員工編號與電子郵件每位員工都不同,且不會是NULL。姓名與部門可能與其他員工相同。列出此表格所有候選鍵的是下列何者?
  4. 選課表格(學號, 課程編號, 成績)記錄哪位學生修了哪門課、成績如何。一位學生會修多門課,一門課也有多位學生修。若同一學生不會重複登記同一門課,此表格適當的主鍵是下列何者?
  5. 客戶表格(客戶編號, 姓名)的主鍵是客戶編號,訂單表格(訂單編號, 客戶編號)的客戶編號被定義為參照客戶表格客戶編號的外鍵。客戶表格中只有客戶編號為'C1'與'C2'的資料列。在此狀態下執行 INSERT INTO 訂單 VALUES ('O9', 'C5') 的結果,下列何者正確?