宝立明(Stephen Brobst)是Teradata公司的首席技术官, 在数据仓库以及数据管理技术领域,他拥有超过20年的经验。在大数据方面,关于内存计算以及开源Hadoop等,宝立明也发表过很多独特的见解。在厂商的发言人当中,宝立明也是为数不多能够将技术深入浅出解释清楚的人之一。他近期在DataInformed网站上发表了一篇关于大数据项目建设的文章,其中探讨了大数据在企业中为何失败的原因,并为企业建设大数据项目给出了值得关注的几点建议。TechTarget数据库网站在此进行了编译,希望能够帮助您更好地从技术和业务层面理解大数据。
在接触大数据的时候,业界往往会提到三个V的概念,即数量、种类和速度(volume, variety, velocity)。然而,我们对另外一个V,Value即价值的关注显然是不够的。也正是出于这个原因,有很多仓促上马的大数据项目没有能够抓住这个新兴的商业机遇,没能达到预期的投资回报率从而导致失败。
大数据项目失败的原因主要集中在以下几点:
1、太过关注技术层面,而忽视了商业价值;
2、相关人员不能访问到他们需要的数据;
3、未能达到企业级的要求;
4、对项目的总拥有成本(TCO)缺乏成熟的理解,这其中包括人员和IT系统。
目前正在进行的很多大数据项目或者POC测试,更多地是对新技术的测试,而并不是商业价值的挖掘。从Apache网站下载开源软件,然后对Hadoop测试的确很有意思,但这方面的努力很少能够对业务带来真正的价值。
向这些项目要价值,企业必须有至少一名的业务人员为项目提供方向性的指导。一开始就把海量数据存储到HDFS或者数据库,然后投入大量的新技术来对其进行分析,这样的大数据项目注定是要失败的。在缺少业务指引的情况下,就不要幻想能够挖掘出业务价值。
业务分析师与数据科学家的关系
从大数据中获取价值的关键,需要具备业务知识的员工能够高效地获取数据并进行探索。在一些比较关注分析的组织当中,还诞生了“数据科学家(Data Scientist)”这一职位。与传统的业务分析师不同,数据科学家拥有不同的(更丰富的)知识储备以及职能。
业务分析师通过数据来解答业务问题,而数据科学家并不专注于解答问题,他们更关注的是挖掘新问题。通常情况下,一名业务分析师会使用专门的、直观的BI工具来找到问题并给出结果。
数据科学家则更倾向于使用数据可视化和数据挖掘工具来找到数据的相关性以及模式,而这些数据在之前是没有很好地组织在一起的。在判定数据的相关性和模式之后,它们就可以转化为新的业务问题,提交给业务分析师来进行解答。
数据科学家成功的一个关键因素就是,为他们提供细节数据的直接访问权。在一个大数据环境下,数据类型的多样性以及非关系型格式为传统分析工具提出了很大的挑战。生成ANSI SQL的工具不能够高效率地处理大数据内容,因为这些大数据往往是键值对(Web日志数据)、图形(社交网络)、文本以及富媒体(音频、视频)文件等。
包括MapReduce编程框架在内的新技术,为数据的访问提供了新方式,同时能够很好地解决上述问题。然而对于数据科学家来说,使用这些所谓的“NoSQL”技术来进行高级分析是比较费劲的。这时就需要一个相关的技术专家对数据访问进行控制,他们的角色类似于中间人。
大数据发现
我曾经听一名在大型银行工作的数据科学家抱怨:“Hadoop在低成本存储海量数据方面的确是非常好的技术,但问题是只有那些把数据存储到HDFS里人才能够把它们弄出来。”
为了解决这一难题,大数据发现(big data discovery)平台将是整个生态系统当中非常关键的一环,它能够为数据科学家提供对大数据内容的直接访问。
为了实现这一目标,就必须有一个数据访问接口,能够提供比MapReduce、Java或者C++更高级别的抽象。这就需要对MapReduce与传统SQL进行结合,从而得到一个混合模型。尽管在开源社区有很多类似的工具,比如Pig、Hive,但这些项目还不能为数据科学家提供高效的、低成本的解决方案。
因此,SQL与NoSQL可以结合成为“Not Only SQL”,在解决方案中添加这样的组合变得越来越流行。大多数商业关系型数据库厂商都已经提供了类似的功能。
大数据项目中另外一个常见的错误就是陷入所谓的“银弹”陷阱。新技术往往被视作解决所有问题的“万能药”,一段时间内,Hadoop已经成为了大数据的代名词,能应对所有的分析挑战。当然,现实中永远不会出现一种技术解决所有问题的情况。大数据的成功需要使用正确的工具解决特定的问题。
三平台策略:数据归档、数据发现、生产环境分析
包括LinkedIn、eBay在内的分析密集型企业,他们解决大数据的方法通常是使用三个平台策略,即一个数据归档平台、一个数据发现平台和一个生产环境分析平台。
由于扩展性、快速数据加载以及低成本等特性,开源Hadoop一直受到了数据归档平台的青睐。通过这个平台,数据可以被存储和调配,并以键值对的方式进行原始格式存储。然而,将Hadoop作为分析平台的基础是极难操纵的,需要大量相关技术人员介入。
对于企业级应用来说,我们就需要考虑更多的问题,比如可用性、可管理性以及安全性等。出于这一考虑,需要数据发现平台填补Hadoop与生产环境中的传统数据库平台之间的“鸿沟”。一个健壮的数据发现平台将能够填补上述Hadoop的功能缺陷,同时让数据科学家能够在SQL或者NoSQL环境下进行工作(针对关系型数据或非关系型数据)。
数据发现平台优化用来提供给小部分数据科学家进行数据试验的设计与执行。数据将以未经处理的格式从Hadoop归档平台导出,以快速地提供给数据科学家。如果从试验中未能发现价值,这部分数据可以简单地丢弃。然后通过发现平台,新的数据再进来。如果数据中发现价值,就把这些数据提交到企业数据仓库平台当中。企业数据仓库平台中的数据是经过验证、可以审计并可以重复利用的,用来进行生产环境分析。
整个数据流动的过程,我将其称之为统一数据架构,旨在利用手头上正确的工具来解决相应的问题。企业可以使用Hadoop作为数据归档平台。数据发现平台能够提供SQL之外的分析能力,同时提供了数据库功能,并对性能、易用性和安全性进行了优化,适合数据科学家使用。不使用ETL技术,通过后期绑定数据发现平台,为数据科学家提供足够的灵活性。与此同时,生产环境分析平台有企业数据仓库组成,其中的数据主要是通过ETL工具加载进来的。
当然,并不是所有的企业都需要上述的三个平台。举个例子, 如果数据量还不足够大的话,那么不建议一上来就部署Hadoop平台。相似地,数据发现平台和生产环境分析平台可以整合在一起,降低整体架构的复杂性。
ROI与TCO
一个大数据项目要成功,就必须提供一个良好的投资回报率。然而,成功的必要投资往往被误解。投资并不仅仅是在技术层面的,还包括具备相应能力的人员投资。举个例子,Hadoop的部署往往被误认为是免费的,因为它是开源的,没有许可证费用。然而在使用“免费”软件的时候,企业就会忽视对人才的投资,只把软件安装在服务器集群当中是远远不够的。
从这个角度看,Hadoop可以被视为免费的宠物。领养的费用是零,但喂养的费用绝对就不是零了。企业必须重视数据科学家以及运维人员的投资,这样才能让系统正常运转,并得到业务价值回报。
另外,总拥有成本是最重要的,而不仅仅是购置成本。记住这一点对企业选择正确的技术是很关键的。总成本价值的优化涉及到投资正确的技术以及技能组合,需要理解针对特定的工作负载哪些技术才是最适合的,并把整个系统结合起来。
相比于对技术过于崇拜的企业,从价值层面打通IT与业务部门的企业更容易获得大数据项目的成功。因此,对正确的技术与技能组合的投资是非常关键的,将它们有机结合起来是优化总成本价值的基础,并能让大数据项目真正获得成功。