graphql

数据库激荡 40 年,NoSQL、NewSQL谁能接棒?

淺唱寂寞╮ 提交于 2020-10-15 08:23:13
起初有文件,后来有基于结构化文件的导航数据库,然后出现了IMS和CODASYL。大概40年前,出现了首批关系数据库。在20世纪八、九十年代的大部分时间,“数据库”严格意义上指“关系数据库”——SQL(标准查询语言)占主导地位。 后来随着面向对象编程语言日益流行,一些人认为,解决面向对象语言和关系数据库“阻抗不匹配”的办法是在数据库中映射对象。因此,我们最后迎来了“面向对象的数据库”。对象数据库方面有意思的地方是,在许多情况下,它们基本上是内置对象映射器的普通数据库。这种数据库后来渐渐失宠,下一个真正的主流尝试是2010年代的“NoSQL”。 1. ***SQL NoSQL以同样的方式***关系数据库和SQL。这回的主要问题是,互联网颠覆了具有40年历史关系数据库管理系统(RDBMS)架构的基本前提。这种数据库旨在节省宝贵的磁盘空间,并可纵向扩展。然而现在有太多的用户和太多的任务,一台胖服务器处理不了。NoSQL数据库则宣称,如果数据库没有连接(join),没有标准查询语言(因为实现SQL需要花费时间),也没有数据完整性,那么就可以横向扩展以处理众多用户。这解决了纵向扩展的问题,但也带来了新问题。 与这些联机交易处理系统(OLTP)并行开发的是另一种关系数据库,名为联机分析处理系统(OLAP)。这种数据库支持关系结构,但在执行查询时就知道它们将返回大量数据。上世纪八