简介: 40年技术发展变革,物联网行业的趋势、现状与挑战
基础设施的完善,推动应用形态不断变迁
我们把过去四十年分为五个重要的技术发展阶段,从时间轴上我们把它切分为:1980 - 2000,2000 - 2005,2005 - 2010,2010 - 2020 以及 2020 - 2025。今天的发布会和第五个阶段的技术发展有关,从过去看未来,所以我们先回顾下技术发展史,先来看下前四个阶段分别经历了怎样的技术发展?在技术应用上的主要场景是什么?主流的应用形态是什么?诞生了什么样的新技术和新产品?
在 1980~2000 这个阶段,是计算机技术发展和应用的阶段。计算机能够帮助企业更好的管理自己的数据,对提升流程效率有很大的帮助,所以这个阶段的应用主要是企业信息系统。这个阶段诞生了很多专为企业服务的科技公司,创造了很多伟大的商业产品。应用系统的数据主要存储在数据库内,数据库以关系数据库为主,这一阶段是关系数据库理论和产品的成熟期,诞生了像 Oracle、IBM DB2、微软 SQL Server 等商业数据库产品。
在 2000~2005 这个阶段,是互联网技术的初始发展阶段。信息能够通过互联网更有效的传递,所以这个阶段诞生了大量门户类的网站,也就是 Web 1.0 时代。LAMP(Linux+Apache+MySQL+PHP) 是当时最流行的建站技术,是一个完全由开源产品组合的低成本解决方案。应用系统的数据存储仍以关系数据库为主,MySQL 以其开源和低成本的优势替换商业关系数据库,得到大规模的应用。随着互联网上的信息越来越多,人们获取有效信息的诉求越来越强烈,所以搜索引擎作为一个新的应用形态诞生。搜索引擎是首个面临大规模数据处理挑战的应用,Google 作为一家伟大的技术公司首创了很多大数据处理技术。大家熟知的三驾马车(GFS、Mapreduce 和 Bigtable),奠定了未来十年 NoSQL 和 Bigdata 技术的发展基础。
在 2005~2010 这个阶段,随着个人 PC 得到普及,以及接入互联网的成本逐渐降低,接入互联网的『人』越来越多。有一些新的应用形态因此诞生,一是人们不再仅满足于从互联网上单向获取信息,更渴望在互联网上进行人与人之间的信息交流,于是促进了社交网络的发展;二是围绕『人群』的应用,一些 B2C 或 C2C 的电商网站开始发展。这个时代就是所谓的 Web 2.0 时代,『人』作为新的数据源开始在互联网上产生大量数据。这个阶段诞生了一些超大体量的互联网公司,主要是在电商和社交网络领域。这些公司面临着如何支撑如此大规模数据在线服务,以及如何处理和分析这些海量数据的挑战。彼时还没有成熟可用的解决方案,所以这些公司不得不开始自研系统的开发,所以之后流行的一些 NoSQL 和 Bigdata 系统都是诞生或孵化自这个时代的超大体量互联网公司,比如 Hadoop 最早在雅虎内部孵化,Cassandra 最早是应用在 Facebook 的收件箱搜索场景。
在 2010~2020 这个阶段,随着 4G 技术发展和智能手机的普及,移动互联网开始发展。人们可以随时随地联网,移动应用可以覆盖到更广的人群,渗透到更多的生活场景,比如支付、打车等。传统互联网应用逐步向移动应用形态转换,产生了大量应用搭建的需求,云平台作为低成本、易接入的数据中心被更多企业接受,这十年也是云计算发展的黄金十年。云计算彻底改变了应用的运行环境,与传统 IDC 不同,在这个运行环境中,计算、存储等资源是池化的,可弹性获取多类型的存储和计算资源。基于云的弹性资源构建的应用即『云原生』应用,越来越多的大数据、数据库产品基于云原生构建,而为了拥有弹性可扩展能力,分布式技术也得到大量的使用。现代的新的大数据和数据库产品,分布式和云原生一定是必备的能力。
最后在 2020~2025 这个阶段,我们已经能看到 5G、IoT 技术逐渐成熟,又会诞生一个新的应用形态即物联网。我们能看到的一些新的应用场景,包括车联网、工业物联网以及智能家居等。
总结下过去几十年的技术和产品演进的规律(基础设施技术 -> 信息化范围变大 -> 更多场景、更大数据规模 -> 技术和产品发展):
每个阶段都是由一个『基础设施』的完善和普及作为起点,基础设施的核心作用是让信息化的范围进一步变大。比如互联网让应用能与更多终端连接,移动互联网直接打破了终端这个壁垒,直接让应用能与更多人连接,而物联网会把更多设备也加入这个连接。
随着信息化的范围变大,更多新的应用场景诞生,同时更大数量的『个体』产生更大规模的数据,成为基础技术发展的推动力。
在这个过程中,往往基础技术会落后于应用形态发展。但随着分布式技术和云计算的普及,基础技术演进和普及的速度越来越快。我们也可以看到基础技术产品形态的变化,从最早的商业型产品,到开源型产品,再到现在的云原生产品。
那在物联网这个新阶段,设备的数量以及产生的数据会是更大的规模,会有更大的挑战。那在这样的挑战下,又会推动怎样的技术发展呢?
物联网行业将迎来高速发展,会面临怎样的技术挑战
我们来看下物联网到底在经历怎样的高速发展,从以下两个市场报告中来看下物联网整体的增长态势:
设备数的大规模增长:Gartner 预测到 2021 年物联网内设备数增长到 250 亿。如何管理如此海量的设备是第一大挑战。
设备数据的大规模增长:IDC 报告中可以看到,到 2025 年物联网数据规模达到 79.4 ZB,年平均增长率高达 34.91%。那如何存储和分析如此海量的数据是第二大挑战。
以车联网场景为例,定义对数据存储的具体需求
这次发布会的主题是物联网存储解决方案,所以我们来具体看下物联网场景下对数据存储的具体需求是什么。我们以一个车联网中的一个真实应用场景为例,假如你是一家提供网约车服务的新能源车企,日常管理数十万量新能源汽车提供网约车服务,你会遇到如下几个具体的场景。
为便于对这些汽车进行管理,每辆汽车都得实时汇报自己的状态,包括位置信息、剩余电量、行驶里程、行驶速度等等。除了这些动态信息外,每辆车还会有自己的一些静态信息例如型号、车主等,每辆车的这些信息都需要在后端实时获取和管理。
有了这些车辆的实时状态信息后,就可为车主、乘客或者是后台提供车辆的实时状态查询服务。后台也会有一些计算任务依赖于实时状态,例如根据位置信息或特定条件进行车辆圈选来进行特定任务的管理,或者是根据实时状态来进行车辆调度。
除了车辆自身需要实时汇报状态外,车辆与管理后台还需要保持一个消息通道。通过这个消息通道,车辆会汇报自身的一些异常事件,后台也可下发一些消息信息或者控制指令。
另外车辆的一些行驶信息会上报并存储为轨迹数据,同时行驶中的一些传感器数据也需要存储。有了这些数据后,一方面可以对行驶轨迹进行查询,另一方面是可以基于数据进行一些计算分析,挖掘更多的价值,比如通过分析历史行驶数据来优化调度算法等。
从这几个场景中可以看到,车辆相关的数据主要有三类,一是实时状态数据,我们把这类数据归类为『元数据』;二是消息通道,我们把这类数据归类为『消息数据』;三是轨迹数据,我们将这类数据归类为『时序数据』。这三类数据对底层存储有不同的要求,『元数据』的特征是高频更新,对查询能力要求高,需要根据多字段条件进行数据查询或筛选;『消息数据』的特征类似消息队列,队列数量极多,需要为每个设备维护一个独立的对垒;『时序数据』的特征是高吞吐写入,数据规模较大,比较偏重分析场景。
在传统方案中,元数据一般使用 MySQL 存储,但 MySQL 最大的问题是无法灵活支持多字段条件筛选,一般需要组合 Elasticsearch,依赖 Elasticsearch 来提供多字段检索能力。消息数据虽然具备消息队列的特征,但无法使用传统消息队列,因为传统消息队列无法支撑如此多数量的 Topic,所以一般也有选择使用 MySQL 来模拟队列实现。时序数据一般选择使用 HBase 来存储,能提供高吞吐写入和支撑大规模存储,但 HBase 不具备分析能力。
往往基础技术会落后于应用形态发展,传统架构是通过组合多款产品的方式来构建整个物联网存储系统。这种多组件的组合架构,架构复杂度高,带来极高的运维成本。开发者需要理解和使用多款产品,且分布式组件的运维具备一定的难度,导致整体的成本非常高。另外每个组件并不是为物联网场景设计和优化,我们可以看到物联网场景下设备元数据、消息数据和时序数据都有非常典型的特征,且整体规模增长速度会远超互联网时代,可以预见老一代产品无法应对物联网下更大数据规模的增长。
物联网需要什么样的存储产品
根据过去几十年技术产品发展的客观规律,物联网时代已经到来,当前的技术架构难以支撑未来物联网规模的增长。面对物联网下万物互联这一新的应用形态,在海量设备和海量数据的挑战下,基于云计算这一新一代基础平台,我们利用云原生、分布式等基础技术,需要打造一个什么样的新的基础产品呢?
我们希望这个新的基础产品具备以下几个特性:
基于云原生和分布式技术构建,具备可扩展性和弹性
满足设备元数据、消息数据、时序数据的一站式存储、检索和分析需求
具备足够低的成本来支撑如此海量数据
原文链接
本文为阿里云原创内容,未经允许不得转载。