摘要: 假設(shè)我們必須處理對(duì)象的存儲(chǔ), 加載, 和查詢. 性能和引用完整性的約束, 給接口的實(shí)現(xiàn)帶來了以下問題:
1. 加載根對(duì)象時(shí)如何避免加載大半個(gè)數(shù)據(jù)庫(kù)
2. 存儲(chǔ)時(shí)如何更新整個(gè)對(duì)象圖
3. 存儲(chǔ)時(shí)如何高效的更新整個(gè)對(duì)象圖
4. 何時(shí)同步對(duì)象的內(nèi)存狀態(tài)和持久存儲(chǔ)狀態(tài)
5. 如何確保在出錯(cuò)時(shí)保持對(duì)象內(nèi)存狀態(tài)和持久存儲(chǔ)狀態(tài)之間的一致性
6. 如何保證引用的唯一性以避免可能的更新沖突
對(duì)性能的精益求精, 又促使人們解決更多的細(xì)節(jié)問題:
7. N+1查詢問題
8. 分離查詢模型和存儲(chǔ)模型
9. 盡量減少查詢語(yǔ)句
這些問題的解決方案又會(huì)帶來新的問題.
閱讀全文