8

关系数据库的 SQL 实现以目前的形式已经存在了大约 25 年(自 System R 和 Ingres 以来)。甚至主要(松散地遵守)标准是 ANSI-92(尽管后来有更新)也有 15 年的历史。

在过去十年左右的时间里,您能想到基于 SQL 的数据库有哪些创新。我特别排除了 OLAP、列式和其他非关系(或至少非 SQL)创新。我还想排除“应用程序服务器”类型的功能和捆绑(如报告工具)

尽管基本方法仍然相当静态,但我可以想到:

  • 可用性
  • 能够处理更大的数据集
  • 易于维护和配置
  • 支持更高级的数据类型(blob、xml、unicode 等)

还有其他你能想到的吗?

4

9 回答 9

8
  • 哈希连接
  • 基于成本的优化器(几乎完全颠覆了查询编写)
  • 分区(实现更好的 VLDB 管理)
  • 并行(多线程)查询处理
  • 集群(不仅是可用性,还有可扩展性)
  • SQL 更灵活,SQL 与 3GL 语言更容易集成
  • 更好的诊断能力
于 2008-10-12T12:21:33.133 回答
4

RANK 等分析函数

于 2008-10-10T15:57:03.763 回答
3

我不确定您是否要包括特定于供应商的创新(我也不完全确定其他数据库引擎还不能这样做),但 SQL Server 2005 将递归 transact-sql 查询添加到他们的语言中。我发现它们对于迭代分层数据非常有用。我相信 2008 年增加了一些与分层数据相关的新功能,但我没有仔细研究过。

于 2008-10-10T15:51:41.277 回答
2
SELECT (invoiceprice * detailweight) / SUM(weight) OVER(PARITTION BY invoice) as weighted, * 
FROM tblInvoiceDetails

加窗函数非常适合做加权平均等以前需要 CURSORS 的事情。

于 2008-10-10T16:14:56.083 回答
1

好吧,有人可能会说,15 年来缺乏运动不仅仅是缺乏创新的标志,而是数据库几乎完美的标志!许多人试图在代码中做一些事情,这些代码在自 1960 年代以来已经改进的数据库中做得更好,以尽可能快和高效地运行。

于 2008-10-10T16:17:49.260 回答
1

我想说过去十年(1998-2008)已经看到开源 RDBMS 产品在主流部署中变得可行。大多数财富 500 强公司现在在其组织中的某个地方使用 MySQL 或 PostgreSQL 或其他开源 RDBMS,即使他们也使用商业、闭源 RDBMS 品牌之一。

这不是技术进步,但值得注意的是,稳定的开源 RDBMS 引擎的可用性支持许多其他创新项目。

我意识到 MySQL 和 PostgreSQL 早在 1995 年就可以使用,但我认为它们在那之后的几年内都不是主流。

于 2008-10-10T16:50:25.650 回答
1

除了更高级的数据类型(blob、xml、unicode 等)列表之外,您还应该包括空间类型。

PostgreSQL 的 PostGIS 扩展于 2001 年问世,但现在所有主要供应商都实现了空间对象和空间 SQL。

随着谷歌地图、必应地图和 OpenLayers 的兴起,无需中间件即可显示地理空间数据和运行空间查询的能力对 Web 和数据分析产生了巨大影响。

于 2010-03-13T22:36:25.960 回答
0

我认为大部分进展都在性能领域——查询分析器和集群。

于 2008-10-10T16:17:29.463 回答
0

我认为最大的创新领域可能是数据复制——可用性和可靠性。大多数其他领域都更具增量性。通过指定十年,您省略了 ORDBMS 的东西 - 可扩展性;出现在 1997 年。

于 2008-10-10T21:30:54.337 回答