老司机带你用MaxCompute和表格存储玩转车联网数据

简介:

“自动驾驶汽车”在近两年频频出现于各大科技新闻头条,自2012年谷歌获得美国首个自动驾驶汽车许可证以来,国外各大知名汽车厂商如奔驰、沃尔沃、大众、通用、丰田、日产、特斯拉等也纷纷宣布自己的自动驾驶汽车验证开发计划。自动驾驶依托于人工智能技术的发展,而对于一个人工智能平台来说,重要的不光是算法和平台,更重要的是数据!今天我们暂且不聊自动驾驶,我们先聊聊最基础的车联网数据的存储与处理。


初始方案


出于对两客一危监管的需要,车联网很早就开始起步,彼时大家的车联网方案都长这个样子:


1f8760e401bab1a6a76105eed086097ce17704fc

 

将车辆上传的数据进行编码解析,存储到对应的数据库中。由于车辆种类的不同,所上传的传感器数据也会有所区别。为了避免修改表结构对服务造成的影响,采用的是将传感器数据进行分类,分别存储到不同的数据库的方法,也就是图中的数据库层分为了轨迹库、温度库、油量库等。这样的好处是新增一批新类型的传感器时,不需要数据停库维护,不会影响在线应用,但是对数据采集解析程序需要升级更新,大大增加了维护的代价。


另外一方面,随着近几年私家车的爆发式增长,车联网也迎来了更多的机遇和挑战。百万在网车辆,几十万的在线车辆都让车联网系统时时刻刻在经受着挑战。


存在问题


首先就是并发问题。SQLServer的单机并发是有限制的,我们只能在已经分库分表的基础上再对数据进行按时间或者车辆类型的二次分库分表,这大大增加了前后端系统开发和维护的复杂性。同时,为了应对早晚高峰高的不像话的在线率,我们又对像轨迹、油量等通用的基础数据做了数据库的主备读写分离,避免数据采集高峰影响其他的在线业务,这个时候,这个架构已经非常非常复杂了。


不仅仅是在线业务,由于多层次的分库分表,我们的报表分析程序中跨表跨库的Join查询让经验丰富的DBA也头疼痛不已。


而为了保持在这个行业的竞争力,降低成本是非常有效的一个法宝。我们采用的最直接的手段就是在夜深人静的时候小心翼翼的删除掉过期的数据。

 

新的方案,刻不容缓!


我们开始寻找基于云计算的分布式数据解决方案,直到我们看到了下面的一张图。


f191ee80d1fa0c7b8f83e255b53a76e239e8a073


表格存储(OTS)是阿里云最近推出的一款自研分布式 NoSQL 数据库,其schema free的特性很适合属性列变化较为频繁的数据存储。车载设备更新和迭代的速度也在不断加快,车联网的业务模式也在不断在变化,表格存储这种弱结构的数据模式与当前车联网数据的需求非常契合。所有车辆的数据均可以存储在一张大表里,新的车载设备上线也不需要修改表结构了。


于是,我们将原来的方案替换成:


0e55d0cb4d03336427b6d55e3b90aea5e77c672b


经过测试,百万车辆50%的在线率的时候,读写的性能都没有出现明显的变化,而且表格存储是一款全托管的服务,也大大减轻了我们运维上的代价。


表格存储的数据生命周期功能可谓是数据管理的神器,我们将不同数据存储时长要求的数据存储在一张大表中,设置好过期时间,过期的数据会自动被删除掉,不仅仅很方便的控制了成本,更降低了人工操作的风险。


对于报表分析,我们将原来在SQLServer上的SQL分析语句迁移到了MaxCompute(就是阿里云以前的ODPS)https://www.aliyun.com/product/odps上,在MaxCompute上关联好TableStore上的外表,定期执行,既方便,又省钱。这一样以来无需维护数据分析程序,并且按量付费的模式可以最大限度节省成本。


粗略算了下,使用表格存储的成本,一辆车不停的跑一年,存储与读写分析的成本也只有1块5,比买瓶饮料还便宜,比最初使用的方案中单车年成本低了一个数量级。


写在最后


选择上云是我们一个非常大的挑战,一度担心云上的稳定性会导致我们业务的失灵,然而事实证明我们的选择是正确的,云确确实实带来了很多便利,节省了很多成本,让我们可以更聚焦在业务逻辑上,技术架构也能快速迭代,为我们保持一定的行业竞争力提供了有力保障。


