订阅云计算RSS CSDN首页> 云计算

【先锋】思明软件大数据技术平台打造历程和Impala实战分享

发表于2014-11-13 13:39| 次阅读| 来源CSDN| 0 条评论| 作者魏伟

摘要:思明软件大数据技术平台除解决海量数据存储和快速并行处理之外,还对大数据服务和管理进行了技术革新和封装,使其能满足应用开发各种业务需求。本期云先锋将为大家分享思明软件大数据平台打造历程和Impala实战。

在采访思明数据刘诚忠的过程中,他表示当下大数据领域企业级市场靠技术垄断获取高额利润的玩法已经过时了,技术的成本会不断降低,这是大势所趋,这个市场的巨头会出现在技术很好,但服务更好的公司里。而站在用户的角度,用户们首先关心的是如何让数据发挥价值,然后才是这套解决方案依赖何种技术,是否能快速应用,是否能适应后面可能的扩展,相对技术来说第一点是更难的。

事实上今天的企业客户,特别在大数据技术领域,更需要的是长期的合作伙伴。他们不只需要购买技术密集的产品,还需要和大数据的技术专家一起研究如何让数据发挥出价 值,利用技术公司的丰富经验跟企业现有的业务进行碰撞,一起探讨新的数据应用场景,这是客户最需要的,也是思明数据最擅长的。下一步才是考虑使用何种技术方案的 问题。一个经验丰富的大数据公司不只是处理大数据,应该能帮助企业客户发现数据、带来数据、进而整合出合理的数据模型,然后再考虑展现,最后反映到企业的日常决策 中,形成运营-数据-决策的良性闭环。

思明数据走的是拥抱开源但坚持自主研发的路线,他们在提供产品的同时也提供解决方案。为了和各大发行版兼容,思明的大数据基础平台保持完全的标准化和开放性,在平台方面主要是bug fix的跟踪和patch跟踪,解决各个组件的依赖问题,发布稳定的,验证可用的大数据平台版本。针对 思明软件大数据技术平台的具体打造历程我们采访了思明软件技术经理刘诚忠,以下是采访实录


思明软件技术经理 刘诚忠

思明数据的团队、定位、优势

CSDN:首先介绍下自己和思明数据,目前的技术团队情况如何?

刘诚忠:2008年毕业于北航计算机系,在VMware中国研发工作4年,做网络虚拟化和虚拟机在线迁移优化的工作,接下来在国内领先的广告技术公司秒针系统负责分布式系统的设计实现,目前在思明数据担任研发经理,负责大数据技术平台方面的研发工作。思明数据是新兴的一家本土大数据技术公司,我们的核心技术团队基本上都是计算机,数学和信息学背景,90%以上都是清华、北大、北航、北邮、中科大、CMU这些海内外名校毕业,可以说是国内大数据技术人才密度最高的公司。

CSDN:目前企业级的大数据应用、实施和分析领域,国内外的市场态势如何?思明数据在其中的定位是怎么样的?具备哪些独特的优势?

刘诚忠:传统数据应用分析这块,基本是IBM、HP、Oracle等国际软件巨头的天下,这些先基于单机然后再扩展的方案,都是性能优先于扩展性的解决方案,而且各家都是闭源的技术封闭形成技术垄断,因此在过去的几十年里赚走很大利润。我们当前面临的这次技术升级,是来自于整个社会电子化以后信息的爆炸,导致可利用的需要处理的数据量暴增,而传统体系架构并没有发生革命性的根本变化,比如量子计算机,具备扩展性的方案基本还是X86的天下,通过线性扩展去应付增长的数据,这给来自Google的内部实践然后由雅虎的一些工程师参考设计最后流行起来的Hadoop技术路线一个蓬勃发展的机会。

基本上新兴的大数据解决方案,都建立在一个相对简单廉价的分布式文件系统(HDFS)基础上,围绕大数据移动成本极高的关键点来设计,通过架构获得性能优势和扩展性,相对于传统方案来说,这具有更好的扩展性和更低的成本。当然传统的软件厂商也在努力去适应这个技术潮流,有的公司会把原有产品和Hadoop这些工具整合打通比如Oracle,有的会和Hadoop商业发行版进行合作一起打造整体解决方案比如EMC和MapR合作,所以总的来说在当前企业级大数据应用分析特别是交互式分析这块,还是传统商业软件转型和新兴的基于开源标准的商业产品PK的态势。但是值得注意的是,基于Hadoop社区的整个产品族趋势已经形成,这个路线已经是势不可挡了,这意味着很难再重新做一套Hadoop这样底层基础架构的东西并且获得大家的认可支持,阿里的技术团队能把Oceanbase这么多年坚持做下来是个奇迹,我个人对此抱有敬意。

