gpt4 book ai didi

database - 数据库之间的主要区别是什么?

转载 作者:太空狗 更新时间:2023-10-30 01:41:43 24 4
gpt4 key购买 nike

我对任何数据库都不狂热,但我希望看到供应商之间的差异。

例如,我主要使用 Oracle,我发现其他人(MySQL、SQL Server、PostgreSQL 等)无法做到:

SQL Server也一样,别人做不到的:

最佳答案

Oracle 的 CONNECT BY 是标准 SQL 的递归 SQL 的有限版本。 DB2 和 MSSQL 的递归“公用表表达式”编码有点难,但提供的功能比 Oracle 的 CONNECT BY 更强大。 (不过,Oracle 数据库的下一个版本应该会获得真正的递归 SQL。)

闪回是一个真正独特的 Oracle 特性,它反射(reflect)了深度 MVCC内置于 Oracle 中。 MVCC 是 Oracle 处理并发的方式,而不是传统的悲观锁定;并发处理是数据库之间存在很多差异的地方之一(尽管大多数 DBMS 正在摆脱仅基于悲观锁定的并发)。在我看来,Oracle 坚定地建立在 MVCC 之上这一事实是一个显着的优势。

关于 TOP 结果:所有 DBMS 都有办法做到这一点。

除此之外:

SQL-wise:Oracle 拥有最先进且符合标准的日期时间处理。 Oracle 在 OLAP 相关功能方面很强大(但 DB2 和 MSSQL 也是如此;OLAP 功能是开源 DBMS 难以跟上的领域)。最近,Oracle 似乎基本上忽略了 SQL 标准,因为它的标准合规性停滞不前(例如,与 MSSQL 相比,它在这里有了很大改进);我将此归咎于 Oracle 巨大的市场份额导致的傲慢。

从概念上讲: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 的定价非常并且还在上涨。

关于database - 数据库之间的主要区别是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/481879/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com