导读:作为关系数据库标准化查询语言 SQL 的合著者Donald Chamberlin,他近日公开支持旨在摆脱 RDBMS 表格限制的 NoSQL 数据库运动。
在 SQL 诞生 50 周年之际,Donald Chamberlin 与 IBM 同事 Raymond Boyce 在1974 年的一篇论文中首次提出了这种语言,他在接受采访时解释说,NoSQL 数据库及其查询语言可以帮助执行关系系统从未设计过的任务为了。
Donald Chamberlin 这样说:
“世界不会一成不变,尤其是在计算机科学领域,这是一个非常快速、不断发展的行业。新的需求不断出现,技术必须改变才能满足这些需求,我认为这就是正在发生的事情。NoSQL 运动是由新型应用程序(特别是 Web 应用程序)推动的,它们需要巨大的可扩展性和关系数据库是在早期开发的,当时可扩展性和性能并不那么重要为了获得现代应用程序所需的可扩展性和性能,许多系统正在放宽关系数据模型的一些限制。”
NoSQL 有多种形式,每种形式都旨在解决不同的挑战。
比如流行的文档数据库基于开放的 JSON 标准,并广泛尝试绕过 RDBMS 的架构约束。它们包括 MongoDB、Couchbase 和 Amazon 的 DynamoDB。键值存储的数据库可以提供灵活性和速度。
典型示例包括 Aerospike、Memcached 和Redis,它们经常用作互联网应用程序缓存,因此是 AWS 上最流行的数据库。图数据库旨在将关系网络表示为边与节点,包括 Neo4j 和 TigerGraph 等系统。
而数据库专家之间的争论也非常激烈,其中一些人认为需要 NoSQL 方法,而另一些人则认为 NoSQL 系统的属性可以被吸收为关系型数据库系统的功能。
例如,大多数流行的关系系统现在都支持 JSON 文档,而在 Oracle 和 PostgreSQL 中可以进行图形样式查询。
然而,Chamberlin 认为需要 NoSQL 来支持现代应用程序。例如,传统的关系系统保证交易的资产记录储备,以提供即时一致性。他这样说:
“为了获得更高的性能,现在我们经常将数据分布在机器集群上,我们对最终的一致性感到满意,这意味着我们可以耐心等待,所有机器都需要一段时间才能达到一致。在高度扩展的环境中,有时,这是必要的。”
Chamberlin 是一位长期在 IBM 工作的老员工,现在处于半退休状态。但是,他已经决定抽出时间担任 NoSQL 公司 Couchbase 的技术顾问。
他这样说,在这个职位上,他成为了一种新查询语言的倡导者,该语言旨在克服应用程序语言和数据库中的数据结构之间的“阻抗不匹配”。
此外,加州大学圣地亚哥分校教授 Yannis Papakonstantinou提出了 SQL++来解决这个问题,旨在解决基于对象的 JavaScript(Web 前端开发的核心语言)与 SQL 中嵌入的假定关系方法之间的阻抗不匹配问题。
与 C++ 一样,SQL++ 被设计为早期语言 SQL 的兼容性扩展,但据称能够更好地处理 JavaScript 固有的 JSON 文件格式。
目前,Couchbase 和 AWS 已经采用了这种语言,但这家云巨头将其改称为PartiQL。
Chamberlin 在2019 年针对 Couchbase 的论文介绍了 SQL++ 和 SQL:2016,并查看了用这两种语言编写的一些示例查询以对两者进行比较。
他表示,SQL++ 并不是 SQL 的替代品,而是补充品。
“ SQL 不会消失,”他这样说,“世界上很大一部分业务数据都是用 SQL 编写的,并且数据具有很强的粘性。一旦你拥有了数据库,就可以将其留在那里。此外,关系系统在其本来的功能方面做得非常好,我们在 MySQL、PostgreSQL 和 SQLite 中都拥有这些非常高质量的开源实现。
“这些都是非常强大、功能齐全、可靠的 SQL 实现。它们拥有庞大的用户社区。如果你是一家想要在互联网上销售鞋子或其他东西的初创公司,你就需要一个数据库,以及一个这些 SQL 实现将完成这些工作,我认为关系数据库和 SQL 语言将伴随人们很长很很的一段时间。”
本文为 @ 场长 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。