ang*_*man 12 mongodb cassandra nosql riak
我正在计划一个侧面项目,我将处理像时间序列一样的数据,并希望尝试其中一个闪亮的新NoSQL数据库,我正在寻找推荐.
对于(增长的)一组,symbols我将有一个(time,value)元组列表(随着时间的推移而增加).并非所有symbols都会更新; 有些symbols可能会更新而有些可能不会更新,并且symbols可能会添加全新内容.
因此,数据库应该允许:
创建和更新操作应该是原子的.如果一次读取多个符号是可能的,那将是有趣的.
表现并不重要.更新/创建大约每隔几个小时发生一次.
yam*_*men 17
我相信所有主要的NoSQL数据库都会支持这个要求,特别是如果你实际上没有大量的数据(这就引出了问题,为什么是NoSQL?).
也就是说,我最近不得不设计和使用NoSQL数据库来处理时间序列数据,因此可以对该设计提供一些输入,然后可以为所有其他设计进行外推.
我们选择的数据库是Cassandra,我们的设计如下:
这使您可以实现所要求的一切,尤其是读取单个符号的数据,并在必要时使用范围(列范围调用).虽然你说性能并不重要,但它对我们来说也是非常高效的 - 任何单个符号的所有数据都按照定义排序(列名排序)并始终存储在同一节点上(对于简单查询没有交叉节点通信) ).最后,这种设计很好地转换为具有动态列的其他NoSQL数据库.
除此之外,还有一些关于时间序列存储使用MongoDB(以及必要时的上限集合)的信息:MongoDB作为时间序列数据库
最后,这里讨论SQL与NoSQL的时间序列:https://dba.stackexchange.com/questions/7634/timeseries-sql-or-nosql
我可以在以下讨论中添加以下内容: