数据库和相关问题

时间:2017-03-03 01:04:53

标签: sql nosql

我想了解有关数据库的知识。我理解像MySQL,DB2等关系数据库。我想了解什么是NoSQL。如果有人能够回答我的问题并且这不是一个重复的问题,那就太棒了,请理解错综复杂的细节。

  1. 什么是NoSQL? NoSQL是否与关系不同只是因为它以JSON格式存储数据?
  2. NoSQL版本Firebase,Cloudant,MongoDB有何不同?
  3. Elastic-search与NoSQL数据库有何不同?
  4. 可以将Elastic-search独立用作数据库吗?

1 个答案:

答案 0 :(得分:1)

  

什么是NoSQL? NoSQL与关系的区别仅在于它以JSON格式存储数据吗?

正如Tim在上面评论的那样,有许多不同的数据库产品都属于“NoSQL”的范畴。这真的是一个营销术语,而不是技术术语而不是产品名称。

在汽车世界中,如果你说“轿跑车”我们知道这是一种特定类型的汽车,并且轿跑车预计将具有某些特征,但是许多制造商有许多不同的汽车模型适合这一类别。

您可能希望阅读有关可被视为NoSQL的225多种数据库产品的信息:http://nosql-database.org

我不知道任何以JSON格式存储数据的NoSQL数据库。一些传输数据作为查询结果为JSON格式。

数据的存储方式与关系是否相关无关。关系数据库是关于如何将数据组织到表中,并且表有一个标题,用数据类型命名其列,然后是行。 SQL是与关系数据库交互的最流行的语言。存在许多关系数据库产品(例如,Oracle,MySQL和Microsoft SQL Server是最受欢迎的),并且每个都以自己的方式存储数据。

NoSQL不使用SQL语言进行查询,而且它们不一定限于将数据存储在定义良好的表中。但这就是一般性陈述的结束。他们如何查询数据以及他们如何组织数据在每个产品之间变化很大。

所以“NoSQL”实际上是一种类型的逆转 - 它更像是说“不是轿跑车”。那么它是什么呢?除了双门跑车之外,还有其他所有类型。它是面包车,卡车,摩托车,单轮脚踏车,雪地车和滑水板。

  

NoSQL版本Firebase,Cloudant,MongoDB有何不同?

对于Stack Overflow的格式,这个问题太过广泛。 Stack Overflow希望主持有关特定编码问题的问题。

简言之:

  • Cloudant是一种IBM托管数据库服务,基于Apache CouchDB,使其成为文档存储。
  • Firebase是一种Google托管数据库服务,旨在为移动应用提供后端数据,身份验证和消息传递。
  • MongoDB是一个开源文档存储,您可以在自己的服务器上运行。在关闭之前,MongoDB是Facebook的Parse服务所使用的技术。 Parse的目标是与Firebase相同的移动应用市场。
  

Elastic-search与NoSQL数据库有何不同?

弹性搜索在内部使用Apache Lucene,一种全文索引技术。它通常不是一个通用的NoSQL数据库,它更像是一个搜索引擎。

  

Elastic-search可以独立用作数据库吗?

我真的不推荐它。很多人问同样的问题,他们可以用像Lucene这样的搜索引擎替换他们的关系数据库。那些尝试过它的人的答案总是如此,“我们一直在尝试,直到Lucene指数自行腐蚀,然后我们就被冲洗了。”

人们低估了强大的数据持久性和崩溃恢复的重要性,直到他们成为弱耐久性和崩溃恢复的受害者。

使用搜索引擎作为安全存储在持久数据库中的数据的索引技术。当(不是)它爆炸时,您可以从您的原始数据重新加载它。运行多个搜索引擎实例,以便在重建另一个实例时保持一个可用。