补充一下:我前面讲到"我建议还是用对象逐个计算,将负载拉到对象运行的应用服务器中",这点其实使用Hibernate3很容易实现:

Hibernate的batch fetching策略就是为这个目的来的:

Person 有櫴加载cats集合,如果100个Persons对象被加载到session,遍历这100个时,Hibernate产生100次select SQL语句,实际就是将负载加到数据库服务器上,那么如何将负载转移到Hibernate运行所在的应用服务器上呢?
使用以下设置
<class name="Person"> <set name="cats" batch-size="30"> ... </set> </class>
Hibernate遍历Person时,将预先首先获取batch-size大小Cats, 将实现4次select: 30 30 30 10,这样就减少了SQL语句,从而减少数据库服务器冲击,充分利用应用服务器的大内存和CPU进行遍历逐个计算广告的价格。

相关文章:
我为什么喜欢DDD ?
DDD能够更直接更快反映需求,肯定比关系数据库直接自然啊,就象向心仪的女孩表白爱就要明白无误,让对方直接明白,而不是使用数据库语言拐弯说话,这样女孩大概只有先去学数据库才能明白你的意思?在这样谁快谁慢竞争中,你肯定失去你的女孩。

http://www.jdon.com/jivejdon/thread/34240.html
[该贴被banq于2008-06-19 20:33修改过]

数据库建模和对象建模有矛盾吗?我感到奇怪。
我感到诸位正在走向另一个极端

今天当我们的系统又遇到问题时,我又回来好好看了这篇帖子,好好看了大家的回复,我终于发现自己的思想的确过于数据库化了。尤其banq一针见血的指出了其中的不足,真是感谢banq,我会好好学习DDD,好好学习模式。

关于贫血模型等,非常之透彻

可是现在的数据库都是支持partition database , 也就是说可以将一个database分布到无数台服务器上面,每一张表格内容都均匀分布到每一台服务器上,这样问题不是就解决了?

LZ ZL有些过了?

当然需要用ER设计了,有空我整理一份这方面的资料公布上来。