摘要: 假设我们必须处理对象的存储, 加载, 和查询. 性能和引用完整性的约束, 给接口的实现带来了以下问题:
   1.      加载根对象时如何避免加载大半个数据库
   2.      存储时如何更新整个对象图
   3.      存储时如何高效的更新整个对象图
   4.      何时同步对象的内存状态和持久存储状态
   5.      如何确保在出错时保持对象内存状态和持久存储状态之间的一致性
   6.      如何保证引用的唯一性以避免可能的更新冲突
对性能的精益求精, 又促使人们解决更多的细节问题:
   7.      N+1查询问题
   8.      分离查询模型和存储模型
   9.      尽量减少查询语句
这些问题的解决方案又会带来新的问题.  
阅读全文