今天又看到一些关于MSSQL与Oracle的争论,事实上争论是没有结果的。关键问题在于做什么,本人从来不喜欢说哪个好哪个不好。比方说,你要做一个非常简单的通讯录,一个非常简单的增加、删除、保存的操作,你会选择使用Oracle吗?如果你要做一个结构事务非常复杂而且数据量非常庞大的时候,你会选择使用Access或者Foxpro吗?显然都是不可能的。如果你的数据是基于网络查询为主的,完全可以使用免费的MySQL,对于海量数据的插入与查询完全胜任。任何一个数据库都在一定程度上适合于做某件特定需求的事情。作者说到,MSSQL比Oracle要容易使用,这点我非常赞同,确实部署MSSQL比Oracle方便得多,帮助文件也非常完善。MSSQL恰好达到了一个选择的平衡点,介于一个非常折中的选择。现在的MSSQL完全可以胜任很多复杂的事务处理以及海量的数据存储,如果你认为MSSQL完全不能满足你现在的情况,那么你就好好想想如何升级到Oracle或者DB2吧。
下面表达一下个人对各种数据库的看法。本人曾经开发过比较庞大的商业ERP系统,其中的表接近2000个,基本上每个表都包含了触发器,存储过程大概500多个,涉及到最大的一个表的记录数是一亿五千万行,将此表用BCP导出来,这个bcp文件大概有18G多。如此大的一个设计,大家是不是想问,一定是Oracle数据库吧。我想告诉大家,非也非也。恰恰,这是一个部署MSSQL的数据库。因此,我感觉在我们的现实使用中,MSSQL已经基本上能满足数据库的各种苛刻的需求。当然,你也许会说,这样的设计,用Oracle同样非常胜任。这样的说法我非常赞同,就看你的投资与维护成本问题了。
最近,本人对于商业数据库已经没有太多兴趣进行研究,现在对于一些免费的数据库很感兴趣。想海量数据的查询方面,MySQL会让你大吃一惊。我曾经将一亿五千万行数据的表导出来,导到MySQL数据库中,结果查询速度非常惊人,根据索引查询一行记录的平均时间大概在一秒钟内,很少超过一秒钟。还有,部署MySQL的机器只是一台普通的联想PC机,Linux操作系统,可以说这是一个免费的服务器部署了。在Linux下,还可以部署Firebird、PostgreSQL等等免费的数据库,并且这些数据库的性能也不见得很差,对于一个普通的数据库系统来说是足够的。
未来,可能会有更多的免费数据库出现,也许性能还会越来越完备。我对此有非常大的期待。
|
|