数据库之间的主要区别是什么?
我不是在任何数据库狂热,但我希望看到供应商之间的差异.
例如,我主要使用Oracle,我看到其他人(MySQL,SQL Server,PostgreSQL,…)无法做到: > Connect by查询. 与SQL Server相同,其他人无法做到: > Top results. 解决方法Oracle的CONNECT BY是标准SQL的递归SQL的有限版本. DB2和MSSQLs递归的“通用表表达式”有点难以编码,但比Oracle的CONNECT BY提供更多的权力. (下一个版本的Oracle数据库应该会得到真正的递归SQL)Flashback是一个真正独特的Oracle功能,它反映了Oracle内置的内容. MVCC是如何处理并发的,而不是传统的悲观锁定;并发处理是数据库之间存在很大差异的地方之一(尽管大多数DBMS只是基于悲观锁定而脱离并发).在我看来,Oracle坚定地建立MVCC这个事实是一个很大的优势. 关于TOP结果:所有DBMS都有办法做到这一点. 除此之外: 以SQL方式:Oracle具有最先进且符合标准的日期时间处理. Oracle在OLAP相关功能上很强大(但DB2和MSSQL也是如此); OLAP功能是开放源代码数据库管理系统遇到困难的领域.最近,Oracle似乎基本上忽略了SQL标准,因为它的标准合规性停滞不前(与MSSQL相反,例如,在此已经有了很大的改进);由于甲骨文的市场份额很大,我对此傲慢不顾. 在概念上:Oracle和MySQL是处理数据库的两种非常不同的方法的例子.在Oracle中,创建数据库需要永远的时间,数据库是一个非常重的对象,所以在Oracle世界中,一个数据库往往包含很多表,可能在不同的“模式”中.在MySQL中,数据库是一个非常轻量级的对象,所以MySQLers倾向于拥有许多数据库,每个数据库的表格相对较少(这可能是他们似乎并不抱怨MySQL缺乏模式的原因). Oracle(如DB2)是一个几乎包含整个操作系统的DBMS的示例:它执行许多功能,像MSSQL / MySQL / PostgreSQL这样的DBMS将使操作系统的文件系统和虚拟内存系统处理.就个人而言,我更喜欢后一种方法,但Oracle的方式使得Oracle执行的功能非常相同,无论使用哪种操作系统. 与MSSQL相比,Oracle运行在更多的平台上(像大多数其他DBMS一样; MSSQL可能是仅在Windows上运行的唯一重要的DBMS). 与其他大多数DBMS相比,Oracle提供了一种集群方式:RAC.我听说过很多关于RAC的恐怖故事,但是如果你可以让它工作,可以说你有一个非常强大的(而且昂贵的)群集解决方案. 关于管理,与其他大多数DBMS相比,我发现Oracle的管理意外复杂. 那么,当然有定价差异很大,Oracle的定价非常高,而且上涨. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |