tablestore开源解决方案
在不久前落幕的2022阿里云全球数据湖峰会上,EMQ与阿里云联合发布了一站式工业数字化解决方案的构想。这一方案的实现基于云原生分布式物联网消息服务器EMQX和阿里云表格存储Tablestore的高效集成,结合EMQ物联网数据基础设施产品矩阵中的其他边缘计算产品,实现边缘工业数据到云端的综合接入、汇聚与清洗,以及后端大数据分析和应用。
经过双方研发团队的共同努力,目前EMQX与Tablestore已正式完成技术对接。结合双方产品在数据采集和存储分析方面的优势,EMQ与阿里云共同打造了一套更加通用、适用于更多行业场景的一体化解决方案。
合作背景
产品互补性强
作为一家物联网数据基础设施软件供应商,EMQ致力于帮助企业客户快速构建云边一体化的IoT基础设施能力底座。在构建物联网平台与应用的过程中,很多企业会选择公有云方式部署,往往会需要公有云提供IoT存储服务。阿里云表格存储(Tablestore)则可以面向海量结
构化数据提供Serverless表存储服务,同时针对物联网场景深度优化提供一站式的IoTstore解决方案。
行业客户高度重叠
以EMQX为核心的EMQ云边一体化产品组合广泛应用在车联网、能源电力、充电桩、智能家居、工业互联网和消息通信等行业场景。阿里云表格存储(Tablestore)提供的海量数据低成本存储、毫秒级在线数据查询和检索以及灵活的数据分析能力,也适用于海量账单、IM消息、物联网、车联网、风控、推荐等场景中的结构化数据存储。EMQX+TableStore有高度重叠的应用场景和目标客户,可共同为企业客户提供一站式的物联网消息通信、数据集成和IoT数据存储服务。
解决多元化数据存储需求
物联网应用场景往往面临多元化数据存储的需求,EMQ云边一体化产品组合通过边缘的协议接入、数据清洗以及云端强大的规则引擎,可以实现元数据、消息数据、时序数据的一站式集成对接能力。在IoTstore组合存储方面,客户大多是通过开源产品组合方案(Mysql
+ES+HBase+OPENTSDB等)实现,技术架构、运维等往往成本较高,Tablestore则通过一体化架构,为IoTstore提供了大规模、免运维、低成本、易扩展的解决方案。
方案详解
产品介绍
EMQX:云原生分布式物联网消息服务器
EMQX通过一体化的分布式MQTT消息服务和强大的IoT规则引擎,为高可靠、高性能的物联网实时数据移动、处理和集成提供动力,「随处运行,无限连接,任意集成」,助力企业快速构建关键业务的IoT平台与应用。
开源mqtt服务器以EMQX为核心,结合物联网边缘工业协议网关软件Neuron、超轻量边缘MQTT消息服务器NanoMQ以及超轻量物联网边缘数据流式分析引擎eKuiper,共同构成了EMQ面向未来的现代物联网数据基础设施。在边缘侧可以实现工业协议适配、边缘轻量级消息服务、边缘流计算(数据过滤、清洗、聚合与AI推理扩展),在云端则可实现全网络、多协议的海量消息接入能力,强大的规则引擎实现IoT数据的编解码、数据转发、数据持久化等灵活集
成能力,为后端大数据分析和应用提供可靠的数据支撑,构建云边一体化的IoT基础设施能力底座。
TableStore:一站式物联网存储IoTstore
表格存储(Tablestore)是阿里云推出的一款云上的结构化数据存储产品,面向海量结构化数据提供Serverless表存储服务,具备极为丰富的产品功能和生态,提供了物联网存储IoTstore、宽表引擎、多元索引等能力来满足时序数据、消息数据、元数据场景的需求。同时针对物联网场景深度优化提供一站式的IoTstore解决方案,提供海量数据低成本存储、毫秒级的在线数据查询和检索以及灵活的数据分析能力。
表格存储Tablestore提供的Serverless服务模式极为适合物联网数据存储,计算和存储均可独立弹性扩展。在使用过程中无需关心存储容量和计算扩容,存储容量可弹性扩展至PB级,提供冷热分层存储大大降低存储成本。底层对设备元数据进行多维索引,满足灵活的设备检索需求。提供SQL能够对时序数据进行查询和分析,灵活的满足数据分析需求。
方案架构
该方案通过EMQX的规则引擎实现与Tablestore集成,用户可以利用可视化的规则引擎配置界面,快速便捷实现设备元数据、时序数据、消息数据快速集成入库。
EMQX与Tablestore团队针对产品高效对接都做了专项优化工作,实现了多元的IoT数据高效存储集成。通过Tablestore一体化架构,为IoTstore提供大规模、免运维的低成本、易扩展的一站式解决方案,有效解决了数据库产品的技术选型、分类存储等技术难点。
EMQX+Tablestore联合解决方案为企业客户提供一站式的物联网消息通信、数据集成和IoT数据存储,可以广泛应用于车联网、充电桩、IM消息、物联网、智能推选等应用场景。
以车联网场景为例,该场景涉及很多车况感知数据上报和车控消息的下发,车辆定时会更新当前的最新状态信息,如发动机当前转速、当前车速等。这些描述车辆最新状态信息的数据我们称之为元数据;而在智能汽车行驶过程中,车辆的状态数据会随着时间而变化,如车辆一段时间内的车速、胎压等,这些描述车辆历史状态信息的数据我们称之为时序数据;还有一种数据场景是对车辆行为进行控制的指令消息,例如通过车主的手机APP远程开启空调的车控指令下发和执行结果反馈,这些控制指令的上下行被称为消息数据。
不同类型的数据应用的场景各不相同,所以对存储系统的需求也有所不同。我们之前可能需要通过MySQL、Kafka、Redis、HBase等多套不同的数据库产品来融合实现,而现在我们则可以基于EMQX+Tablestore轻松实现一站式数据采集与存储。
方案实践:如何实现EMQX与Tablestore的对接
创建数据库实例
创建实例操作步骤请参考Tablestore官方文档
点击实例管理,点击时序表列表。创建时序表。
点击上一步中创建的时序表,进入时序表管理。点击数据管理,创建时间线,按照业务设计创建出时间线。
创建规则引擎资源
登录EMQXDashboard,点击规则引擎-资源-创建资源,下拉框中到阿里云表格存储Tablestore(时序)
使用创建出的实例属性,填写对应Tablestore服务器和实例名称。