你的位置:
问答吧
-> 数据库
-> 问题详情
postgresql8.0已经来了。
非常好的数据库。
但是现在的论坛里都是mysql
oracle
作者: taoyh
发布时间: 2005-01-20
用Oracle太烦琐也太费资源,一般小问题就懒得再去用它的,否则就象用宰牛刀杀鸡一样。用MySQL,有相当一部分SQL的功能是没有的。用PostSQL正好是一个折中的办法。PostSQL几乎支持所有的SQL功能,当然有些是有限制的。譬如说,存储过程上的限制。但总比MySQL的没有存储过程好,MySQL的用C写自定义函数的方法见鬼去吧。一般的查询MySQL速度的确快一点,但在复合查询及分布式系统中MySQL那种只能对表进行的操作注定会很慢。一般来说,数据库系统可通过VIEW来降低查询复杂度,用存储过程来减少client与server的通讯量,而这两个功能MySQL都没有。PostSQL都有。Oracle就更不用提了。
大学里学过数据库的也许都会知道一个有名的关系数据库INGRES。Postres和INGRES都是加洲大学Berkeley分校的几个老家伙设计的。一开始是INGRES(1977-1985),1985年以后INGRES被别人买下成为第一个成功的商业关系数据库。1986年以后那些老家伙由Michael Stonebraker带头用全新的思路重新开发了这个Postgres。
作者: masterdemon
发布时间: 2005-01-21
贺。。。。
作者: lilyerr
发布时间: 2005-01-21
引用:
作者: masterdemon
用Oracle太烦琐也太费资源,一般小问题就懒得再去用它的,否则就象用宰牛刀杀鸡一样。用MySQL,有相当一部分SQL的功能是没有的。用PostSQL正好是一个折中的办法。PostSQL几乎支持所有的SQL功能,当然有些是有限制的。譬如说,存储过程上的限制。但总比MySQL的没有存储过程好,MySQL的用C写自定义函数的方法见鬼去吧。一般的查询MySQL速度的确快一点,但在复合查询及分布式系统中MySQL那种只能对表进行的操作注定会很慢。一般来说,数据库系统可通过VIEW来降低查询复杂度,用存储过程来减少client与server的通讯量,而这两个功能MySQL都没有。PostSQL都有。Oracle就更不用提了。
大学里学过数据库的也许都会知道一个有名的关系数据库INGRES。Postres和INGRES都是加洲大学Berkeley分校的几个老家伙设计的。一开始是INGRES(1977-1985),1985年以后INGRES被别人买下成为第一个成功的商业关系数据库。1986年以后那些老家伙由Michael Stonebraker带头用全新的思路重新开发了这个Postgres。看样子老兄是高手勒。
可惜这里太冷清,我看了一下,都是问的安装问题。
作者: taoyh
发布时间: 2005-01-22
postgresql是开源数据中唯一一个能和oracle较量的数据库。。。
最新的cloudscape不知道怎么样。。。
作者: hantsy
发布时间: 2005-01-22
都是高手,我还只会用一些mysql的基本东西。
看来postgresql确实不错了
作者: babo
发布时间: 2005-01-25
存储过程已经淘汰啦。。。
作者: iDay
发布时间: 2005-01-25
引用:
作者: iDay
存储过程已经淘汰啦。。。那在数据库端编程用什么?C/S结构还好,如果是web的,巨量的数据如何传过来啊?
作者: taoyh
发布时间: 2005-01-25
存储过程,在java web开发中从来没有用过。。。
除非是做数据库产品,否则我觉得没有必要使用一些数据库专有特性。。。
作者: hantsy
发布时间: 2005-01-26
INGRES好像不是关系型数据库,但是INGRES查询语言不开放,而这时ibm把sql交给美国标准组织,
,当时oracle也是刚刚起步,自称第一个实现sql标准的数据库,一时名声鹊起。。。INGRES很快被oracle挤出了市场,到INGRES反过来支持sql时,oracel已经占了统治地位。。。
作者: hantsy
发布时间: 2005-01-26
Java上用到的是褪化了的數據庫功能。Java中的EJB,Hibernate只是将数据库用于数据的持久化。功能是有限的,效率是低下的。但要知道,真正的JDBC中有对SP的操作。
目前流行的一些java技术只能用于一些简单的应用,就算是企业级的java应用也不可能是time critical的。
我举一个典型的企业级+time critical的应用。银行业务。数据是跨城、跨省甚至于跨国。一般一个操作不能慢于5秒。你全用java是完全不行的。不用说别的,就是单纯的网络通讯就要浪费很多时间。因为java的EJB、Hibernate这类技术是只拿数据库来存数据,所有相关数据必须要从Database Server传输到Application Server,进行处理后再传输回Database Server。中间过程要来回在网络上至少跑两次。数据库的功能远不止数据存储这一种。如果把对数据的处理在数据库上完成,对外就没有中间过程。
Application Server + Database Server方式:(数据处理重心在Application Server上,还要加上额外的网络通讯)
C->A->D->A->D...A->D, A->C
传统方式:(数据处理重心在Database Server上)
C->A->D->A->C
C: client, A: Application Server, D: Database Server
作者: masterdemon
发布时间: 2005-02-01
引用:
作者: iDay
存储过程已经淘汰啦。。。如果這樣,銀行,保險業很多的跑批數據是不是都得用Client端完成?即便如此,在客戶端進行任務調度和在數據庫端直接跑任務,你認為那個效率更高?
作者: windsonic
发布时间: 2009-10-12
看楼上这坟挖得......有水平
作者: 糊涂
发布时间: 2009-10-12