论坛首页 Java企业应用论坛

Robbin乱弹数据库

浏览 51211 次
该帖已经被评为精华帖
作者 正文
   发表时间:2003-10-27  
没有想到我的一篇帖子引来这么多争论!大家争论归争论,不要针对人身攻击就好了。

MySQL数据库结构很简单,用起来很方便,所以我也经常在很多场合使用。其实现在越来越多的企业级应用开始采用MySQL,例如德国的宝马汽车公司,SAP公司,以及著名的门户网站Yahoo等等。但是应该看到的是,MySQL对于一些关键性的应用,例如那些对于数据完整性要求很高,密集、繁重的事务处理的应用,如金融相关行业还是不能够满足需要的,MySQL4的InnoDB目前只具备了初步的事务处理能力。

当然应该看到的是SAPDB和MySQL融合之后,MySQL必将在企业级数据库市场有所作为。

轻量级数据库,好的东东已经是多不胜数了,除了前面Quake朋友提到的HSQLDB之外,像PointBase也很棒,此外还有很多很多在Unix上面跑的轻量级数据库,像mSQL,SQLite等等。Windows上面还有SyBase SQL Anywhere。
0 请登录后投票
   发表时间:2003-10-27  
其实用什么数据库还是要看你想做什么类型的应用,数据库进步的速度也是重要的考虑因素。一旦选定后频繁更换数据库是没有必要的。我觉得 MySQL 向企业级数据库进军的步伐有些太慢了(从3.23 版开始增加对事务的支持到现在有多少年了?当然他们可能有自己的考虑,比如一些市场因素)。PostgreSQL 最近的进步是很快的,尤其是 7.3 版以后,7.4 版马上要推出了,大家如果需要企业级的特色,可以试试 PostgreSQL。当然 SAPDB 也是很好的选择。joe 在对 SAPDB 做过一番考察后说:
joe 写道
SAPDB的确不错,唯一的缺点就是性能上不够出色,其他的比如open程度,interface 还有GUI management都做的超棒。

说到 Linux Journal,我要告诉大家一个消息,今年 Linux Journal 评选的最佳数据库管理系统已经变成了 PostgreSQL。可见在 IT 业任何产品的领先优势都不可能是永恒的。

以下是 Linux Journal 评选的今年最佳产品:
http://linuxjournal.com/article.php?sid=6995

The winners, featured in the August 2003 issue of Linux Journal, are as follows:

