高考申論題
110年
[資訊處理] 資料庫應用
第 四 題
資料庫系統中,經常使用「鎖」(Lock)的機制來進行交易處理(Transaction Processing)中的併行控制(Concurrency Control),而該機制允許某個資料項目(Data Item)被「共享鎖」(Shared Lock)或「排他鎖」(Exclusive Lock)鎖定。請問這兩種不同鎖定的模式,對一個資料項目的使用方式所造成的限制各自為何?另外,資料項目可以小到一筆資料列(Tuple)或紀錄(Record),也可以大到涵蓋一整個表格或資料庫。請分析資料項目的大小對系統的效能影響為何?(20 分)
📝 此題為申論題
思路引導 VIP
- 定義鎖的類型:區分 S-Lock (Shared) 與 X-Lock (Exclusive)。重點在於「讀」與「寫」的相容性。
- 說明相容性矩陣:S 與 S 相容;S 與 X 不相容;X 與 X 不相容。
🤖
AI 詳解
AI 專屬家教
【考點分析】
- 併行控制中的封鎖協議(Locking Protocol)。
- 封鎖粒度(Lock Granularity)對系統效能的影響。
▼ 還有更多解析內容
鎖定機制與封鎖粒度
💡 透過 S/X 鎖控制併行權限,並調整粒度平衡效能與管理開銷。
| 比較維度 | 共享鎖 (Shared Lock) | VS | 排他鎖 (Exclusive Lock) |
|---|---|---|---|
| 操作目的 | 讀取資料 (Read) | — | 修改資料 (Write/Update) |
| 相容性 | 與其他 S 鎖相容 | — | 與任何鎖皆不相容 |
| 對他人的限制 | 禁止他人修改資料 | — | 禁止他人讀取與修改 |
| 併發能力 | 高,允許多人同時讀 | — | 低,同一時間僅限一人 |
💬S 鎖保障讀取一致性,X 鎖確保更新原子性,兩者共同維護資料正確。