领域起点和数据库起点的疑惑

08-12-01 daviyan
         

Hi Banq,

看了很多JDON上的关于数据库已死的文章和讨论,我觉得在某些地方我还存在一些疑问,这些疑问应该是您提出的思维禁锢在以数据库为起点的范围内。我想弄清楚这些东西。

我本人是从数据库开始的,在03年-06年的时候,关系型数据库一直是扎根比较深的,系统设计的起点也一直处于从数据库开始,然后在映射到OO的系统设计中。随着OO领域思想的扩散,以OO领域为起点越来越受到欢迎。我自己也曾经挣扎在数据库和OO的天平中,本身对数据库的理解和设计有多年的经验,使用了诸如HIBERNATE的存OO的框架以后,我又觉得这种方式似乎更合理,在移植数据库的时候受到的影响相对来说是较小的。

EJB3.0问世以后,通过对实体的设计和标记的注释来定义各种关系,数据库设计更加弱化。

我的疑问是您强调的数据库瓶颈问题,在我的经验中,数据库的职能只是执行SQL,所有的业务逻辑是严禁由数据库来考虑(当然,特殊情况需要特殊考虑),所以在执行写访问的时候,数据库的职能只是去执行这些SQL;在读访问的时候,需要优化的是数据库的性能,数据库的索引设计,SQL语句的合理性,这些通过中间件或者说云计算能提高性能么? 或者说瓶颈在于建立数据库集群、负载均衡时候服务器的瓶颈?我在想不管是HIBERNATE还是JPA,最终更数据库交互的时候,依然是JDBC的方式,但是在读操作的时候,Query Language是依然需要的,仿佛摆脱不了对数据库的依赖吧?

请问您在这个方面是怎么理解的,需要您来给我解道哦 :)

         

banq
2008-12-02 19:14

这里其实有一个关键问题:以前对象只是数据库的影子和备份;现在我们要把数据库作为对象的影子和备份,只是防掉电关机而做的备份,但是如果我们是服务器农场,集群7x24,永远无关机,那么就不需要做备份,但是实际上,我们用数据库做备份后还是很放心的,但是很放心和核心是两回事。

放弃数据库为核心编程这个课题每个人理解程度不一样,不可强求所有人都同意,但是只要知道意识到对象和数据库的不匹配,谁是重点,我相信就可以了。

daviyan
2008-12-04 12:16

谢谢BANQ :)

我去看看JDON FRAMEWORK,看看具体是如何实现的。