Best Server Appliance (hardware): Sputnik AP 120
Best Security Tool (hardware or software): Netfilter/iptables
Best Server: Newisys 2100
Best Workstation: Dell Precision 650n
Best Web Browser or Client: Mozilla 1.4
Best Graphics Software: Jahshaka
Best Communication Tool: Gaim
Best Desktop Software: OpenOffice.org
Best Development Tool: Perl 5.8.0
Best Database: PostgreSQL
Best Management or Administration Software: Webmin
Best Mobile Device: Lindows Mobile PC
Best Game: Frozen Bubble
Best Book: Understanding the Linux Kernel, 2nd Edition by Daniel P. Bovet and Marco Cesati
(O'Reilly & Associates)
Best Web Site: Linux Weekly News
Product of the Year: SGI Altix 3000
0 请登录后投票
   发表时间:2003-10-27  
还是你们两个厉害,能够总结这么多的冬冬。我最多就说一句,sapdb是支持sap ERP使用的数据库。
0 请登录后投票
   发表时间:2003-10-27  
dlee 写道
我对“严肃”的理解可能与你们不同,主要原因是我们将来主要会从事 OLAP 一类的研发,没有完备的事务处理是根本无法做这类应用的。如果我的话刺痛了你们我可以道歉。

在我理解,OLAP做的主要工作是从OLTP抓取数据, 做Transform 和Standardize,它会对于事务会有什么非常严格的要求吗?真正有严格要求的应该是OLTP吧?能否稍微介绍一下你们的OLAP概念?

在论坛上为自己的观点道歉是不必了,论坛就是供大家发表不同意见的,讨论,甚至激烈的争吵,都很正常。只是对于你说的“用过了 Oracle 之后再说话”有意见,这种话很不professional。

dlee 写道
如果不了解什么叫做企业级应用可以到 www.linuxtea.org 去看 joe 发表的老帖子,我的观点与 joe 基本上是相同的(LinuxForum 的老用户很多都读过 nntp(joe)的精彩文章)。企业级应用是事实在在的东西,不是什么 Marketing Hype。

我以“企业”做关键字搜索了joe发表的文章,浏览了这些文章,但是没有找到非常贴近本主题的,是否我用的关键字有问题?如果不麻烦的话,请告知确切的链接。

Marketing is Hyper-Technology, not Hype, ,对于项目而言,关键不在于你用的是什么数据库,是什么技术,而是在于你做的东西能否满足客户的需求。

下面回答你想知道的问题,
1、MySQL 是否支持真正的两阶段提交?
No
2、MySQL  有无存储过程和触发器?将来是否准备支持?
No,正在开发中的MySQL 5.0已经加入了存储过程的支持,触发器的支持也在5.0的计划中。
3、MySQL 是否支持外键完整性?
Yes
4、MySQL 是否支持视图?
No, 5.1 will add
5、MySQL 是否提供了企业级的备份工具?
到现在还是不知道你的“企业”的定义,无法回答。
6、MySQL 是否支持集群?
No
7、Linux Journal 是否是一个严肃的数据库评测机构?
No
8、Slashdot 是否是一个真正的以数据库为中心的应用,还是仅仅把数据库用来作为工具。
一个BBS的中心应用当然是数据库了,你说的工具又是什么意思,是玩具的另外一种说法?


我从来没有说过要说服谁去用什么数据库,只是发表自己的观点,推荐几种实用的“玩具”数据库,希望不要离题太远。
0 请登录后投票
   发表时间:2003-10-27  
纯技术角度,robbin是对的
如果几亿美元研发出来的产品比opensource的还差,oracle的全体人员可以集体自杀了。
这是不同重量级的比较,或许某些地方opensource会出色一点,但综合能力商业产品无疑是占优的。
只是不同的应用,会有不同的解决方案。不能以自己的喜好来下判断。

事实上影响我们选择的不只是技术因素,而是技术与成本的综合考虑。我认为在满足需要的前提下,选择最廉价的产品是比较明智的。--要用D版,又有钱买硬件的话,全用oracle也没问题:)

p.s:
     小声问一句,各位用的oracle是正版吗?
0 请登录后投票
   发表时间:2003-10-27  
Quake Wang 写道
在我理解,OLAP做的主要工作是从OLTP抓取数据, 做Transform 和Standardize,它会对于事务会有什么非常严格的要求吗?真正有严格要求的应该是OLTP吧?能否稍微介绍一下你们的OLAP概念?

你可以使用搜索功能找到我摘自《数据挖掘——概念与技术》一书中对 OLAP 的释义。
OLAP 确实不太依赖于事务。但是我们需要把 OLAP 分析的结果及时地展示给客户(我们要建造的并不是一个纯粹的分析型环境,还含有外围的大量操作型处理)。在分布式的数据库环境(操作型数据库和数据仓库之间、数据仓库和数据仓库之间)中,数据的同步也要依赖于事务的支持,因为我们要保证数据同步过程中的数据完整性。我们有一个 OLAP Core,这个 OLAP Core 是不需要太多事务支持的,但是有很多的外围应用需要用到事务。生成报表需要对数据做很多复杂的加工,要保证这些加工都是成功的,还是需要事务的支持。所以你不能说事务在分析型环境中就是完全不重要的。
我道歉是想让讨论气氛变得更加友善。你不接受是你本人的素质问题。
我再建议一下,你最好还是把 Oracle 好好用用。我不跟你谈学术问题,Oracle 某些方面的实现在学术上可能不是最好的(可能都不如 PostgreSQL),但是它们组合起来却是非常的实用和稳定。你不能因为有了 Open Source 的数据库就完全否定 Oracle 的价值。
Quake Wang 写道
对于项目而言,关键不在于你用的是什么数据库,是什么技术,而是在于你做的东西能否满足客户的需求。

