最佳(NoSQL?)DB用于小型文档/记录,不变数据,大量写入,快速读取?

我发现了一些与此相同的问题,但它们没有详细说明存储数据的性质,查询方式等等……所以我认为这样做是值得发布的.

我的数据很简单,有三个字段:
– “datetimestamp”值(日期/时间)
– 两个字符串,“A”和“B”,两者都是< 20个字符 我的应用程序非常庞大(每秒数百个).所有写入都是新记录;插入后,数据永远不会被修改. 常规读取每隔几秒发生一次,用于填充一些近实时仪表板.我查询日期/时间值和其中一个字符串值.例如获取datetimestamp在特定范围内的所有记录,字段“B”等于特定搜索值.这些查询通常每个返回几千条记录. 最后,我的数据库不需要无限增长;我将通过手动删除它们或使用缓存过期技术(如果数据库支持)来查看10天内清除记录. 我最初在MongoDB中实现了这个,但没有意识到它处理锁定的方式(写块读取).随着我的扩展,我的查询花费的时间越来越长(现在是30秒,即使有正确的索引).现在,凭借我所学到的知识,我相信大量的写作会使我的读数匮乏. 我已经阅读了kkovacs.eu帖子,比较了各种NoSQL选项,虽然我学到了很多东西,但我不知道我的用例是否有明显的赢家.我非常感谢熟悉这些选项的人的推荐.

提前致谢!

在系统记录过程控制测量之前,我遇到过这样的问题.这是使用5 MHz IBM PC完成的,因此绝对有可能.用例更加多样化 – 按分钟,小时,八小时轮班,一天,一周,一个月或一年进行汇总 – 因此系统记录了所有原始数据,但也会针对最常见的查询进行汇总(这是平均五分钟).对于您的仪表板,似乎五分钟聚合也是一个主要目标.

也许这可以通过为每个输入流编写一对文本文件来解决:一个包含所有原始数据;另一种是多分钟聚合.仪表板将忽略原始数据.当然,可以使用数据库来做同样的事情.但简化应用程序可能意味着不需要RDB.更易于设计和维护,更易于安装在微控制器,嵌入式系统等上,或者在共享主机上更友好的邻居.

相关文章
相关标签/搜索