【发布时间】:2010-09-24 17:17:19
【问题描述】:
我最近一直在研究 NoSql 选项。我的场景如下:
我们从世界各地偏远地区的定制硬件收集和存储数据。我们每 15 分钟记录一次来自每个站点的数据。我们最终希望每 1 分钟移动一次。每条记录有 20 到 200 个测量值。一旦设置硬件记录并每次报告相同的测量值。
我们面临的最大问题是我们从每个项目中获得不同的测量值。我们测量了大约 50-100 种不同的测量类型,但是任何项目都可以有任意数量的每种测量类型。没有可以容纳数据的预设列集。因此,我们在系统上设置和配置项目时,使用所需的确切列创建和构建每个项目数据表。
我们提供工具来帮助分析数据。这通常包括更多的计算和数据聚合,其中一些我们还存储。
我们目前正在使用 mysql 数据库,每个客户端都有一个表。表之间没有关系。
NoSql 看起来很有希望,因为我们可以存储一个 project_id、时间戳,然后其余的就不会被预设。这意味着一张表,数据中的更多关系,但仍处理各种测量。
“NoSql”解决方案是否适合这项工作?如果有,有哪些?
我一直在研究 MongoDB,它看起来很有希望......
说明示例:
项目 1 记录了 5 个数据点,mysql 表列如下所示: 时间戳、温度、风速、降水、辐照度、风向
项目2有3个数据点记录mysql表列: 时间戳、温度、辐照度、温度2
【问题讨论】:
-
你有多少客户?
-
目前 150 个,按照我们目前的速度,我们每年增加约 100 个,但我们预计(希望)会增加。期望该系统在未来几年内需要处理数千个项目并不是不合理的。
标签: ruby-on-rails ruby database nosql