你的这句话过于外行,你完全没有看到使用正确的工具对项目成功的重要性。我姑且同意你的看法,这正是我们不选择 MySQL 的原因。因为我们发现我们要实现的很多复杂应用 MySQL 确实无法做到。比如 Oracle 企业版中对 Cube(group by CUBE)的支持就节省了我们很多的工作量(而且很大地提高了性能),如果用其它数据库,我们就要自己来实现这个 Cube。
Quake Wang 写道
一个BBS的中心应用当然是数据库了,你说的工具又是什么意思,是玩具的另外一种说法?

不要再断章取义了,那只能让我感觉你比较的低能。
0 请登录后投票
   发表时间:2003-10-27  
无明 写道
小声问一句,各位用的oracle是正版吗?

呵呵,我们的客户都是政府机关,敢用盗版软件吗?我们内部使用的是下载的用于开发的版本,Oracle 说过,开发用途是不需要付费的。

Oracle 还有一个重量级的特色我还没有说,那就是完备的联机事务日志功能,这个功能可以说是其它所有数据库的 Killer。依靠完备的联机事务日志,在出现灾难性事故时(比如,突然断电,这在 Oracle 只是一个非常小的事故),Oracle 可以通过重做未完成的事务等一系列复杂操作来进行灾难恢复。说一个配置良好的 Oracle 系统 Unbreakable 是一点都不夸张的。我们在长期的开发过程中,Sybase 发生过几次数据库崩溃的事故,Oracle 从来没有发生过任何事故。你不能说强大的灾难恢复能力是重负荷的企业级应用不需要的。正是 Oracle 的稳定使我们可以集中精力解决客户需要我们解决的复杂业务问题,而不是忙于解决数据库本身的问题。
通过备份 Oracle 的联机事务日志,还可以轻易实现数据库的增量备份,这是 MySQL 一类数据库根本不能提供的功能。

Oracle 还有其它的重要特色,想要 Oracle 强于 MySQL 的数据,数据多的简直可以砸死你。它们根本就不是一个数量级的产品。目前称 MySQL 是一个企业级数据库还为时太早。
0 请登录后投票
   发表时间:2003-10-27  
dlee 写道
你可以使用搜索功能找到我摘自《数据挖掘——概念与技术》一书中对 OLAP 的释...

找到你提的这篇了,你摘引的OLAP和我所了解的是同样的概念,下面是我的疑问

典型的OLAP创建流程:
1. 从各个OLTP抓取数据
2. Transform和Standardize数据 (应该是对应你说的数据加工)
3. 导入到OLAP database
4. 建立不同维度的cube (是否是你们的OLAP Core?)
5. 产生报表

step 1只是对于多个操作型数据库的读操作,并不需要有分布式的事务参与其中,right? 2~5都是在OLAP的单个数据库仓库中进行。对于单个数据库的事务支持,现在主流的数据库都支持,right?
我的观点是:OLAP不是排斥其他数据库的killer reason, 你在后续文章里面提到的几个才是要点:分布式事务的2次提交,存储过程,视图,备份。

dlee 写道
你不能因为有了 Open Source 的数据库就完全否定 Oracle 的价值。

你从我的文章哪一段看到有看到哪怕是一句否定Oracle的话?我反复强调是:我从来没有说过要说服谁去用什么数据库,只是发表自己的观点,推荐几种实用的“玩具”数据库,希望不要离题太远。在回复之前请仔细的看别人的观点,再做对应的讨论,这个是起码的BBS的守则,作为斑竹,希望你能作得更好。

dlee 写道
我道歉是想让讨论气氛变得更加友善。你不接受是你本人的素质问题。

我的观点:争论无论多少激烈,只要没有牵涉到人身攻击,是没有必要道歉的。
但是你如果愿意为一些不好的用语道歉(如素质问题,低能等词),我是会欣然接受的。做为一个斑竹不应该有这样的言语。
0 请登录后投票
   发表时间:2003-10-28  
Quake Wang 写道
但是你如果愿意为一些不好的用语道歉(如素质问题,低能等词),我是会欣然接受的。做为一个斑竹不应该有这样的言语。

Something childish. 别再做这些口舌之争了。

呵呵,我看你现在也冷静多了。我们的讨论根本就不需要引用什么 Linux Journal 的评选,谁都知道那是完全把商业产品排除在外的,而且也不是什么专业的评选。Slashdot 这类应用也不是什么 Critical 的应用。我的感觉是好象你一定要争论 MySQL 适合做企业级应用一样。

你说的 OLAP 不是其它数据库的 Killer Reason 我是同意的,因为 Oracle 对 OLAP 类(数据仓库、数据挖掘)应用的支持可能并不是所有数据库产品中最好的。你说的这些功能就是我们的产品核心所要提供的功能。OLAP Core 就是用来建立不同维度的 Cube,然后以任意的维度在任意级别上对数据进行切片和汇总。除了 OLAP 应用外我们还有大量的操作型处理要做,所以 OLTP 我们做的也是很多的。因此事务对于我们来说是一个必须要非常好地支持的特性。可以说我前面的思路不够清晰,感谢你帮助我理清了思路。用一种数据库总比用多种数据库要好,因为我们在 OLTP 方面的很多应用要依赖于 Oracle 的一些丰富的特性,所以我们在 OLAP 方面也选择了 Oracle,这是很自然的事情。企业级应用不等于 OLAP,复杂的 OLTP 同样属于企业级应用。OLTP 要做好的难度未必小于 OLAP。正是复杂的 OLTP 的一些严苛的条件限制使得 MySQL 过早地离开了我们的视线。而且还有一些无论是 OLAP 环境还是 OLTP 环境都需要的企业级特性比如企业级的备份功能和强大的灾难恢复能力。在 OLAP 环境下备份的重要性甚至要超过 OLTP 环境,如果没有很好的备份工具的支持,数据仓库粒度的设计要受到极大的限制。因为数据仓库中的数据存在着大量的冗余,必须周期性地备份到光盘或者磁带等二级介质上,否则一个是没有足够大的存储空间,另一个是在过于庞大的数据之上无法开展有效的分析。灾难恢复的重要性是不言而喻的,因为企业数据仓库可能就是整个企业运做的心脏,其中数据的安全是需要接近 100% 地保证的。如果你的任务是要实现一个象 phpBB 这样的 BBS 的话,你采用任何数据库都不会有大的问题(而且我会强烈建议你采用 MySQL)。但是在真正复杂的条件严苛的环境下,你会发现所有未解决的矛盾(就是 MySQL 开发者认为无所谓或者可以以后再解决的那些问题)都会暴露出来,除非你都能做得非常出色,否则是无法满足要求的。所以如果 MySQL 不在我说的这些 Oracle 已经具有的特性上下工夫,它是很难在企业级应用领域有所作为的,始终只能扮演一个外围的角色。

激烈争论没关系(害怕争论并不能解决问题),只要大家能冷静下来,得到自己真正想得到的东西。不要发展成无边际争论和意气之争。Brainstorm 正是来自于思想的撞击。我的一些观点说过之后就觉得没有多少价值了,说出去的话已经是死的了,而思想还在继续前进。我尽量争取不去误导别人,因为我也走过很多的弯路。

Good luck!
0 请登录后投票
   发表时间:2003-12-03  
robbin 写道

SAPDB,大Boss登场了!隆重介绍SAPDB。SAPDB是SAP做的OpenSource数据库,使用起来给我的感觉和我使用Oracle的感觉很接近,SAPDB的很多概念和Oracle非常一致,因此熟悉Oracle的人不会对SAPDB陌生。我一个HP的朋友他们的实验室做过SAPDB的性能和功能测试和评估,是一个很强的数据库,可以考虑做为Oracle的免费替代品。最近SAP把SAPDB卖给了MySQL,SAPDB的开放团队和MySQL的开放团队开了一次会议商量进行两个数据库的移植问题,最后的结论是MySQL向SAPDB靠拢。可以到这里看到SAPDB


SAPDB 这么好,为什么还是free的呢?按照sap的习惯,这样的db是肯定收费的啊?还有sap在做一些项目时,好像也没有很多是使用sapdb的。这是为什么呢?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics