我发现了一些与此相同的问题,但是他们没有详细说明存储数据的性质,查询方式等等......所以我认为这是值得发布的.
我的数据很简单,有三个字段: - "datetimestamp"值(日期/时间) - 两个字符串,"A"和"B",两个<20个字符
我的应用程序非常庞大(每秒数百个).所有写入都是新记录; 插入后,数据永远不会被修改.
常规读取每隔几秒发生一次,并用于填充一些近实时仪表板.我查询日期/时间值和其中一个字符串值.例如,获取datetimestamp在特定范围内的所有记录,字段"B"等于特定搜索值.这些查询通常每个返回几千条记录.
最后,我的数据库不需要无限制地增长; 我将通过手动删除它们或使用缓存过期技术(如果数据库支持)来清除10天以上的记录.
我最初在MongoDB中实现了这一点,但没有意识到它处理锁定的方式(写入块读取).随着我的扩展,我的查询花费的时间越来越长(现在30秒以上,即使使用正确的索引).现在,凭借我所学到的知识,我相信大量的写作会使我的读数挨饿.
我已经阅读了kkovacs.eu文章,比较了各种NoSQL选项,虽然我学到了很多东西,但我不知道我的用例是否有明显的赢家.我非常感谢熟悉这些选项的人的推荐.
提前致谢!
决定合适的 NoSQL 产品并不是一件容易的事。如果您确实想确保最终不会相信别人的建议或喜好,我建议您在做出选择之前了解有关 NoSQL 的更多信息。
有一本好书提供了有关 NoSQL 的非常好的背景知识,任何刚开始使用 NoSQL 的人都应该阅读这本书。
http://www.amazon.com/Professional-NoSQL-Wrox-Programmer/dp/047094224X
我希望阅读本书中的一些章节能够真正对您有所帮助。有关于什么适合什么工作等等的比较和解释。
祝你好运。