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