大数据应用(BDA)是企业级应用的新方向,大数据应用架构也成为新一代企业级应用架构的核心。传统企业级架构是由业务架构、数据架构和技术架构组成,大数据应用架构与传统企业架构的不同也正是体现在数据、业务和技术架构的独特性。
数据是大数据应用的基础。大数据应用处理和分析的数据是“大”数据,具有4V的特点,首先是大,TB级甚至PB级的数据,可能是单个大文件,也可能是海量的小文件群;其次是复杂,不再是结构化的数据库,更多的是半结构化的,甚至非结构化的数据,读取这些数据,费时费力;再有这些数据的处理,后台可能是实时的,近实时的,或者离线的,但对用户而言,读取写入要无延时。这些数据不再只是业务系统中的数据,它们可能来自互联网、移动互联网、社区网络、物联网上的各个角落,采集这些数据本身就是一件复杂的事情,更何况还要对它们进行处理和分析。数据与业务、技术的关系是,大数据处理的业务目的是发现大数据中的“信息”和“知识”,大数据对技术的要求是能够高效地处理这么复杂的数据。
业务是大数据应用的目的。大数据处理的业务流程是采集数据、聚合数据、分析数据和展现数据。通过这样的业务流程,要发现大数据中蕴含的信息价值,发现洞察力。这种洞察力是业务系统中的传统数据分析和挖掘所不能发现的,大数据的全集数据的分析和挖掘,给了一个很令人期待的承诺:发现相关性!也许这种相关性,并不能建立传统的因果逻辑,但却能发现数据之间的更多隐藏的秘密。这种相关性的商业应用,带来了巨大的商业价值,这是传统逻辑思维所不能想象的。于是,发现相关性的算法就成为了业务架构的关键,客户细分、聚类、相关性分析、预测分析等相关的机器学习算法,应用在大数据上,成为业务分析的主流。
技术是大数据应用的手段。在大数据上发现规律,这不是现有的数据库、数据仓库所能胜任的。数据大,怎么办?分解它!在分布式文件系统(HDFS)上用分布式计算程序(MapReduce)去计算,让程序把作业进行分解,Map计算,再Reduce汇总。集中式系统所不能解决的问题,在分布式计算系统上就迎刃而解。有了分布式的计算,就需要与之匹配的分布式数据库、分布式的数据仓库。于是,适用于分布式计算的列式数据库、架构在Hadoop之上的Hive被用来解决数据库和数据查询分析的问题。并不是所有的大数据都是大块的数据,有的数据很小,但需要频繁读写,而且要求低延时获得分析结果,在这种情况下,Hadoop也不能胜任。于是,轻量级的内存计算工具Spark,适用于实时处理的流计算工具Storm等框架被开发出来,解决处理大数据所需要、Hadoop却不擅长的工作。所有这些技术,都是服务于两件事:一是处理大数据,二是为业务需要从大数据中提取出洞察力。所以,只要能解决好这两件事,技术人员可以用最擅长的工具来进行组合应用。这就让大数据的技术工具层出不穷,但处理大数据难度越来越低,业务价值的实现越来越容易。
业务、数据和技术,大数据应用的核心要素,也是大数据产业发展的关键。实现业务大价值,需要拥有大数据,也需要掌握大数据技术工具,三者缺一不可!
作者:赵刚,你可以关注他的微博@赵刚