看他们的评论、言论,可以透视他们的思想,然后映射到自己身上或者自己做的事情上,这个很好,对于提升自己

为什么大家对问题都抱定一种非此即彼的态度呢,我想楼主在讨论OO系统设计中数据库的作用,其实在OO的系统设计中,确实是不用太多考虑数据库的问题了,惊讶还会为了这个问题争辩不清。

看了这篇和本站的其他一些文章,觉得有些道理,但是有些地方我没有想明白,希望banq或者其他高手能指点一下

很多观点都在排斥数据库,但就我参与过的所有项目,上线后的运营维护期间,都会有无穷无尽的统计报表和数据挖掘的需求,没有了数据库,这些事情该从何下手去做?

是我理解的不对还是有更好的方法,还望各位能指点一下方向。

断言“数据库岂能不亡”也好,诅咒“数据库已死”也好,估计都没什么用。至少有一点是肯定的,数据库会比我们这些人活得久。等我们全死光光了,它肯定还没死,也没亡。
不要浮燥。几个人,加上OO,加上OO它爹,OO它爷爷,都整不死DB。
看见新东西,别太激动。过去多少新东西,转眼间就沉舟侧畔了。

为什么Java程序员总是这么惧怕数据库?
我从来不相信运用一种技术就能解决这个世界的所有问题。

Java从没排斥过DB。相反,Java的创始人们还以Java对数据库比较亲近而自豪。
至于学Java的要拿Java去打倒DB,那Java的创始人们也没办法。

呵呵。有点意思。
但是没有道理诶。
数据库不可能亡的噢~~~~
没了数据库,怎么做东西啊~?

楼上的还是没明白 数据库在系统中的作用,数据库只是存放数据的一个地方,现在可以存放在数据库中,到时候我也可以存放在xml文件中,又或存放在别的其他地方

我怎么看不太懂啊。。。难道我就是传说中的只会写sql的coder???这个论坛讨论的问题好深奥啊,收下了

不知道大家去做过移动的项目没?他们扣费系统多是以数据库存储过程实现的,原因很简单,他们的平台开发不只是JAVA一种语言,为了一套业务逻辑可以跨越多个平台,可以使用其它的什么手段呢?而且因为数据库本身就是文件,数据交互其实就是IO,频繁的读写操作只会增大系统的负荷量,全靠SQL来实现一些庞大的数据交互是不太现实滴
[该贴被byduke于2009-04-17 01:17修改过]

移动现在开始使用内存数据库了。

发现这个坛子的人一旦提到OO和持久层相对于数据库SQL的性能问题,就把缓存拿出来说事。
我实际试过Oracle多表连接查询的速度远远比单表慢,即使所有数据都缓存在内存里。OO和持久层的连接开销应该更大,除非你认为Oracle做查询优化的人都是弱智,否则即使有缓存也不会快。
分布也不是万能的,最起码多个服务器之间的缓存同步就会造成很大开销,性能并不能线形增长。
不要总认为能用廉价硬件组成分布系统就是好的,机器越多故障率也越高。一台Unix服务器价格几十倍于Windows服务器,性能远远达不到Windows服务器的几十倍,为什么还有人用,总不会这些企业也都是弱智吧。
不要认为用Unix都是看中性能。举个简单例子,有些应用Windows服务器性能足够,用Unix的唯一理由就是不能忍受Windows几乎每月例行打补丁造成的停机。
顺便问一下,持久层缓存数据采用对象,占用内存应该比数据库缓存更大,对于100G以上内存都不能达到性能要求的Oracle数据库,你打算如何通过缓存达到比SQL更好的性能?

关注。

虽然偶只是一小小程序员,但感觉这帖子和一些跟帖太扯了
偶的一点观点,大家见笑,多包涵多指正:

1. DB绝不只是存数据的玩意,真正存放数据的是文件系统,再往底层了说是磁盘系统,DB只是一个中间层,SQL和一些过程是DB向上层提供的接口,往下面会调用OS提供的接口

2. J2EE是在DB上又多放了一个层,但是这个层没做好,大家老想越层直接用DB。分层架构最忌讳越层了,这点DB做得很好,SQL就全搞定了基本不用考虑OS。

3. 目前的趋势大概是在J2EE上再加个层,大概就是SOA,最好是REST SOA, 大多数人以后就调用几个URL就可以做应用了,URL下面可能是极其恶心的系统也没关系了,大多数人的世界可以清净了。

4. 但是原来的层还存在的,每个层都有相应的程序员在搞,很恶心但还要搞下去,越层肯定还会存在。

freeren 老兄你应该好好补补数据库了,你说的这个表根本连第2范式都没满足,谈何性能和维护。