术语" NoSql&#34 ;?的确切含义是什么?

时间:2018-02-28 05:11:16

标签: mongodb nosql

对于可伸缩数据库,术语" NoSQL&#34 ;?的确切含义是什么?我们为什么要打电话" NoSQL"?是什么原因? 请解释一下。

2 个答案:

答案 0 :(得分:0)

1SQL是一个关系数据库,意味着您必须首先定义数据。在SQL中,您必须创建一个包含值和类型的表。一个例子是创建一个名为' firstname'的字段。使用VARCHAR类型。在NoSQL中,数据库不遵循预先确定的模式。一个例子是MongoDB。 MongoDB使用类似JSON的文档来存储数据。我们假设您要存储其中包含其他子字段的用户。一个用户只能拥有姓名和电子邮件,而另一个用户可能拥有姓名,电子邮件和日期。

sr.pipe(lambda sr: pd.Series(sr,name='new name'))

与这个类似SQL的表相比,每个用户都有一个预制结构



{
  "users" : [ 
    {
      "name" : "John Doe",
      "email": "JDoe@server.com"
    },
    {
      "name" : "John Doe",
      "email": "JDoe@server.com",
      "date" : "2-28-2018"
    }
  ]
}




如果要在SQL中完成,则必须创建具有名称,电子邮件和日期字段的表,即使用户没有其中一个字段也是如此。因此,与传统的关系数据库相比,NoSQL数据库可以提供更多功能。

See this article for further details about SQL vs NoSQL

答案 1 :(得分:0)

术语NoSQL表示非关系数据库系统,通过将数据存储为轻量级BSON文档而将数据存储封装到数据库模式设计中,而不是在关系模型设计之后将数据跨行传输到数据库表中。与使用SQL作为查询语言的数据库系统不同,NoSQL数据库系统不完全支持数据库事务,而是对即将推出的MongoDB版本,版本 4.0交易将成为NOSQL数据库系统的一部分。

NoSQL数据库系统(如MongoDB)没有命令来执行存储在属于数据库的集合中的数据的操作,这与由SELECT,INSERT,DELETE,UPDATE等命令组成的SQL组成,这些命令属于DML(数据操作语言)组件的SQL。与使用SQL作为查询语言的数据库系统不同,作为非关系数据库的NOSQL数据库系统不支持连接操作,或者使用嵌入式文档定义数据的关系模型,这最小化了到数据库服务器的往返,同时检索存储在属于数据库的集合中的数据。

因此,由于其方法论的主要差异,术语NOSQL被定义为表示不使用SQL作为查询语言的数据库系统的行为