小编典典

为什么Google的BigTable被称为NoSQL数据库?

sql

从维基百科:

[NoSQL数据库的]著名的生产实现包括Google的BigTable,亚马逊的Dynamo和Cassandra。

但是Google的BigTable 确实
有一些SQL变体,称为GQL

我想念什么?


阅读 355

收藏
2021-03-17

共1个答案

小编典典

NoSQL是与“标准” SQL数据库不同的所有数据库(例如MySQL,Microsoft SQL Server和PostgreSQL)的总称。

这些“标准”
SQL数据库都是关系数据库,具有SQL查询语言并遵守ACID属性。这些属性基本上可以归结为
一致性

NoSQL数据库的不同之处在于,它不支持所谓的“ SQL数据库”的以下关键功能中的一个或多个:

  • 一致性
  • 关系数据
  • SQL语言

这些功能大多数都是齐头并进的。

一致性

一致性是大多数NoSQL数据库与SQL数据库不同的地方。您可以从SQL数据库中拔出插头,以确保您的数据仍然一致且未损坏。NoSQL数据库倾向于牺牲这种一致性以获得更好的可伸缩性。Google的Bigtable也这样做。

关系数据

SQL数据库围绕规范化的关系数据。数据库确保这些关系保持有效和一致,无论您如何处理。NoSQL数据库通常不支持关系,因为它们不支持执行这些关系的一致性。同样,当数据分布在多个服务器上时,关系数据也不利于性能。

图数据库是一个例外。这些被认为是NoSQL数据库,但是具有关系数据。实际上,这就是他们的全部目的!

SQL语言

SQL语言是专门为关系数据库设计的,即所谓的“
SQL数据库”。由于大多数NoSQL数据库与关系数据库有很大的不同,因此它们不需要SQL。此外,某些NoSQL数据库具有无法用SQL表示的功能,因此需要使用不同的查询语言。

最后但并非最不重要的一点是,NoSQL只是一个 流行词 。基本上,它的意思是“除了阁楼上陈旧而值得信赖的MySQL服务器以外的任何东西”,其中包括
许多 替代性的存储机制。即使是简单的文本文件也可以被视为NoSQL解决方案:)

2021-03-17