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