基于Tablestore的一站式物联网存储解决方案-场景篇

简介: ## 前言随着5G时代的来临,万物互联概念的兴起,物联网渐渐覆盖到了各行各业中。本系列文章将为大家介绍基于表格存储Tablestore的一站式物联网存储解决方案。以共享充电宝场景为例,实现物联网场景下元数据、时序数据存储,高并发更新、分析计算等需求。## 背景共享经济是近年来兴起的一种概念,共享概念极大方便了人们的生活。例如共享单车、共享车位、共享充电宝等等。这些场景里包含了大量的设备元

前言

随着5G时代的来临,万物互联概念的兴起,物联网渐渐覆盖到了各行各业中。本系列文章将为大家介绍基于表格存储Tablestore的一站式物联网存储解决方案。以共享充电宝场景为例,实现物联网场景下元数据、时序数据存储,高并发更新、分析计算等需求。

背景

共享经济是近年来兴起的一种概念,共享概念极大方便了人们的生活。例如共享单车、共享车位、共享充电宝等等。这些场景里包含了大量的设备元数据,例如单车状态数据、车位状态数据等,与此同时,设备状态的变化也将产生规模巨大的时序数据。如何低成本稳定地存储数据,如何高并发低延迟地更新数据,以及如何挖掘数据的商业价值,这些难点对于存储系统的功能、性能无疑是一个巨大的挑战。

需求分析

这里以共享充电宝场景为例,分析此类场景的角色、功能需求以及实现难点。
共享充电宝场景是以多租赁机柜终端的模式,为用户提供充电宝租赁服务。机柜终端分布在全国各地,海量机柜元数据对存储系统的规模要求极高,机柜元数据包括机柜位置、机柜型号、机柜电量、机柜上线状态、时价、可用充电宝数量等等。存储系统需根据这些元数据检索出合适的机柜终端信息推送到客户端,为用户提供服务。

场景中会出现三种角色:用户、运维人员、运营人员

  1. 用户。用户通常较为关注服务功能性和响应速度。例如:可根据机柜距离远近、可用充电宝数量、机柜上线状态等机柜元数据,通过业务系统查询到合适的租赁机柜位置,便于租赁或者归还充电宝。用户的每一次租赁或归还,都会产生一条租赁订单记录,订单记录包括了用户信息、租赁归还时间、租赁时长、机柜型号、机柜ID等订单信息;同时会更新机柜元数据,例如可用充电宝数量等,而如果更新响应延迟过高,则可能出现其他用户查询到的数据不是最新状态,影响用户的服务体验。
  2. 运维人员。运维人员通常更关注机柜状态、机柜性能等信息,通常会分析机柜的状态数据。例如:机柜终端提供租赁服务期间,难免会出现一些损坏或未检修的机柜。运维人员可定期查询机柜元数据,根据机柜上线状态、机柜检修时间戳等信息,生成需替换或检修的机柜名单,定期更换机柜。同时可统计每个型号机柜的损坏比例,为后续机柜采购提供参考。
  3. 运营人员。运营人员通常更关注营业额,通过挖掘元数据和订单数据中的价值信息,及时调整业务的发展方向。例如通过分析订单表,可根据地域、机器型号批量计算营业额,生成报表。同时可生成机柜元数据时序表,统计每个时间段各地域充电宝的租赁比例等。

总结,不同的角色具有不同的需求侧重点,对应到对存储系统的功能需求也不一样。角色与功能需求的对应关系如下图:

从上图可以看出,存储系统需要具备并发更新、多维查询、离线分析、批量计算的能力。下面为每个功能列举了部分具体的场景示例。

  • 批量更新

用户

租赁充电宝、归还充电宝

  • 运维人员

新增机柜、下架机柜

  • 多维查询

用户

查询机柜距离在xx范围内的机柜、查询时价在xx范围内的机柜、查询有可用充电宝的机柜...

  • 运维人员

查询检修时间在xx范围外的机柜、查询已报废的机柜...

  • 离线分析

运维人员

统计每个厂商的机柜损坏比例、统计每个型号的机柜损坏比例

  • 运营人员

统计每个地域机柜的租赁比例、统计每个时间段机柜的租赁比例

  • 批量计算

运营人员

按照地域定时成营收报表、按照机器型号定时生成营收报表

技术难点

  1. 机柜终端元数据规模巨大。对数据库存储要求高。
  2. 机柜终端元数据更新频繁,并发度较高。对存储服务稳定性、负载能力要求高。
  3. 多维查询延迟敏感。

方案选择

传统数据库MySQL方案

MySQL是传统的OLTP型数据库,对于一些在线交易类场景的读写能提供良好的事务能力。共享充电宝场景下机柜元数据规模非常大,可能会达到TB级别,然而MySQL的性能存在明显的瓶颈,当单表数据量级超过千万行或者访问QPS超过1万时,性能会明显下降。并且随着机柜数量的增加,业务数据会进一步增加,对于存储系统的可扩展性同样是巨大的挑战。若采用传统的分库分表方案,则需要做数据迁移、业务代码重构,这些无疑会加大运维成本和开发成本。对于多维查询的需求,MySQL提供的多列索引只能支持最左前缀匹配,当无法满足匹配条件时,可能会退化为全表扫描,进而影响查询速度。离线分析类的需求,OLTP库显然更不能满足。

基于表格存储Tablestore方案