作者:李志彬

转自在数据化管理公众号


购买&试用MaxCompute,请扫二维码加入钉钉群。

745bc16034148d4c04c2bb44ec5275be0021f412

bba01b493e1c5d904e882b1c380673c6ebe49a98


相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
分布式计算 搜索推荐 物联网
大数据及AI典型场景实践问题之通过KafKa+OTS+MaxCompute完成物联网系统技术重构如何解决
大数据及AI典型场景实践问题之通过KafKa+OTS+MaxCompute完成物联网系统技术重构如何解决
|
分布式计算 关系型数据库 大数据
阿里大数据——数据库总结:RDS、ADS、OTS、ODPS——Maxcompute(原ODPS)
阿里大数据——数据库总结:RDS、ADS、OTS、ODPS——Maxcompute(原ODPS)自制脑图
2988 0
阿里大数据——数据库总结:RDS、ADS、OTS、ODPS——Maxcompute(原ODPS)
|
分布式计算 运维 DataWorks
阿里云Dataworks数据集成工具实现:OTS -> Maxcompute数据同步
数据集成主要用于离线(批量)数据同步。离线(批量)的数据通道通过定义数据来源和去向的数据源和数据集,提供一套抽象化的数据抽取插件(Reader)、数据写入插件(Writer),并基于此框架设计一套简化版的中间数据传输格式,从而实现任意结构化、半结构化数据源之间数据传输。结合用户在使用OTS数据源同步的时候容易出现问题,这里演示:OTS数据源同步数据到Maxcompute的具体实现步骤。
1923 0
阿里云Dataworks数据集成工具实现:OTS -> Maxcompute数据同步
|
存储 分布式计算 运维
塑云科技:性能突破,基于KafKa+OTS+MaxCompute 完成了一次物联网系统技术重构
创业团队,专注于氢能燃料电池生态链的运营支撑,当前主要的业务组成为新能源车整车实时运营监控分析,加氢站实时运营监控分析,车辆安全运营支撑。
2432 0
塑云科技:性能突破,基于KafKa+OTS+MaxCompute 完成了一次物联网系统技术重构
|
分布式计算 NoSQL Java
使用DataX同步MaxCompute数据到TableStore(原OTS)优化指南
现在越来越多的技术架构下会组合使用MaxCompute和TableStore,用MaxCompute作大数据分析,计算的结果会导出到TableStore提供在线访问。MaxCompute提供海量数据计算的能力,而TableStore提供海量数据高并发低延迟读写的能力。
6186 0
|
分布式计算 NoSQL 大数据
举个栗子:专有云MaxCompute创建TableStore外部表
在MaxCompute的上边创建OTS的外部表的方式来进行验证
2622 1
|
存储 分布式计算 监控
塑云科技:性能突破,基于KafKa+OTS+MaxCompute 完成了一次物联网系统技术重构
塑云科技:性能突破,基于KafKa+OTS+MaxCompute 完成了一次物联网系统技术重构 背景:创业团队,专注于氢能燃料电池生态链的运营支撑,当前主要的业务组成为新能源车整车实时运营监控分析,加氢站实时运营监控分析,车辆安全运营支撑。
14212 0
|
Web App开发 存储 分布式计算
基于TableStore/MaxCompute的数据采集分析系统介绍
摘要 在互联网高度发达的今天,ipad、手机等智能终端设备随处可见,运行在其中的APP、网站也非常多,如何采集终端数据进行分析,提升软件的品质非常重要,例如PV/UV统计、用户行为数据统计与分析等。虽然场景简单,但是数据量大,对系统的吞吐量、实时性、分析能力、查询能力都有较高的要求,搭建起来并不容易。
5159 0
|
SQL NoSQL 大数据
使用MaxCompute访问TableStore(OTS) 简明手册
大数据计算服务 MaxCompute 能够提供强大的分析能力,而分布式 NoSQL 数据库表格存储在行级别上的实时更新和可覆盖性写入等特性,相对于 MaxCompute 内置表 append-only 批量操作,提供了一个很好的补充。
10482 1
|
存储 分布式计算 NoSQL
MaxCompute访问TableStore(OTS) 数据(20170601更新)
MaxCompute作为阿里云大数据平台的核心计算组件,承担了集团内外大部分的分布式计算需求。
11020 0

热门文章

最新文章

相关产品

  • 云原生大数据计算服务 MaxCompute