Questions tagged «nosql»

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

21
有充分理由不使用关系数据库?
您能否指出替代的数据存储工具,并给出充分的理由使用它们代替过时的关系数据库?我认为,大多数应用程序很少使用SQL的全部功能-看看如何构建不依赖SQL的应用程序会很有趣。
139 sql  database  nosql 

5
MongoDB / NoSQL:保留文档更改历史记录
数据库应用程序中一个相当普遍的要求是跟踪对数据库中一个或多个特定实体的更改。我听说过这称为行版本控制,日志表或历史记录表(我敢肯定还有其他名称)。在RDBMS中有多种方法可以实现它-您可以将所有源表中的所有更改都写入单个表(更多日志),或者为每个源表都有单独的历史表。您还可以选择管理应用程序代码的登录或通过数据库触发器进行管理。 我正在尝试思考在NoSQL /文档数据库(特别是MongoDB)中针对同一问题的解决方案是什么样的,以及如何以统一的方式解决它。它会像创建文档的版本号一样简单,并且永远不会覆盖它们吗?为“真实”文档还是“已记录”文档创建单独的集合?这将如何影响查询和性能? 无论如何,这是NoSQL数据库的常见情况,如果是,是否有常见的解决方案?
134 mongodb  nosql 

6
HBase与Hadoop / HDFS之间的区别
这是一个幼稚的问题,但是我是NoSQL范式的新手,对此了解不多。因此,如果有人可以帮助我清楚地了解HBase和Hadoop之间的区别,或者提供一些可以帮助我了解区别的指针。 到目前为止,我进行了一些研究和认证。据我了解,Hadoop提供了与HDFS中的原始数据块(文件)一起使用的框架,而HBase是Hadoop之上的数据库引擎,它基本上与结构化数据而非原始数据块一起工作。就像SQL一样,Hbase在HDFS上提供逻辑层。这是正确的吗? 请随时纠正我。 谢谢。
130 hadoop  nosql  hbase  hdfs  difference 

7
最终的英语一致性
在有关NoSQL,数据网格等的不同演讲中,我经常听到有关最终一致性的信息。似乎最终一致性的定义在许多来源中都有所不同(甚至可能取决于具体的数据存储)。 任何人都可以简单地解释一下什么是“最终一致性”,它与任何具体的数据存储都没有关系?

3
SQL(MySQL)与NoSQL(CouchDB)[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 改善这个问题 我正在设计一个高度可扩展的应用程序,该应用程序必须存储大量数据。仅举例来说,它将存储大量有关用户的信息,然后存储诸如消息,注释等之类的东西。我以前一直使用MySQL,但是现在我被迫尝试一些新的东西,例如,couchdb或类似的非SQL的东西。 有人对此有任何想法或指导吗?
126 mysql  sql  nosql  couchdb 



4
您如何在NoSQL中跟踪记录关系?
我试图找出NoSQL KVP或Document数据库中的外键和索引的等效项。由于没有枢轴表(用于添加标记两个对象之间关系的键),我真的很困惑如何以对普通网页有用的方式检索数据。 假设我有一个用户,该用户在网站上留下了很多评论。我能想到的唯一跟踪用户评论的方法是 将它们嵌入到用户对象中(看起来很没用) 创建并维护一个user_id:comments包含每个注释键列表的值[comment:34,comment:197等...],以便我可以根据需要获取它们。 不过,考虑第二个例子,你很快就会碰壁,当你用它来追踪其他事情,比如所谓的“active_comments”可能含有30000000点的ID在这使得它的关键花费TON查询每个页面只知道最近的一些活动评论。由于许多页面可能会尝试同时更新它,因此也很容易出现竞争情况。 如何在NoSQL数据库中跟踪如下所示的关系? 用户的所有评论 所有活动评论 所有标有[关键字]的帖子 俱乐部中的所有学生-或学生所在的所有俱乐部 还是我在想这个错误?

9
mongodb正在运行吗?
我已经在unix服务器上安装了mongodb和php驱动程序。 我的问题是如何判断mongodb是否正在运行?是否有一个简单的命令行查询来检查状态?如果我从外壳启动一次,则退出外壳后它将继续运行(事实并非如此)。如何使mongodb连接持久化并在服务器重新启动时自动启动? 我可以跑: -bash-3.2 $ su 密码: [root @ xxx]#cd / var / lib [root @ xxx]# . / mongodb- linux- i686-1.6.5/ bin / mongod ./mongodb-linux-i686-1.6。 5 / bin / mongod- 帮助和启动选项的帮助2月23日星期三08:06:54 MongoDB开始:pid = 7271端口= 27017 dbpath = / data / db / 32位 **注意:当使用32位MongoDB时,您只能使用大约2 GB的数据 **参见http://blog.mongodb.org/post/137788967/32-bit-limitations **警告:您正在OpenVZ中运行。众所周知这被打破了!!! Wed Feb …
117 mongodb  unix  database  nosql 

5
非关系数据库设计
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 改善这个问题 我对您使用非关系型“ nosql”数据库所使用的设计策略感兴趣,即不使用传统关系设计或SQL(例如Hypertable,CouchDB, SimpleDB,Google App Engine数据存储区,Voldemort,Cassandra,SQL数据服务等)。它们通常也被称为“键/值存储”,从根本上说,它们的作用就像巨型分布式持久哈希表。 具体来说,我想了解这些新数据库在概念数据设计方面的差异。更容易,更困难,什么都做不到? 您是否提出了在非关系世界中工作得更好的替代设计? 您是否遇到任何似乎不可能的事情? 您是否在任何设计模式之间架起了桥梁,例如从一种设计模式转换到另一种设计模式? 您是否甚至现在都在做显式数据模型(例如,在UML中),还是完全放弃了它们以支持半结构化/面向文档的数据块? 您是否错过了RDBMS提供的任何主要的额外服务,例如关系完整性,任意复杂的事务支持,触发器等? 我来自SQL关系数据库背景,因此规范化就在我的血液中。就是说,我获得了非关系数据库在简化和扩展方面的优势,而且我的直觉告诉我,设计功能必须有更丰富的重叠。你做了什么? 仅供参考,这里有关于类似主题的StackOverflow讨论: 下一代数据库 更改架构以与Google App Engine一起使用 选择一个面向文档的数据库
114 database  nosql 

4
MYSQL 5.7中的本机JSON支持:MYSQL中JSON数据类型的优缺点是什么?
在MySQL 5.7中,添加了用于在JSON表中存储JSON数据的新数据类型。显然,这将是MySQL的巨大变化。他们列出了一些好处 文档验证 -JSON列中只能存储有效的JSON文档,因此您可以自动验证数据。 有效访问 -更重要的是,当您将JSON文档存储在JSON列中时,它不会存储为纯文本值。相反,它以优化的二进制格式存储,从而可以更快地访问对象成员和数组元素。 性能 -通过在JSON列中的值上创建索引来提高查询性能。这可以通过虚拟列上的“功能索引”来实现。 便利性 -JSON列的附加内联语法使在SQL中集成文档查询变得非常自然。例如(features.feature是一个JSON列):SELECT feature->"$.properties.STREET" AS property_street FROM features WHERE id = 121254; 哇 !它们包括一些很棒的功能。现在,更容易操作数据。现在可以在列中存储更复杂的数据。因此,MySQL现在具有NoSQL的味道。 现在我可以想象对JSON数据的查询类似 SELECT * FROM t1 WHERE JSON_EXTRACT(data,"$.series") IN ( SELECT JSON_EXTRACT(data,"$.inverted") FROM t1 | {"series": 3, "inverted": 8} WHERE JSON_EXTRACT(data,"$.inverted")<4 ); 那我可以在几个json列中存储巨大的小关系吗?好吗?它破坏规范化了吗?如果可能的话,我想它将像MySQL列中的NoSQL一样。我真的很想了解更多有关此功能的信息。MySQL JSON数据类型的优缺点。



7
Redis内存不足时会做什么?
这可能是一个简单的问题,但我很难找到答案。Redis 2.0如何处理最大分配内存不足?它如何决定要删除哪些数据或将哪些数据保留在内存中?
111 nosql  redis 

6
从DynamoDB删除大量项目的推荐方法是什么?
我正在DynamoDB中编写一个简单的日志记录服务。 我有一个由user_id哈希和时间戳(Unix纪元int)范围作为关键字的日志表。 服务的用户终止其帐户后,无论范围值如何,我都需要删除表中的所有项目。 建议进行这种操作的方法是什么(请记住可能要删除数百万个项目)? 据我所知,我的选择是: 答:执行扫描操作,对每个返回的项目调用delete,直到没有剩余项目为止 B:执行BatchGet操作,再次对每个项目调用delete,直到没有剩余为止 这两个对我来说都很糟糕,因为它们将花费很长时间。 我理想地要做的是调用LogTable.DeleteItem(user_id)-不提供范围,而是让它为我删除所有内容。

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.