0.澄清基本概念
I.大型IT企业:指对外提供IT相关的软硬件产品及服务的公司,员工至少在万人以上。
II.数据平台:指大型IT企业用来为自身服务为主,担负数据存储、处理、分析业务和软硬件综合。主要针对内部服务,不对外开发。
III.数据分析:此处的数据分析师广义的,包括一切基于数据得出的insights的行为,包括统计分析、机器学习建模和预测等。
1. T企业开展对内数据业务的驱动力
就目前而言,IT企业针对自身的数据分析业务可以分为广告和非广告两类。对大多数企业而言,除了广告之外的数据业务,并不能直接带来可以量化的收入。
但是,无论当前数据分析的结果为企业的现金流做了多少贡献。数据为王的思想已然占据了众多前沿企业间的头脑。数据是矿山,insights是金子,有了矿山才能有金子,有了矿山,终究会有金子。
因此,开发数据业务最主要的驱动力,实际是对数据业务未来前景的积极预估。
2.数据分析平台通用架构
常见的数据分析平台,至少包括数据存储、处理和分析三个部分。
2.1数据存储
数据存储不必解释,是一定必要的。但是如何备份是一个很重要的问题。
假设:某公司一年产生上千PB的数据。按照单纯数据的存储费用1美元/GB年计算,存1TB一年就是1000美元,一PB就是100万,1000PB就是10亿。如果就是简单的使用hadoop的默认配置,每份数据都存3份,那么,这个实际产生数据x 3的体量将有多大?有将有多大的cost?
这是存储层的挑战。为了解决这个问题,一方面从硬件层面力图降低存储介质的价格,比如近年来冷存储的提出,就是针对运维费用。另一方面就是寻找备份算法。例如,yahoo专门研发了一种图片存储算法,逻辑上是11个备份,但是size只有原size的1.x倍。
2.2数据处理
数据处理传统上叫ETL、EDW,主要指数据的清洗、迁移和格式化。大数据平台,由于应用范畴不同,自然多种多样,源数据包括结构化数据和非结构化数据。但是如果数据真的是“大数据”(符合4V特征)的话,即使本身收集上来的数据是结构化的,也往往需要二次处理,转换format或schema。
数据处理层所需技术相对简单,然而挑战在于对于数据的理解。如果不知道这个收集上来的log文件里面要提取出多少字段,每个字段对应数据源中的哪个部分,则数据提取完全不能进行。这就要求进行数据处理的人必须同时具备对业务的了解。
2.3数据分析
数据分析是数据中寻找价值的关键步骤。数据分析工作本身还处于初级阶段。除了一些简单的统计计算,大多数数据还是只能交给分析人员,进行没有特别针对性的探索,效果难以得到保证。
对于这些挑战,开展数据业务早的公司,相应的平台和技术是在针对自身业务的过程中慢慢发展起来,部分公司选择是将平台外包或者自己开发针对自身业务的定制功能。相对于前两者,数据分析师一个业务针对性更强的步骤,因此更难采用通用方法或手段解决,更加依赖企业自身的积累。
3.数据分析平台开源框架
3.1开源框架
目前,就国内而言,谈到数据分析相关的开源框架,总不能忽略下面三个:
hadoop:batch,mapReduce
storm:streaming
spark:batch + streaming
这些开源框架的共同特点是把重点放在并行计算框架上,关注的是job latency, load balance和fault recovery,对于资源分配、用户管理和权限控制几乎不考虑。它们基于的假设是:所有用户都一样,平权,所有用户都能用所有的机器以最快的可能完成所有工作。
3.2 开源框架的局限
而在大型企业内部,不同部门,同一部门的不同job,绝对不是平权的。不同部门之间,也有很多私密的数据,不让别人访问。不同用户的权限也是不一样的。对于计算资源的需求,因为不同job的优先级不同,也要求予以区别。
在这种需求之下,催生了一些第三方,专门提供hadoop等开源框架的资源、权限管理产品或者服务。hadoop在升级到2以后,也考虑一些数据隔离的问题。
但其力度,恐怕难以满足大多数大型企业的要求。这也是使用开源框架的无奈。使用开源产品的商业发行版,也是一种办法。不过始终是不如企业原生系统在这方面的支持。
3.3企业原生框架
确实也有些企业独立开发了全自主(不基于开源产品)的仅限于内部使用的分布式数据处理平台。在用户管理,数据访问权限,存储、运算资源管理等方面很下功夫。
例如:要求每个用户在提交job前必须先申请token,有多少token,就有多少计算量。不同数据存储路径之间的权限完全单独管理,使用者也要实现申请权限。
但是开发这样的系统意味着企业必须具备非常强大的研发能力,并能承担得起巨大的人力等资源的消耗。而且相对于开源系统已经实现的功能,难免有重复造轮子之嫌,即使是大型企业,也很少选取这种方案。
4.大型IT企业数据业务的挑战
4.1 通用挑战:意识、技术和人才
4.1.1意识
意识主要是指决策层的思想意识——数据对于企业发展是否真的必要?这一点在很多管理者脑子里还是存疑的,他们目前所处状态很多是:听说数据这东西有用,人家都在搞,所以我们也要搞,至于是不是真有用,搞出来看看再说。
如果只是采用游戏或者试探态度,必然影响发展进程。但这也是没办法的事情,所有新事物都必须经历这一过程。
4.1.2技术
技术指目前数据分析的技术,基本是采用新框架逆流支持旧接口的策略。曾经有一篇文章,名叫《NoSQL?NO,SQL》,说的就是这个。包括spark回头支持SQL,也是如此。
明明我们分析的是非结构化数据,但是因为高阶算法的问题,却连mapReduce都放弃了,索性回到SQL时代。为了让更多人用的舒服,不去开发针对非结构化数据的新方法,而是反过来,向下兼容结构化。个人认为这是一种逆流。这样做则永远无法避免巨大的数据处理工作。
4.1.3人才
“数据科学家”这个词大家肯定都知道。可是,这个职位其实很模糊,不同公司,甚至同一公司的不同部门之间对这一职位的定义相差甚远。有些数据科学家是学数学的博士,有些是以前做BI的,有些是PM转行的,水平参差不齐。
所以,恐怕在相当长的时期里,这会是一个门槛低,要求高的职位。很难短时间内批量涌现出优秀者。
4.2特有挑战:产品align
产品align是说每个产品的数据分析结果可以互相对比,也就是要求其定义和实现都一致。对于一个产品众多的大企业而言,要求不同产品、流水线的分析报告具有可比性,这是一个很常见的需求。但是由于现在大多数企业中数据分析不是由一个部门统一管理,各个产品部门各自为战,结果导致在align的过程中互相牵制,进而拉低了所有产品的分析水平。
这样的挑战有赖于企业总体数据策略的制定和执行。而整体策略的制定和执行又有赖于前面所说的三点通用挑战,环环相扣,显然不能一蹴而就。
5.大企业数据工作的发展趋势
短期之内,原本基于批处理模式的数据分析工作,随着业务的发展,对于其实时或者准实时(NRT)的需求越来越多。提供latency极短的增量分析和流式服务是众多企业数据分析工作的当务之急。
从长远考虑,真正拥有数据的是大企业,未来,大企业在数据的分析利用上,也必将全面胜出小企业。
不过,处于不同成熟阶段的大公司突破点各不同。有些技术先行,在分析方法和工具上成为领军。另一些则倾向数据管理和治理,在管理层面上,在策略、条例的制定上为整个社会提供先进经验。
摘自:网络大数据