目录

    • 两个叠加策略:
    • 要使用MySQL作为物联网实时数据库,采用以下两个策略:

在这里插入图片描述

物联网实时数据库最好采用时序数据库(如opentsdb、influxdb),因为物联网的数据一般都是连续的、带有时间戳的采集记录。不过,在某些特殊情况下,必须或最好使用MySQL。

两个叠加策略:

  1. 将MySQL的引擎替换为myrocks。myrocks引擎的内核是rocksdb,而rocksdb和时序数据库都是基于相同的底层机制(lsm索引机制)。因此,myrocks引擎特别适合连续的、大规模写入的、近期数据查找极快的情况。

  2. 在数据表的模型设计层面,设计物联网的时序模型。尽管MySQL引擎已经更换成了与时序数据库相同的底层机制,但上层结构设计并没有适配时序数据的结构与模型,所以需要在数据表设计时进行适配。可以学习opentsdb等时序数据库的记录模型,例如使用类似于opentsdb的datapoint结构,包括metric指标任务、timestamp时间戳、value数据和tags标签。这样的设计能够减少很多不必要的麻烦。

要使用MySQL作为物联网实时数据库,采用以下两个策略:

  1. 替换MySQL的引擎为myrocks:myrocks引擎的内核是rocksdb,而rocksdb和一些时序数据库都是基于lsm索引机制的。myrocks适合于大规模写入、近期数据查找快的情况,因此从底层机制上能提供适合物联网实时数据的支持。

  2. 在数据库表的模型设计上,采用时序模型:学习类似opentsdb的时序数据库的记录模型,设计数据表结构。一个典型的时序数据点(datapoint)结构包括:指标任务(metric)、时间戳(timestamp)、数据值(value)和标签(tags)。通过这样的设计,能够更有效地存储和查询物联网实时数据。

具体的代码实现可以根据具体的需求和业务逻辑来编写,可以使用MySQL提供的API或者相关的编程语言进行操作。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