1.4 大数据的技术发展趋势
随着大数据技术的发展,IT相关系统也正发生着变革。系统的硬件设计、软件设计,甚至商业部署都开始以数据为中心。也正是在这些实践和应用中,发现痛点并解决痛点的过程和探索,反过来推动大数据技术的发展。
从技术层面讲,以下几个方面将是大数据的热点。
(1)硬件对架构的冲击
大数据对性能的要求非常高,而硬件的变化对性能会产生直接而巨大的影响,因此当硬件提升时,会推动大数据系统架构的变革,以达到充分利用硬件、大幅度提升性能的目的。
例如,下一代非易失内存(NVRAM)的性能接近DRAM(最短延迟为DRAM的2~3倍),这将对文件系统为主的存储架构产生巨大影响;同时,远程直接数据存取(RDMA)可将NVRAM连接成PB级(或更大)资源池,实现更简洁的内存计算,这将促进内存计算发展。
而针对数据的不同场景的专用硬件,将直接改变对应的系统架构。例如,对于很少使用的大容量数据,可以开发高密度/低IO/低功耗的低成本存储。
当大数据系统部署在云/虚拟化系统上时,系统架构需要考虑:存储部署在虚拟机上时,如何保证高IO需求;MR等计算框架,采用移动计算到数据侧的模式,其计算资源如何虚拟化,等等。
(2)计算框架
随着大数据应用逐渐广泛,单一的计算框架已经无法满足需求。2014年图灵奖获得者Stonebraker认为:一刀切(one size fits all)的数据处理架构将寿终正寝,在流处理、数据仓库、数据库和科学数据库等方面会出现专用化引擎。
SPARK在持续走热,也揭示了从单一的MapReduce计算框架逐渐演变为多种计算框架并存的趋势。未来的计算框架将以通用计算框架为主(SPARK很可能成为主流),在特殊场景下辅以较为专业的计算框架。
(3)数据封装的中间件
实现数据的封装,是生态型平台必须具备的功能。大数据中间件层就是实现这一功能的组件。它位于应用层与底层数据库之间,屏蔽掉底层传统数据库、MPP、Hadoop等数据存储的差异,同时为上层应用提供统一的开发接口,让应用层无须考虑底层的实现。
在从传统架构向大数据架构演进的过程中,多技术混搭是现实的需求,而大数据中间件层使得混搭方案成为可能。
(4)非结构化数据处理
在今天的互联网数据中,结构化数据仅仅占到10%,非结构化数据成为最重要的源数据。非结构数据通常有音频/视频、文本、特定行业数据(如电信信令)等。对音频/视频数据的分析,已经有较为成熟的分析软件;对于特定行业数据,业内相关公司已经开始探索,如中兴通讯对电信信令的大数据分析;而文本分析也是最近在开源社区较为活跃的话题,通过和不同行业的结合,可以产生较多衍生应用。
(5)智慧发现
学习可以分为数据、信息、知识、智慧4个层次,其中,智慧发现在未来很重要。在智慧发现领域,人工智能与大数据有较多的交叉重叠,其中深度学习是一个热点。深度学习是通过构建具有很多层的学习模型和海量的训练数据,来学习更有用的特征。
(6)可视化
只有能被人类所理解的数据,才是有价值的数据;而可视化是最直观、最容易被理解的展示方式。
并不是只有传统的结构化数据可以可视化,操作、流程、信息等,一切皆可可视化。当前可视化技术呈现如下三个趋势。
1)扁平化,即放弃一切装饰效果,所有界面元素的边界都干净利落,更加简单直接地将事物的工作方式展示出来,减少认知障碍的产生。同时,扁平化设计更简约,可以保证在所有的屏幕尺寸上都有相同的展示效果。
2)动态化、可交互,即动态图形的表现力更丰富;通过界面的拖拽、点击、放大缩小,即可完成条件选择和切换。采用更少的菜单和更少的对话框,而不用复杂的条件选择对话框。
3)多维度、多图联动,即通过多张图从不同维度展示同一个东西,即可在交互时,通过操作一张图引起其他相关图的联动,并且可以同时获得更多的信息。