表格存储Tablestore是阿里云自研的多模型结构化数据存储,表格存储的分布式存储和强大的索引引擎能够支持PB级存储、千万TPS以及毫秒级延迟的服务能力。MySQL与表格存储Tablestore各个维度的对比如下图:

MySQL 表格存储Tablestore
单表存储规模 千万行 百亿行
QPS 一万以内 千万级
扩展性 分库分表 表分区水平扩展
多维检索 多列索引 多元索引
生态产品 / Spark、Blink、DataV、DLA

从上图可以看出,在各个维度的对比下。表格存储Tablestore更适用于共享充电宝场景,表格存储不仅支持海量数据存储与千万级TPS读写,在扩展性方面,可通过表分区分裂来提升服务的存储和吞吐能力。表格存储Tablestore提供了多元索引功能,其多存储引擎的形态也可同时满足多维查询、轻量级分析的业务需求。在上下游生态方面,表格存储Tablestore可对接一些分析类、计算类产品,例如Spark、Blink、DataV等等,为存储系统衍生出强大的数据分析、数据计算、数据可视化等能力。基于表格存储Tablestore实现共享充电宝场景架构图如下:


小结

共享充电宝场景的数据规模较大、QPS较高,对存储系统的功能需求也比较丰富,难以使用单一的OLTP数据库方案实现。这里选择基于表格存储Tablestore的方案,实现共享充电宝场景的存储系统。本系列文章将共分为六篇为大家介绍。分别为:
《基于Tablestore的一站式物联网存储解决方案-场景篇》
《基于Tablestore的一站式物联网存储解决方案-表设计篇》
《基于Tablestore的一站式物联网存储解决方案-数据操作篇》
《基于Tablestore的一站式物联网存储解决方案-Spark 分析》,
《基于Tablestore的一站式物联网存储解决方案-数据湖分析》
《基于Tablestore的一站式物联网存储解决方案-Flink 实时计算》
下章节《基于Tablestore的一站式物联网存储解决方案-表设计篇》,将介绍表格存储Tablestore的实例和表的创建步骤,以及如何结合Tablestore的服务架构与共享充电宝场景设计出合理的表结构。

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
11月前
|
存储 消息中间件 监控
Tablestore 物联网存储全面升级 -- 分析存储公测
物联网存储功能介绍随着物联网技术的快速发展,物联网已广泛应用于制造业、能源、建筑、医疗、交通、物流仓储等多个领域,物联网的应用能够有效节约资源、提高效率、保障安全以及降低成本,帮助各行业实现可持续发展目标。在物联网场景中根据数据特点进行分类,数据主要包括设备元数据、设备消息数据和设备时序数据三种类型,不同类型数据的存储需求不同。物联网场景中不同类型数据的存储核心需求如下:设备元数据:主要数据为设备
241 0
Tablestore 物联网存储全面升级 -- 分析存储公测
|
存储 人工智能 达摩院
带你读《云存储应用白皮书》之29:2. 物联网大数据存储解决方案
带你读《云存储应用白皮书》之29:2. 物联网大数据存储解决方案
289 1
|
存储 SQL 传感器
基于物联网平台的车辆时序数据存储实践
物联网平台 + Tablestore 时序表解决车联网中时序数据存储场景、需求。
808 0
|
存储 物联网 Android开发
Android物联网应用程序开发(智慧城市)—— 购物信息的存储界面开发
Android物联网应用程序开发(智慧城市)—— 购物信息的存储界面开发
399 0
Android物联网应用程序开发(智慧城市)—— 购物信息的存储界面开发
|
存储 SQL 传感器
基于 Tablestore 时序存储的物联网数据存储方案
背景物联网时序场景是目前最火热的方向之一。海量的时序数据如汽车轨迹数据、汽车状态监控数据、传感器实时监控数据需要存放进入数据库。一般这类场景下存在如下需求数据高写入,低读取需要对写入数据进行基础的图表展示对写入数据进行聚合分析传统的关系型数据库并不适合此类场景,时序数据库脱颖而出。表格存储时序实例支持时序数据的存储,其具有如下特点:Serverless,分布式,低成本高写入支持优秀的索引能力对数据
1465 0
基于 Tablestore 时序存储的物联网数据存储方案
|
存储 编解码 运维
阿里云云存储(OSS\TableStore\NAS )+CDN 产品: 更快速,更低成本|学习笔记
快速学习 阿里云云存储(OSS\TableStore\NAS )+CDN 产品:更快速,更低成本
429 0
|
9月前
|
存储 索引
表格存储根据多元索引查询条件直接更新数据
表格存储是否可以根据多元索引查询条件直接更新数据?
80 3
|
SQL 存储 弹性计算
玩转Tablestore:使用Grafana快速展示时序数据
Grafana 是一款采用 go 语言编写的开源应用,主要用于大规模指标数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具,可以通过将采集的数据查询然后可视化的展示,实现报警通知;Grafana拥有丰富的数据源,官方支持以下数据源:Graphite,Elasticsearch,InfluxDB,Prometheus,Cloudwatch,MySQ
1688 0
|
2月前
|
分布式计算 DataWorks API
DataWorks常见问题之按指定条件物理删除OTS中的数据失败如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
2月前
|
DataWorks NoSQL 关系型数据库
可以使用dataworks从tablestore同步数据到mysql吗?
可以使用dataworks从tablestore同步数据到mysql吗?
42 1

热门文章

最新文章

相关产品

  • 物联网平台