我一直在听NoSQL的事情,它最终可能成为SQL DB存储方法的替代品,因为数据库交互通常是网络速度的瓶颈.
所以我只有几个问题:
究竟是什么?
它是如何工作的?
为什么它比使用SQL数据库更好?它有多好?
这项技术是否太新,无法开始实施,还是值得研究一下?
我正在试图找出我可以用于未来项目的东西,我们计划在第一年每月存储大约50万条记录,并且可能在接下来的几年中存储更多这是一个垂直应用程序,所以没有必要使用这个数据库,这就是我决定选择noSQL数据存储的原因.
我想到的第一个选择是mongo db,因为它是一个非常成熟的产品,得到了社区的大力支持,但另一方面我们得到了一个全新的产品,提供最佳性能的托管服务,我将开发这个应用但没有维护计划(至少现在),所以我认为这将是一个巨大的优势,因为亚马逊提供了一种弹性的扩展方式.
我主要担心的是查询结构,我还没有看过dynamoDB查询功能,但由于是ak/v数据存储,我觉得这可能比mongo db更受限制.
如果有人有将项目从mongoDB迁移到DynamoDB的经验,那么任何建议都将完全受到赞赏.
最近NoSQL获得了极大的欢迎.
NoSQL相对于传统RDBMS有哪些优势?
在过去的几天里,我一直在玩redis(并添加一些乐趣),我想知道是否有办法清空数据库(删除集合,现有密钥......) .
在我的测试中,我创建了几个有很多成员的集合,甚至创建了我不记得名字的集合(我怎么能列出那些人呢?).
有关如何摆脱所有这些的想法吗?
在NoSQL运动方面,我是一个完整的菜鸟.我听说过很多关于MongoDB和CouchDB的内容.我知道两者之间存在差异.你建议学习哪些作为进入NoSQL世界的第一步?
的BASE缩写,是用于描述特定的数据库,通常NoSQL数据库的属性.它通常被称为与ACID相反.
只有很少的文章涉及BASE的细节,而ACID有很多文章详细阐述了每个原子性,一致性,隔离性和耐久性属性.维基百科只用了几行来表达这个词.
这让我对定义有一些疑问:
B asically A vailable,S oft state,E ventual consistency
我使用这篇文章和我的想象力将这些属性解释如下:
基本上可用的可以指的是数据的感知可用性.如果单个节点发生故障,部分数据将不可用,但整个数据层仍然可以运行.
软状态:我所能找到的只是需要周期刷新的数据概念.如果没有刷新,数据将过期或被删除.
最终的一致性意味着在给定足够时间的情况下,更新最终将波及所有服务器.
有人可以详细解释这些属性吗?
或者它只是一个牵强附会和毫无意义的缩写,指的是化学中发现的酸和碱的概念?
您能否指出替代数据存储工具并提供充分的理由来使用它们而不是旧的关系数据库?在我看来,大多数应用程序很少使用SQL的全部功能 - 看看如何构建一个无SQL的应用程序会很有趣.
使用NoSQL数据库有什么好处?我最近已经阅读了很多关于它们的内容,但是我仍然不确定为什么我要实现它,在什么情况下我想要使用它.