PostgreSQL是NoSQL数据库吗?

时间:2017-12-22 14:11:42

标签: postgresql nosql

我对PostgreSQL感到困惑。在某些地方,人们会说它是NoSQL,而在某些地方,人们会说它不是 NoSQL。我见过一些Postgres Plus,它实际上是NoSQL。

你能告诉我什么是真的吗?

3 个答案:

答案 0 :(得分:12)

你一直对我的营销和流行语感到困惑。

“NoSQL”是一个流行语,用于描述不同的数据库系统集合,这些数据库系统专注于“半结构化”数据(不适合表格表示),分片和高并发性,但牺牲了事务完整性和一致性,后者是关系数据库管理系统(RDBMS)的基本原则之一。

由于SQL是通常用于与RDBMS交互的语言,因此术语“NoSQL”用作所有这些系统的名称。也许这个名字也被选中了,因为SQL很冗长且常常难以理解,这引起了许多程序员的负面反应。

现在,与许多其他RDBMS一样,PostgreSQL增加了对JSON数据的支持,JSON数据是通常存储在NoSQL系统中的半结构化数据的最流行格式。现在你可以说PostgreSQL支持NoSQL数据库中常见的某个特性。

尽管如此,SQL是与PostgreSQL数据库进行交互的唯一方式,所以你不能把它称为NoSQL数据库并保持直面,除非你在市场营销。

Postgres Plus是PostgreSQL的一个封闭源代码,所以同样适用于它。

答案 1 :(得分:1)

PostgreSQL以符合标准而自豪。它的SQL实现非常符合ANSI-SQL:2008标准。它完全支持子查询(包括FROM子句中的子选择),读提交和可序列化事务隔离级别。虽然PostgreSQL有一个完全关系系统目录,它本身支持每个数据库有多个模式,但它的目录也可以通过SQL标准中定义的信息模式访问。

Source

答案 2 :(得分:1)

PostgreSQL不是NoSQL。

PostgreSQL是一种支持大多数SQL标准的经典关系数据库服务器(和语法)。

在旁注中,我建议对差异和优势进行一些研究。他们都有一个坚实的地方和时间。