大数据分析的门槛
随着信息技术的迅速发展,各行各业正产生和积累爆炸式增长的数据。如何通过分析这些规模和复杂度不断增长的数据、挖掘数据的价值来为公司提供商业决策支持,正成为困扰企业高管的一大难题。尽管近年来大数据处理相关的工具和产品不断涌现,企业进行大数据分析的门槛依然很高,主要体现在以下三方面:
- 价格高昂的软硬件导致巨大的前期投入:无论是成熟商业数据仓库的软件许可,还是开源大数据系统的商业技术支持,价格都非常昂贵,更不用说还需要购买软件的硬件。企业需要巨大的前期投入。
- 漫长的项目实施周期,纷繁复杂的系统运维:从技术选型、概念验证开始,到购买硬件设备,部署大数据分析软件,测试调优,最后才能用于生产系统中。整个周期跨度是以年为单位计算的。即使系统部署完毕,还需要配置一个运维团队,负责数据分析系统的正常运行,如给软件打补丁、数据备份、扩容、运行参数调优、错误恢复等极易出错的工作。
- IT资源规划是一个令人头疼的事情,特别是做未来多年的规划:在全球经济前景不明朗的大背景下,企业业务发展有很大不确定性,这给规划大数据处理所需的计算存储资源带来了巨大挑战:资源配置低了,大数据系统无法及时分析业务数据和充分挖掘数据的价值,企业将错失大量商业机会;资源配置高了,造成浪费的同时,增加运营成本,降低了企业在行业中的竞争力。
公司使命
酷克数据由前Apache HAWQ创始团队成员创立,核心团队由来自Pivotal,Teradata,IBM,Yahoo!等公司资深的分布式数据库、云计算和Hadoop专家组成。自创立之日起,我们一直将降低企业进行大数据分析的门槛,推动数据民主化视为公司使命。
公司的创始团队成员很幸运地以核心开发者的角色参与到,从单机版的关系型数据库(PostgreSQL),到大规模并行处理(MPP)分布式数据库(Greenplum Database),再到最近比较火的SQL-on-Hadoop(Apache HAWQ)等多个大数据项目中。从产品功能演进的角度看,我们现在能够对规模越来越大、结构越来越多样的数据进行越来越复杂的分析;但从企业使用这些工具的门槛看,前面提到的三大难点并没有太大改观。下面我们以Apache HAWQ为例,简单解释一下为什么这些难点依然存在。
虽然HAWQ作为开源项目,企业可以免费下载源代码、编译、部署和运行,但考虑到系统本身的复杂性(这是一个包含上百万行C,C++,Java,Shell和Python代码的分布式数据仓库),很难想象一家企业在向Pivotal购买HAWQ商业版本支持或者配备一个技术高强的工程团队(这也是很高的成本)之前,会将其用于生产环境核心业务中。而商业版本支持的价格是每节点数千美元,这对很多中小企业来说已经是一笔很大的开销,更不用说还需要购买运行HAWQ所需的硬件。
一个HAWQ生产环境系统实际上由三个分布式系统组成的:HDFS作为存储层,YARN作为资源调度框架和HAWQ本身的MPP执行引擎。每个系统都有几十个甚至上百个对系统性能和功能有着重要影响的配置参数,而且不同系统的配置参数之间还有相互依赖关系。即便撇开项目实施的复杂度,单是运维工作,对企业来说已经是巨大的负担和隐患。
在最新的HAWQ版本中,已经加入了动态增删节点的功能,从而给系统资源规划带来了一定的灵活性。但由于HAWQ本身对异构环境支持不足的限制(HAWQ的推荐是每个计算节点配置一样的硬件和软件),以及出于采购成本的考虑,企业更倾向于批量购买运行HAWQ的硬件资源。IT资源规划依旧是一个逃不掉的难题。
正因为已有解决方案的不足,促使我们创立了酷克数据,并为实现以下目标而努力奋斗:
- 像用水、用电之于个人一样,我们希望将大数据分析的成本降低到所有规模的企业,而不仅仅是大企业,都用得起,并且是按需付费,没有任何的前期投入。
- “加载数据,分析数据,挖掘价值,其他一切交给我们。”我们希望用户将精力放到改善他们的业务上面,而不是去操心纷繁复杂、极易出错的大数据系统实施和运维。
- 同时,我们希望我们的解决方案提供足够的弹性,让用户能够根据业务负载变化随时调配数据分析所需的资源,而不用为提前规划计算存储资源而绞尽脑汁。
长在云上的大数据分析引擎
最新的Northbridge云计算调研[1]表明,企业对云计算的接受度正在加速。企业高管不再争论应不应该上云,而是什么时候上云以及多大范围内使用云。企业将越来越多的应用部署在云上面,而这些应用产生大量的业务数据。考虑到数据迁移成本、网络延迟以及数据一致性等因素,将云上产生的数据移到云外面进行分析是不可取的。所以,长在云上的大数据分析引擎成为大势所趋。
如同Apache HAWQ(SQL-on-Hadoop)不是简单地将支持SQL接口的Greenplum Database部署在Hadoop平台上面,长在云上的大数据分析引擎也不是简单地将已有的分布式计算框架搬到云上面,而应该从系统架构层面将云平台的特性考虑进来:在利用云计算优势的同时,克服其带来的挑战。
虚拟化的性能开销指的不仅仅是计算资源虚拟化带来的开销,还包括软件定义的存储和网络带来的性能下降。不过随着虚拟化技术的发展[2],以及容器技术的成熟,这方面的代价将越来越少。另外,云平台资源共享的属性,会导致虚拟硬件资源性能的不稳定,特别是网络IO;同时,云平台资源调度策略时不时会对一部分正在运行的计算资源(虚拟机)进行迁移,从而对分布式系统状态的一致性造成影响。简单地说,我们需要在一个硬件性能有波动、不稳定的环境中提供稳定、一致的用户体验。这对云端大数据分析引擎的鲁棒性提出了极高的要求。
另一方面,云计算为我们降低企业进行大数据分析的门槛,推动数据民主化提供了坚实的基础:
- 云计算的规模经济和按需收费的模式大幅降低了数据存储和计算的成本,使得从世界五百强企业到几个人的创业公司都承担得对海量数据进行分析的开销。
- 计算、存储和网络资源的API化使得软硬件进一步融合,很多原来在软件层面(分布式系统内核)实现起来非常复杂、极易出错的功能现在可以挪到硬件层面(云资源调度)以一种更简单直观的方式重新实现,让大数据分析系统的自动化运维甚至是智能化运维成为可能。
- 最后,云平台上面近乎无限的资源(对某一个特定系统或应用而言)和弹性属性,将数据存储资源和计算资源的规划彻底送进历史博物馆。
总结
如[1]所说,企业对云解决方案的需求正在快速增长,而采用云计算解决核心大数据分析的趋势才刚刚开始。我们坚信在这一领域还有很多革命性的创新,无论是技术层面的还是商业层面的。对此,我们充满着期待!
[1]2015 Northbridge Future of Cloud Computing Survey.
[2]Virtualized Hadoop Performance with VMware vSphere 5.1.