日期:2014-05-17  浏览次数:20537 次

各种数据库对比及应用领域的疑问
今天跟同事讨论各种数据库的优缺点.
mysql:我领导认为mysql完全不行,只能做小型应用,无法应用于大型企业.因为之前我们有一套OA系统,是php+mysql的,一两百人使用就不行了,所以领导否定了mysql,而我举出了各种mysql的大型应用场合,但是领导始终认为mysql不适合大型企业存储数据,只适合于电子商城,社交网络之类的互联网应用,而企业应用必须选择oracle.当然,oracle的强大我完全不否定,但是mysql真的如此不力么?真的无法用于大型企业么,像ERP,OA之类的系统.

oralce:对于它的能力,毫无疑问,所以不用多说.

sql server:其实我们现在用的就是sql server,有计划向oracle转移,我同事认为sql server的定位就是中小企业,无法支持大型企业,sql server真的如此不济吗?

DB2:我同事认为DB2是相当牛B的,再怎么样也比sql server好,DB2牛B这我也不否认.许多大型企业都有用DB2,但是DB2的能力就真比sql server高吗?[http://www.microsoft.com/china/sql/2008/us/compare-ibm-db2.aspx]

希望听听大牛们对这些主流数据库产品给个比较中肯的评价.
------解决方案--------------------
我们公司的用友程序java的,但用的数据库是sqlserver,还好吧,关键是程序

个人认为java配oracle才是正规的用法

db2很牛叉,但可移植性不怎么好,一般企业不会用的,除非数据库确实很庞大

以上个人观点
------解决方案--------------------
MYSQL不行?别笑话,多少的大型公司用MYSQL啊,淘宝修改MYSQL做数据库的,facebook也是在MYSQL上修改的,GOOGLE很多数据库应用也是在MYSQL上修改的。
------解决方案--------------------
MYSQL稍微好点的服务器支持几千人在线完全不成问题,举个很简单的例子,见过很多各种PHP(DZ)论坛把,有时候论坛人数上万人。
假如能做到负载均衡,服务器集群,那支持上万人,十万人并发不成问题,其实在大型应用中,关系型数据库MYSQL,SQLSERVER,ORACLE,DB2性能基本差不多了,不过大家对比数据发现MYSQL的性能是高于其他数据库的,不过现在的最近的大型应用的运用慢慢转向内存数据库,那些关系型数据库将来的在大型应用中应用会慢慢减少了。
------解决方案--------------------
MYSQL稍微好点的服务器支持几千人在线完全不成问题,举个很简单的例子,见过很多各种PHP(DZ)论坛把,有时候论坛人数上万人。
假如能做到负载均衡,服务器集群,那支持上万人,十万人并发不成问题,其实在大型应用中,关系型数据库MYSQL,SQLSERVER,ORACLE,DB2性能基本差不多了,不过大家对比数据发现MYSQL的性能是高于其他数据库的,不过现在的最近的大型应用的运用慢慢转向内存数据库,那些关系型数据库将来的在大型应用中应用会慢慢减少了。
------解决方案--------------------
ms sql 不是特别不济。
关键是他只支持 windows 这就注定无法在小型机等非windows上安装。
当然现在PC server 的性能也非常强悍。千万级的数据应该没问题的。
-----------------
Ps 作为领导要考虑很多事情,mysql 维保都没处买,让他怎么放心啊。
----------------------
另外有一个观点是我一直坚持的
各系统(包括各种编程语言、操作系统、数据库)之间性能的差异 远小于 使用人(指的是一般情况下的非顶级技术人员)能力差异

根据以上观点,各系统性能或稳定性的差异取决于技术人员的能力。要想使系统达到最好状态,最好使用技术人员最熟悉的技术。

------解决方案--------------------
最关键的是系统设计,

糟糕的设计,即使用Oracle+最顶级的服务器也照样死锁,阻塞,等待..
------解决方案--------------------
评价函数,仅仅只有产品一个参数,是没意义的
还有一个很重要的参数:使用者
准确结论 = 评价函数(数据库产品名称,使用者,应用规模及场合)
如果使用者不熟悉,db2、oracle还不如mssql,毕竟后者容易上手

mssql,对于一台服务器(你能买到的最好配置的PC server)能跑下的应用规模,基本是都足够了
------解决方案--------------------
我觉得看人啊,开发人员的能力问题,不过什么领导会认为mysql不行,要是技术领导说的话,那他的认知有点局限