本文将大数据的特点归纳为四个关键要素,以便为选择合适的大数据技术方案提供参考。
在大数据领域,人们通常提到的四个V(Volume、Velocity、Variety、Veracity)已经广为人知,这主要描述了大数据本身的特性。现在,我们将探讨处理大数据的技术应具备的特性。为了便于记忆,我们将这些特性概括为四个E,这可以作为用户在选择大数据技术方案时的参考。
易用性
大数据技术需要足够简单易用
这个E很容易理解。
大数据处理的场景多种多样,涉及不同类型的工作人员。如果技术过于复杂,将导致只有少数人能够使用,并且实施起来也比较困难。这样会大大削弱大数据的应用效果。
过去,在Hadoop刚出现时,只有MapReduce这一种工具,相比于完全用Java编写代码,MapReduce已经简化了许多,因此吸引了很多人使用。然而,MapReduce仍然有一定的难度,所以后来出现了HIVE SQL这样的工具,使得操作更加简便。虽然Spark上的Scala也曾流行一时,但由于难度较大,最终还是回归到了更简单的Spark SQL。
弹性扩展
大数据技术需要具备弹性扩展的能力
这个E同样容易理解。
很多时候,大数据并非一开始就非常庞大,而是随着时间的推移逐渐增长。即使现有的数据量已经很大,未来也可能继续增加。因此,要求大数据处理技术具有一定的弹性扩展能力是非常合理的,这一点大多数大数据技术提供商都会考虑到。
当然,任何技术都有其局限性,面向一般规模和面向超大规模的技术差异很大。很难有一种技术能够适应从零到无限大的所有数据规模阶段(有效适应是指在每个阶段该技术都能表现出优秀性能)。因此,在选择技术时,用户还需要对自己的数据规模变化范围有一个预估。
可嵌入性
大数据技术应可以方便地嵌入和集成
这个E尤为重要,但在实际应用中往往被忽视。
大数据处理并不是孤立存在的,它需要与具体的业务应用结合才能发挥其商业价值。这些处理通常会在应用执行到某个环节时启动,这就要求相关技术能够方便地嵌入到应用程序中,随时被主程序调用。
特别地,许多应用程序都是基于J2EE架构构建的,因此对Java技术的可集成性非常重要。基于Java或SQL体系的大数据技术在集成方面通常没有太多问题,而其他技术体系则可能会面临更多挑战。此外,大多数大数据技术通常需要独立部署,即使计算能力可以被集成,但必须依赖外部的独立进程,无法完全由应用控制,这可能会带来额外的负担。
环境友好
大数据技术对数据环境的要求尽量低
这个E是许多大数据技术所缺乏但又极其重要的特性。
目前的大数据技术,如Hadoop和MPP系统,都需要将数据导入到特定的存储体系中。这样做当然有其意义,即事先组织好的数据可以提升性能。然而,实际情况是,需要处理的数据并不总是存在于这些存储体系中,而且将外部数据迁移到这些存储体系本身也是一种大数据处理。在这些情况下,现有的大数据技术可能无法发挥作用。
更好的大数据技术应该能够处理来自各种来源的数据,即使因为数据源的限制,性能可能会有所下降,但不需要先完成ETL(提取、转换、加载)过程就能处理数据。
实际上,最后一个特性用E并不是非常贴切,但为了凑四个E,我们就这么用了。 这个词原本指的是环保,开放的大数据技术可以减少数据复制和硬件部署,从而节省电力,也算是环保的一种表现。
专栏作者简介
蒋步星,润乾软件创始人兼首席科学家,清华大学计算机硕士,中国大数据产业生态联盟专家委员。他著有《非线性报表模型原理》,并在1989年获得了中国首个国际奥林匹克数学竞赛团体冠军和个人金牌。2000年,他创立了润乾公司。2004年,他在润乾报表中首次提出了非线性报表模型,完美解决了中国式复杂报表的难题,这一模型已经成为报表行业的标准。2014年,经过七年开发,润乾软件发布了不依赖关系代数模型的计算引擎——集算器,极大地提高了复杂结构化大数据计算的开发和运算效率。2015年,润乾软件被评为“2015福布斯中国非上市潜力企业100强”。2016年和2017年,他荣获中国电子信息产业发展研究院评选的“中国软件和信息服务业十大领军人物”。2017年,他被评为中国数据大工匠,并创办了数据领域专业技术讲堂《数据蒋堂》。
——完——
关注清华-青岛数据科学研究院官方微信公众号“THU数据派”及其姊妹号“数据派THU”,获取更多讲座福利及优质内容。