关系数据库的SQL实现已经以其当前形式存在了大约25年(自System R和Ingres以来)。即使主要(松散地遵守)标准是ANSI-92(虽然后来有更新)是一个很好的15岁。
在过去十年左右的时间里,基于SQL的数据库可以想到哪些创新。我特别排除了OLAP,Columnar和其他非关系(或至少非SQL)创新。我还想排除“应用程序服务器”类型功能和捆绑(如报告工具)
虽然基本方法仍然相当静态,但我可以想到:
你能想到的其他任何人吗?
答案 0 :(得分:8)
答案 1 :(得分:4)
像RANK这样的分析函数
答案 2 :(得分:3)
我不确定您是否要包含特定于供应商的创新(并且我也不完全确定其他数据库引擎不能这样做),但SQL Server 2005将递归的transact-sql查询添加到他们的语言中。我发现它们对迭代分层数据非常有用。我相信2008年增加了一些与分层数据相关的新功能,但我没有仔细研究过。
答案 3 :(得分:2)
SELECT (invoiceprice * detailweight) / SUM(weight) OVER(PARITTION BY invoice) as weighted, *
FROM tblInvoiceDetails
窗口函数非常适合加权平均值以及之前需要CURSORS的其他事情。
答案 4 :(得分:1)
有人可能会认为,15年来缺乏运动不仅仅是缺乏创新的迹象,而是数据库几乎完美的标志!许多人尝试用代码做事情,这些代码在自1960年代以来经过改进的数据库中做得更好,以尽可能快速有效地运行。
答案 5 :(得分:1)
我想说过去十年(1998-2008)已经看到开源RDBMS产品在主流部署中变得可行。大多数财富500强企业现在都在其组织的某个地方使用MySQL或PostgreSQL或其他开源RDBMS,即使他们也使用其中一个商业的闭源RDBMS品牌。
这不是技术进步,但值得注意的是,稳定的开源RDBMS引擎的可用性使许多其他创新项目成为可能。
我意识到早在1995年就可以使用MySQL和PostgreSQL,但我认为它们在此之后的几年内并不是主流。
答案 6 :(得分:1)
除了更高级的数据类型(blob,xml,unicode等)列表外,还应包含空间类型。
PostgreSQL的PostGIS扩展程序于2001年问世,但现在所有主要供应商都实现了空间对象和空间SQL。
随着Google Maps,Bing Maps和OpenLayers的兴起,显示地理空间数据和在没有中间件的情况下运行空间查询的能力对网络和数据分析产生了巨大影响。答案 7 :(得分:0)
我认为大部分进展都来自于性能领域 - 查询分析器和集群。
答案 8 :(得分:0)
我认为最大的创新领域可能是数据复制 - 可用性和可靠性。大多数其他领域更具增量。通过指定十年,您省略了ORDBMS的东西 - 可扩展性;出现在1997年。