【发布时间】:2018-05-06 22:12:32
【问题描述】:
我需要每 1 分钟存储来自百万台设备的信号,其中每个信号对象有 4 个属性加上时间戳:
- 设备 ID,始终相同
- Attr1,始终相同(设备型号)
- Attr2,大约每 6 个月更改一次。 (设备固定位置)
- Attr3,每 2-4 周更改一次(设备固件版本)
使用收集到的数据,我需要获取一些报告,例如“上个月签入了多少带有 attr2 的设备”。这里的限制是我可能需要按任何属性进行过滤和分组,而不仅仅是设备 ID。
我的第一种方法是在 bigquery 中创建一个包含嵌套记录的模型,但我不确定这是否是最佳解决方案。
您会推荐我使用哪个数据库和架构来解决这个问题?
谢谢!
【问题讨论】:
-
数据量太大了。什么设备消息值变化如此频繁以至于您需要每分钟报告一次?或者您是否尝试在一两分钟内检测到设备缺失/故障?如果是最后一个,也许您的设备每分钟传输一次,但您只需要在发生变化时将某些内容存储在数据库中,根据您的描述,这更像是每两周读取一次。
-
必须是 BigQuery 吗?为什么不使用可以分别存储时间序列数据和元数据的 TSDB,以便为每种类型的属性选择最佳压缩/模式。
标签: google-bigquery time-series bigdata scalability iot