MongoDB数据建模小案例:物联网时序数据库建模
注:本案例来自MongoDB官方教程PPT,也是一个非常典型的CASE,故此翻译,并结合当前MongoDB版本做了一些内容上的更新。
本案例非常适合与IoT场景的数据采集,结合MongoDB的Sharding能力,文档数据结构等优点,可以非常好的解决物联网使用场景。
需求
案例背景是来自真实的业务,美国州际公路的流量统计。数据库需要提供的能力:
- 存储事件数据
- 提供分析查询能力
理想的平衡点:
- 内存使用
- 写入性能
- 读取分析性能
- 可以部署在常见的硬件平台上
几种建模方式
每个事件用一个独立的文档存储
{
segId: "I80_mile23",
speed: 63,
ts: ISODate("2013-10-16T22:07:38.000-0500")
}
- 非常“传统”的设计思路,每个事件都会写入一条同样的信息。多少的信息,就有多少条数据