暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

每日一答:MySQL可以作为物联网实时数据库吗?

读字节 2021-04-30
1574

 戳蓝字读字节关注我们哦


问题:

如题,MySQL可以作为物联网实时数据库吗?

回答:

物联网实时数据库按正常情况讲,最好采用如opentsdb,influxdb此类的时序数据库,因为物联网的实时采集数据,一般都是连续的,带有时间戳的,设备或生物的指标采集记录。

但是事情总有特殊性,若实际情况必须或最好使用MySQL,那么也并不是没有办法,那就需要有两个叠加策略:

  1. MySQL的引擎替换innodb为myrocks

  2. 在数据表的模型设计层面,设计物联网的时序模型。

这么做的原因一方面是因为myrocks引擎的内核就是rocksdb,而rocksdb和上面提到的时序数据库都是基于一样的底层机制,lsm索引机制。

具体底层机制可以参考这一篇:《NewSQL分布式数据库,例如TIDB用K/V的底层逻辑

所以myrocks就特别适合连续的,大规模写入的,近期数据查找极快的情况。那么这就从底层机制上有了合适的支撑。

另一方面,尽管MySQL引擎换成了与时序数据库同类型的底层机制,但是始终上层结构设计并没有适配时序数据的结构与模型,那么就需要自己在数据表设计了,例如:

"metric": "sys.cpu.data",
"timestamp": '1490586542',
"value": '29',
"tags": {
"host": "web02"
}

上面的就是一个封装好了的opentsdb数据点:datapoint。这样的datapoint会有无数个写入opentsdb。datapoint内部结构包括了metric指标任务,timestamp时间戳,value数据,tags标签。

因此你的数据表设计尽量学习opentsdb此类时序数据库的记录模型,就能少走很多弯路。

(END)
如果觉得写得不错,文章对你有用,请在文末在看,分享和赞」三连击

——点击“阅读原文”即可获取更多精彩内容——


文章转载自读字节,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论