【摘要】 物联网设备正在产生大量的数据,如何为开发者提供简单有效的数据分析服务,简化开发过程,提升开发效率,让IoT数据快速变现是一个摆在我们面前的问题。
我们需要怎样的物联网数据分析服务(一)
没有疑问,我们已经身处物联网时代了,每天都有数不清的各类物联网设备被连接起来,让我们可以以前所未有的视角重新观察和感知我们所处的这个物理世界。这个背后当然涉及到物联网技术的各个环节,比如如何将设备快速安全可靠的接入云端,如何管理这些设备,如何对源源不断采集到的数据进行合适的处理等等。而这篇博客我主要想分享下个人认为物联网的数据分析可能应该是什么样的。
我把物联网数据的特点和挑战归纳如下。我觉得最主要的4个特点是“大”,“小”,“高”,“低”。
“大”即物联网数据体量大,我们经常听到的一个经典的案例即GE发动机有成百上千个传感器,毫秒级频度产生各种数据。飞机的一次飞行就可以超过1TB的数据量。而在很多工业场景下产生的数据量可能会更大。
“小”即物联网数据的价值密度小,或者也可以理解为要从海量的数据中找到价值的信息是一个比较难的事情。
“高”即物联网数据时效性高,设备产生的数据流往往需要及时分析处理,随着时间的流逝,其价值会迅速降低。
“低”即物联网数据的质量通常较低,原因是多方面的,可能跟IoT设备自身能力有关,也可能是较苛刻的设备部署环境,也可能是网络传输问题等等,最终造成物联网数据容易出现丢失,异常,重复等问题。
面对这些特点,造成了几个挑战:
- 怎样尽可能的降低存储的成本,企业可能通常有要求存储好几年数据的述求,而IoT数据体量大,几年的存储量很可能是一个天文数字。那么如何能找到尽可能的低成本存储 解决方案 就是一个不能忽视的问题。
- 怎样从价值密度低的物联网数据中充分挖掘和发现数据背后的价值,该采取怎样的有效分析方法?
- 提升数据处理的时效性,在数据处理的各个环节都尽可能高效运转,比如数据接入,数据清洗,数据入库等。
- 数据质量的评估和处理。如何判断质量的优劣,并且采取合适的方法改善数据质量?
要很好应对这些物联网数据分析的挑战,对于IoT数据应用开发者来说可能是有一定技术门槛的, 如果不是一个对公有云琳琅满目的相关 大数据 PaaS非常了解的开发者,很可能花了较长时间,而最终开发的解决方案较难满足业务的要求。这里面的原因除了开发者需要花比较大的学习成本掌握相关服务的特性外,还有一个根本原因是那些通用的大数据产品并未是专门针对IoT数据分析所提供的。
如何才能做好一个针对物联网场景的数据分析服务呢?个人觉得有如下几个要点:
- 构建资产模型是充分“理解”物联网数据的基础
将IoT设备产生的数据有效组织起来,并按照业务所需构建模型,将是物联网数据分析中的重要一环,特别是复杂的场景更是如此。
- 物联网数据处理的关键是对时序数据的处理
- 按数据时效性分层处理,获得综合处理效率最大化
- 针对物联网数据要有数据清洗的必要手段。传统的ETL工具主要是针对结构化数据的处理,而物联网数据主要是非结构化或半结构化的数据,并且对清洗的实时性要求一般较高。
因此需要找到适合物联网领域使用的数据清洗手段,我们理解该能力需要充分理解物的数据结构,即物模型,并且需要实时的清洗能力。