我需要一个可扩展的NoSql
解决方案来将数据存储为数组,用于许多字段&时间戳,其中键是field
和timestamp
的组合。
数据将存储在以下方案中:
KEY - > “FIELD_NAME.YYYYMMDD.HHMMSS”
VALUE - > [v1,v2,v3,v4,v5,v6](v1..v6只是floats
)
例如,假设:
FIELD_NAME =“TOMATO”
TIME_STAMP =“20060316.184356”
VALUES = [72.34,-22.83,-0.938,0.265,-2047.23]
我需要能够检索 VALUE (整个数组)给定FIELD_NAME
&的组合。 TIME_STAMP
。
查询 VALUES [“ TOMATO.20060316.184356 ”]将返回矢量[72.34,-22.83,-0.938,0.265,-2047.23]。数组的读取应该尽可能快。
然而,我还需要一种方法来存储(就地)数组中的标量值。假设我想将时间戳TOMATO
上的2006/03/16.18:43:56
的第一个元素指定为500.867
。在这种情况下,我需要有一个快速机制来执行此操作 - 例如:
VALUES [“ TOMATO.20060316.184356 ”] [0] = 500.867(这会在磁盘上更新)
任何想法哪个NoSql
解决方案最适合这个(如果它有python
接口那么大加?)我正在寻找一个快速而强大的解决方案。我的数据需求将增长到大约20 [TB]。
答案 0 :(得分:3)
听起来像MongoDB会很合适。 PyMongo是api。
答案 1 :(得分:0)
您的数据结构严谨且定期;你在NoSQL和更传统的数据库中看到了什么好处?
我认为MySQL Cluster听起来是为你的问题量身定做的。
修改强>
@ user540009:我同意MySQL的单机或镜像实例大幅减速超过半太字节,没有人想要处理手动分片; MySQL Cluster旨在解决这个问题,我已经阅读了(尽管不是个人玩过的)高达110TB的实现。