Questions tagged «nosql»

NoSQL(有时扩展为“不仅限于SQL”)是一类广泛的数据库管理系统,在某些重要方面与关系数据库管理系统(RDBMS)的经典模型有所不同。

10
数据库水平和垂直缩放之间的差异
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4个月前关闭。 我遇到过许多NoSQL数据库和SQL数据库。有各种参数可以衡量这些数据库的优缺点,而可伸缩性就是其中之一。水平和垂直缩放这些数据库有什么区别?

7
何时在MongoDB上使用CouchDB,反之亦然
我陷入了这两个NoSQL数据库之间。 在我的项目中,我将在数据库中创建数据库。例如,我需要一个创建动态表的解决方案。 因此,用户可以创建具有列和行的表。我认为MongoDB或CouchDB都将对此有所帮助,但我不确定是哪一个。我还将需要有效的分页。

10
什么时候去Redis?什么时候去MongoDB?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 3年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我想要的不是Redis和MongoDB之间的比较。我知道他们是不同的。性能和API完全不同。 Redis的速度非常快,但API的“原子性”非常好。MongoDB将占用更多资源,但是该API非常易于使用,对此我感到非常满意。 它们都很棒,我想尽我所能在部署中使用Redis,但是很难编写代码。我想在开发中尽可能多地使用MongoDB,但是它需要一台昂贵的机器。 那么您如何看待两者的使用呢?何时选择Redis?何时选择MongoDB?




10
NoSQL(MongoDB)vs Lucene(或Solr)作为数据库
随着基于文档数据库的NoSQL运动不断发展,我最近研究了MongoDB。我已经注意到与Lucene(和Solr的用户)一样,如何将项目视为“文档”也有惊人的相似之处。 所以,问题是:为什么要在Lucene(或Solr)上使用NoSQL(MongoDB,Cassandra,CouchDB等)作为“数据库”? 我在寻找答案时(我确信其他人正在寻找)是对它们的一些深入比较。让我们一起跳过关系数据库的讨论,因为它们有不同的用途。 Lucene具有一些重要的优点,例如强大的搜索和权重系统。更不用说Solr中的方面了(是的,Solr即将集成到Lucene中,是的!)。您可以使用Lucene文档来存储ID,并像访问MongoDB一样访问文档。将其与Solr混合使用,您现在可以获得基于WebService的负载平衡解决方案。 在谈论类似的数据存储和MongoDB的可伸缩性时,您甚至可以对诸如Velocity或MemCached之类的进程外缓存提供程序进行比较。 关于MongoDB的限制使我想起使用MemCached,但是我可以使用Microsoft的Velocity,并且对MongoDB具有更多的分组和列表收集功能(我认为)。没有比在内存中缓存数据更快或可扩展的方法。甚至Lucene都有一个内存提供程序。 MongoDB(和其他)确实具有一些优势,例如易于使用它们的API。新建一个文档,创建一个ID,然后存储它。做完了 好,易于。


2
NoSQL用例场景或何时使用NoSQL
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 6年前关闭。 改善这个问题 经过大肆宣传,似乎很难找到有关何时使用它的可靠信息。因此,我提出了以下问题,对于这些事先真的很愚蠢的问题,我感到抱歉: 我应该对用户数据使用NoSQL吗?例如个人资料,用户名和密码等。 我应该对重要内容使用NoSQL吗?例如文章,博客文章,产品目录等。 我假设不是吗?而且我觉得NoSQL仅用于快速访问的事物,可以从中丢失数据。但是我也读到NoSQL应用程序具有内置的冗余,这样我就不会丢失数据? 另外,如果上述两个示例不好,您能给我一些我使用NoSQL的特定业务用例吗?我看到了很多常规说明,但没有看到很多实际示例。我唯一能想到的就是用户间的消息传递和分析。 谢谢!
252 nosql  use-case 

22
JSON是否有查询语言?
是否有(大致)SQL或类似XQuery的语言来查询JSON? 我正在考虑可以很好地映射到JSON的非常小的数据集,可以轻松地回答诸如“ Y> 3时X的所有值是什么”之类的查询或执行常规的SUM / COUNT类型操作。 作为完整的示例,如下所示: [{"x": 2, "y": 0}}, {"x": 3, "y": 1}, {"x": 4, "y": 1}] SUM(X) WHERE Y > 0 (would equate to 7) LIST(X) WHERE Y > 0 (would equate to [3,4]) 我认为这将在客户端和服务器端均起作用,并将结果转换为适当的特定于语言的数据结构(或可能保留为JSON) 快速Google搜索表明人们已经考虑了这一点并实现了一些东西(JAQL),但是似乎还没有出现标准用法或库集。虽然每个功能单独实现起来都很简单,但是如果有人已经正确地实现了,我不想重新发明轮子。 有什么建议? 编辑:这的确可能是个坏主意,或者JSON可能对于我正在考虑的格式来说太通用了。想要查询语言而不是直接根据需要直接执行sum / etc函数的原因是我希望构建根据用户输入动态查询。Kinda喜欢这样的论点:“我们不需要SQL,我们只需编写所需的函数即可”。最终,这要么变得一发不可收拾,要么随着您的SQL不断深入,最终您编写了自己的SQL版本。(好吧,我知道这是一个愚蠢的争论,但是您明白了。)

10
v4之前的MongoDB不符合ACID的含义是什么?
我不是数据库专家,也没有正式的计算机科学背景,所以请耐心等待。我想知道如果您使用v4之前的旧MongoDB版本(不兼容ACID)会在现实世界中产生负面影响。这适用于任何不符合ACID的数据库。 我知道MongoDB可以执行Atomic Operations,但是它们不“支持传统的锁定和复杂事务”,主要是出于性能方面的考虑。我还了解数据库事务的重要性,以及当您的数据库用于银行时的示例,并且您正在更新所有都需要同步的几条记录,如果存在以下情况,您希望事务恢复到初始状态:停电,因此信用等于购买等。 但是,当我开始谈论有关MongoDB的话题时,我们当中那些不了解数据库实际实现方式的技术细节的人开始抛出如下语句: MongoDB比MySQL和Postgres快得多,但是有一个很小的机会,例如“百万分之一”,“不会正确保存”。 “无法正确保存”部分指的是这种理解:如果在写MongoDB的那一刻就出现断电,就有可能出现一条特定记录(例如,您正在跟踪具有10个属性的文档中的综合浏览量每个文档),其中一个文档仅保存了5个属性……这意味着,随着时间的流逝,您的综合浏览量计数器将“略微”关闭。您永远不会知道多少,您会知道它们的正确率是99.999%,但不是100%。这是因为,除非您专门将此操作指定为mongodb原子操作,否则不能保证该操作是原子操作。 所以我的问题是,什么时候以及为什么MongoDB可能无法“正确保存”的正确解释是什么?它不满足ACID的哪些部分,在什么情况下,以及您怎么知道何时丢失0.001%的数据?无法以某种方式解决此问题吗?如果没有,这似乎意味着您不应该users在MongoDB中存储诸如表之类的内容,因为记录可能无法保存。但是话又说回来,那1 / 1,000,000用户可能只需要“尝试再次注册”,不是吗? 我只是在寻找与ACID不兼容的数据库(例如MongoDB)何时/为什么会发生负面事件的列表,并且理想情况下是否存在标准的解决方法(例如运行后台作业以清理数据,或仅使用SQL进行此操作等)。 。
226 sql  mongodb  acid  database  nosql 

4
什么是哈希和范围主键?
我不明白这里的范围主键是什么- http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#WorkingWithTables.primary.key 以及它如何运作? “哈希属性上的无序哈希索引和范围属性上的排序范围索引”是什么意思?


9
CAP定理-可用性和分区容限
当我尝试理解CAP中的“可用性”(A)和“分区容限”(P)时,我发现很难理解各种文章中的解释。 我感觉到A和P可以一起走(我知道不是这样,这就是为什么我不明白!)。 用简单的术语解释,A和P是什么以及它们之间的区别?


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.