用于存储数组的NoSQL解决方案?

0 投票
2 回答
1769 浏览
提问于 2025-04-16 15:14

我需要一个可扩展的 NoSql 解决方案,用来存储很多字段和时间戳的数据,数据的存储方式是用 数组。这里的键是字段和时间戳的组合。

数据的存储格式如下:

--> "字段名.年月日.时分秒"

--> [v1, v2, v3, v4, v5, v6] (v1到v6都是 浮点数)

举个例子,假设:

字段名 = "TOMATO"

时间戳 = "20060316.184356"

= [72.34, -22.83, -0.938, 0.265, -2047.23]

我需要能够根据 字段名时间戳 的组合来获取 (整个数组)。

查询 ["TOMATO.20060316.184356"] 会返回数组 [72.34, -22.83, -0.938, 0.265, -2047.23]。读取数组的速度应该尽可能快。

此外,我还需要一种方法,可以在数组中直接存储一个标量值。假设我想把时间戳为 2006/03/16.18:43:56TOMATO 的第一个元素设置为 500.867。在这种情况下,我需要一个快速的机制来做到这一点,比如:

["TOMATO.20060316.184356"][0] = 500.867 (这会在磁盘上更新)

有没有想法哪个 NoSql 解决方案最适合这个需求(如果有 python 接口那就更好了)?我在寻找一个快速而强大的解决方案。我的数据需求将增长到大约 20[TB]。

2 个回答

3

听起来MongoDB会很适合你。PyMongo是它的接口。

0

你的数据结构很清晰且规律,那么使用NoSQL数据库相比传统数据库有什么好处呢?

我觉得MySQL Cluster非常适合你的问题。

补充:

@user540009:我同意,对于单台机器或镜像实例的MySQL来说,当数据超过半个TB时,确实会出现严重的速度问题,而且没有人想手动分片;MySQL Cluster就是为了解决这个问题的,我听说过(虽然没有亲自尝试过)可以支持到110TB的实现。

撰写回答