思明数据走的是拥抱开源但坚持自主研发的路线,我们提供产品的同时也提供解决方案。思明的大数据基础平台会保持完全的标准化和开放性,这是为了和各大发行版兼容,在平台方面我们主要是bug fix的跟踪和patch跟踪,解决各个组件的依赖问题,发布稳定的,验证可用的大数据平台版本。在此基础上,我们一方面提供企业级使用必备的功能组件,包括运维管理、任务管理、用户审计、访问安全、权限控制、实时分析引擎等核心组件,另一方面开发丰富的上层应用,我们的实时分析引擎是国内首家整合了MPP和迭代计算的混合引擎,屏蔽下面各种组件的复杂性,向上层应用提供一致性的SQL接口;数据挖掘平台致力于让普通业务人员也能够轻松创建和训练模型,让业务人员轻松转型数据科学家;可视化展现平台能够让客户快速创建基于HTML5的类似数据魔方这样的报表工具,直观感受数据的威力;数据工厂则拥有业内领先的大数据实时增量同步的功能。总的来说, 思明立足于扎实的技术功底提供标准化的平台搭建,又有强大的上层应用开发能力,帮助客户发挥数据的价值。

附图:思明大数据产品图示:


用户最关心的是什么

CSDN:思明数据的用户分布如何,有没有一些重量级的客户?

刘诚忠:我们服务过的用户已经覆盖了金融、零售、通信等多个领域,典型的客户比如中国银联、邮政储蓄银行、CCTV、中国联通、国家统计局、苏宁云商、国美在线、贵州电网等等,这些客户都有一个共同点,就是他们有丰富的数据,迫切需要从这些数据中提炼信息,进一步引导决策。一般来说客户分为两类,一类是单纯的企业信息架构的技术升级,我们会提供大数据技术平台产品,帮助企业进行升级;另一类是面临新的数据驱动的业务,需要信息技术支撑,我们会从业务入手,搭建整套解决方案。因此,思明数据可以说是国内为数不多的,既能够提供基础的大数据平台,又能够提供与业务密切相关的上层大数据应用的,最完整的大数据整体解决方案提供商。

CSDN:站在客户的角度,最关心的问题有哪些?你们如何应对?

刘诚忠:客户首先关心我面临的数据如何发挥价值,然后才是这套解决方案依赖何种技术,是否能快速应用,是否能适应后面可能的扩展。相对技术来说第一点是更难的,这要求和业务方紧密合作,思明的技术团队植根于数据挖掘应用领域多年,有丰富的经验帮助企业做各种数据驱动的业务提升,事实上今天的企业客户是不希望一个公司只卖产品的,特别在新兴技术领域,思明更愿意做的是长期的企业合作伙伴,我们的技术专家会和业务方坐在一起长达数月,讨论研究出如何让数据发挥出价值,用我们的经验跟客户已有的业务进行碰撞,一起探讨一些新的数据应用场景,这是我们最擅长的,也是在我们看来客户最需要的。

第二点才是采用何种技术方案,比如如何搭建底层存储计算的大数据基础平台,但这还只是一个基础性的设施,这对真正企业的解决方案来说,只是一部分。大数据技术要在客户那里落地,有无数隐形成本,需要考虑包括ETL、运维管理、权限审计、业务应用、可视化展现等诸多环节,思明数据是国内目前对大数据提供解决方案最完整的技术公司,我们的产品覆盖了从数据迁移,数据基础平台到数据挖掘应用,数据展现的全栈,这样的好处是能够保证最大的一致性对客户服务,降低交付成本,以最敏捷的方式让客户迅速得到业务提升。

思明软件大数据技术平台打造历程

CSDN:能否分享下思明软件大数据技术平台的打造历程?

