物联网时代的大数据策略
互联网时代,PC、Pad、智能手机等设备无处不在,数以亿计的用户通过微博、微信、SNS、博客等途径产生大量的自媒体数据,电商、新闻类网站、搜索引擎每时每刻都在记录着丰富的用户行为信息,海量的数据促进了云计算,分布式技术的发展,而这些技术反过来不仅推动了Web和移动互联网的革新,也推动了物联网的飞速前进。现在,我们正逐渐迈入物联网时代,实现万物互联的愿景,如果说之前人是信息生产的主体,那么或许不久的将来设备将成为主角,它们将源源不断地产生与人相关的衣食住行信息,这些信息会通过云计算、数据挖掘等技术实现价值的升华从而为用户提供更优质、贴心的服务。那么物联网时代会产生什么样的数据,应该采用什么样的大数据策略呢?
THINKstrategies 的总经理 Jeff Kaplan 在自己的博文《 当物联网遇见大数据 》中写道:
“你不能使用现在的策略,因为可以被捕获、管理并利用的数据将更加多样化,同时用例也会更加丰富。附加到各种设备和对象上的传感器会产生各种类型的数据。这些数据将会用于各种响应式的、主动的或者 创造性的目的 。IT部门的任务就是与业务部门一起工作,完全理解物联网方面的用例,然后寻找满足业务需求的技术。特别是,IT部门必须识别出最优的分析平台和工具,让业务用户能够获取到需要的数据,分析数据的含义并快速地做出响应。”
Gartner公司的副总裁、著名分析师 Joe Skorupa 认为:
“分布在世界各地的物联网设备将产生大量的输入数据,将所有的数据传送到一个位置进行处理无论从技术上还是从经济上都是无法实现的。最近的趋势——将应用程序集中起来以便于降低成本并增强安全性——并不适合物联网。组织必须将数据集中到多个分布式的小型数据中心中,在此对数据进行初步的处理并发送到一个中心站点进行额外的处理。数据中心管理员需要在这些区域部署更加具有前瞻性的容量以满足业务发展的需要。”
Patrick McFadin则在自己的博文《 物联网:数据都去了哪里? 》中阐述了一个具体的数据策略解决方案。他认为整个过程可以分为三个阶段:产生数据并通过Internet传递、中央系统收集并组织数据、持续的数据分析与使用。
第一阶段需要决定数据创建的标准以及如何通过网络进行传递。Patrick McFadin认为可以通过HTTP、MQTT和CoAP三种常用的标准协议传递数据。HTTP通用程度高,但是它的头中包含大量冗余信息,不太适合带宽比较低的场景。MQTT基于发布/订阅模型,新的设备或者服务能够非常容易地连到中央系统上消费消息。另外,它在消息大小上比HTTP更轻量,但是缺点是不包含加密标准。CoAP适合于低功耗、低带宽的场景,与MQTT的订阅模式相比它更侧重于一对一的连接。
第二阶段则需要根据设备、网络以及功耗的限制决定是实时地收集数据还是在某个时间批量收集,同时还需要决定如何存储数据。如果是实时收集,那么必须要考虑数据库的写入速度,这对于传统的数据库而言可能是一个挑战,但是像 Cassandra 这样的NoSQL数据库却能够轻松应对。
一旦完成了数据的收集与存储,接下来就是分析了,这才是整个过程最核心的部分。此时需要考虑需要何时使用分析结果,是否需要立即或近乎实时的分析,还是仅仅需要对历史数据进行处理。越来越多的人在使用Apache Spark分析大数据,使用Spark Streaming满足近乎实时的要求,如果将这些技术与Cassandra这样的NoSQL数据库结合在一起使用,那么开发者就能够处理并分析大规模、快速移动的数据集。
那么是不是所有的物联网厂商都需要自己去构建相关的数据解决方案呢?也不尽然,在云计算的时代大可以利用云服务提供商的资源,以降低相关的成本,对小公司或初创公司更是如此。
Mike Kavis最近在自己的博文《 物联网将彻底改变你的大数据策略 》中阐述了自己的方案,他认为:
“在物联网时代,面对PB级的数据,企业将难以以一己之力完成基础设施的建设。物联网所产生的大量数据不仅会驱动现在的数据中心发生根本性的变化,同时也会驱动相关企业采用新的大数据策略。由于缺乏相关技能以及持续增长的数据对基础设施采购的需求,企业将逐步放弃DIY模式,转而使用PaaS和托管的解决方案,借助于数据库即服务(例如Amazon的Redshift、Hortonworks和Cloudera的企业级Hadoop)、托管的大数据服务(例如Treasure Data)以及矩阵式的数据中心服务(例如GoGrid)实现自己的物联网数据分析方案。
总之,物联网的价值在于数据。企业对数据的分析工作启动地越快,挖掘出的业务价值就越多。而云服务提供商的目的就是通过加大相关的投入,消除数据收集、管理的风险以及复杂性,让客户能够专注于分析。”