刘诚忠:经验很多,教训更多,整个技术团队基本都是踩着坑过来的,像我是从秒针系统过来,也有从Ebay、百度、酷我这些互联网公司过来的同事。拿我自己来说,我和我的团队在2012年开始基于PostgreSQL9.1(pg)做一款分布式数据库集群,采用分区的一些水平扩展常用方式,用10台机器实现了秒级查询TB级别数据的目标,当时团队就3个人,主要精力花在元数据库的设计,数据如何高效的分表导入集群,以及利用文件系统的已有机制便捷的实现一个任务工作流,但是对SQL的解析这块非常弱,几乎只能跑最简单的SQL,因此使用范围很有限。

不过我们后来在2013年把Cloudera Impala进行了hack,使用Impala作为pg集群的引擎,得到了很好的SQL覆盖面和不输于Impala的性能。在2012年底开始,我们用C++基于pg, rabbitmq消息队列自己设计实现了一套分布式存储计算平台,这个软件里的各个模块充斥着各种程序员喜欢的名字比如Amoeba之类,上线后运行至今,处理每天秒针对全网几十亿广告曝光点击的海量统计日志,分别出实时报表和每天的批处理报表,现在看来这个架构类似于混合的Storm和Hadoop。

当时一个清华毕业的工程师用一个模板类非常精简的实现了Map和Reduce原语,然后我们搭建了核心的批处理模块,再基于此开发消息队列流转经过的各个运算模块,最后使用PostgreSQL数据库作为结果汇总,类似这样的经验还有好几次,2012年的时候我们使用KFS的集群已经上百台,很多问题KFS开发团队都没遇到过,只能自己维护一个版本。我们当时一直在自主开发这些系统,也一直在关注Hadoop社区的进展,同时做各种尝试和性能对比,对Hadoop的稳定性和可调试性一直都不太满意,直到Hadoop2.0出来后,我们认为开源标准这边的趋势已经形成,才放心的开始切换到使用Hadoop的路线,于是技术团队又开心的在Hadoop社区的产品族里做各种尝试。

总的来说,我们技术团队的大多数人有比较类似的教训,那就是大数据基础技术的研发成本是很高的,大家各自为战去开发这些复杂度非常高的系统是一件非常不划算的事情,在目前开源技术成熟的情况下,紧密结合主流的标准技术是一种对未来负责任的做法,也是更为安全的方案,有个例子是当时Hive出来时对SQL支持很不完善,开源社区有很多人自己开发parser去支持更好的SQL语法,但是这些项目2013年后大部分都停了,因为后面Hive0.12,0.13冲得很快赶了上来,大家发现使用标准的Hive更容易和整个生态圈的产品协同合作,于是又纷纷转了回来。在我看来,开源就类似于三体里的安全声明,对某一个细分的技术方向发出号召,大家一起来打造优质的东西,而不是互相不知情各自为战,这样的组织方式带来的好处就是大大降低了后面技术升级时被淘汰的风险。

所以对思明而言,我们提供企业服务,客户在上线这样大规模的信息架构系统面临什么风险是我们的第一考虑要素,吃了这么多年闭源商业软件的亏,客户都明白不能被锁在某一个厂商的平台上,如果要换其他平台应该能够无缝的切换过去,这就要求我们对客户尽量提供业界标准的通用技术架构,我们的自主研发产品都是以添加功能的方式放入这个平台而不是侵入性很强的修改方式,保证整体的移植性不受影响,这样就有利于客户后面的技术升级,降低风险。(转下页)


CSDN诚邀您参加中国大数据有奖大调查活动,只需回答23个问题就有机会获得最高价值2700元的大奖(共10个), 速度参与进来吧

第八届中国大数据技术大会(Big Data Technology Conference 2014,BDTC 2014)将于2014年12月12日-14日在北京新云南皇冠假日酒店召开。传承自2008年,历经七届沉淀,“中国大数据技术大会”是目前国内最具影响、规模最大的大数据领域技术盛会。本届会议,你不仅可以了解到Apache Hadoop提交者Uma Maheswara Rao G(兼项目管理委员会成员)、Yi Liu,以及Apache Hadoop和Tez项目管理委员会成员Bikas Saha等分享的通用大数据开源项目的最新成果和发展趋势,还将斩获来自腾讯、阿里、Cloudera、LinkedIn、网易等机构的数十场干货分享。 门票限时折扣中, 预购从速

0
0