国双科技黄勇坚:Lambda架构在企业大数据领域的实战案例应用
9月13日晚,由数据科学研究院主办,国双科技、清华大数据产业联合会承办的2016秋季学期首场清华大数据“应用·创新”系列讲座,在清华大学FIT楼多功能厅顺利举行。本场讲座邀请到了国双联合创始人、国双副总裁黄勇坚,通过实战应用案例对Lambda架构进行了全方位解读。演讲时长两个多小时,全场满满干货。
以下文字均基于黄勇坚演讲速记,可自行脑补画面。
Google、微信之后是什么时代?
回顾整个IT技术发展历程,它始终是以促使人类办事更加容易,生活更加方便为发展趋势的。
上个世纪40年代以来,依据冯•诺依曼架构、图灵理论而造出了计算机。初心其实是为了打仗,计算原子弹路径千万别跑偏,当时需要庞大的人工的计算量,但二战期间人力有限。IBM的神话由此诞生。
随着时代的发展,除了计算,人们还产生了办公、娱乐等诉求。于是计算机逐步个人化、微型化。那个年代成就了微软、英特尔这样的巨头。
后来进入互联网时代,Google这样改变世界的企业应运而生,紧随其后的还有微信这样的移动互联网神器。如今,当计算世界进入到“大数据”时代,又会出现什么样的传奇呢?
为什么说近十年才是“大数据”的时代?当年比尔·盖茨靠Windows起家难道就没人提“ 大数据 ”吗? 十年前,当我们想去一个地方却不知道路怎么走的情况下,还会依赖纸质地图。如今可以直接用百度、高德地图随时导航。十几年前并非没有“数据”,也不是没有需求,而是在整个业态里面,没人有能力收集起来这些数据,“大数据”又从何谈起呢?
中国大数据的两条腿
实质上,大数据技术是以解决业务问题为导向的。国双科技这家公司的文化也是一样以客户为中心,利用“大数据”帮助客户去解决业务问题,同时发现新的问题,以此也可以驱使技术进步。
中国的技术市场比较偏应用,各种基于大数据的应用满天飞,但是做底层做框架的公司并不多。另一方面,由于中国互联网用户数量庞大,大数据的应用又在不断产生新的数据。
为了能够用好这么海量的数据,中国的大数据行业需要两方面的人才,第一类是业务人才,第二类是技术人才。首先,“大数据”需要解决业务问题,业务专家必不可少。其次,相关专业的技术人才所做的的研究也不可或缺。因此“大数据”这个领域将会是一个非常宽广的就业市场。
大数据解决四类问题
“所有的技术的发展是为了解决业务问题,解决人们的衣食住行等生活问题,使人类社会变得更加美好”。用抽象的方式做个归类的话,基本可以归为四大类:
【描述性分析】:发生了什么?
【诊断性分析】:事情发生后,分析为什么会发生?
【预测性分析】:掌握规律,预测下一次什么时候发生?
【分析应用】:根据已经发生的事来解决实际问题,促进业务的发展。
奥运会上的大数据
在奥运会期间,全球数以亿计的观众会通过例如电视、PC,安卓等多个平台对比赛进行观看,这样就产生了跨区域、跨平台的海量数据。这时,国双通过技术帮助CNTV(中国网络电视台)进行“用户播放行为分析”。比如某个赛事在北京的收视率如何,各类终端占比是多少。
商用大数据的最低配置
类似奥运会的商用“大数据”系统有哪些必须满足的性能呢?
第一,高可用性。系统里的这些组件可能会随时挂掉一个,或者若干个,我们必须保证系统还要能正常的工作;
第二,可伸缩性。系统可以通过横向扩容去加机器,去解决数据量增大的问题。
第三,容错性。如果程序出了错误之后,要易于恢复;
第四,高性能。要做到实时且快速反应,不能半天才出来结果。
大数据领域的最基本问题与解决之道
回到上面提到的“在奥运期间,不同的终端,不同的地域,观众究竟分别观看了多少次呢?”这个问题,从问题到答案我们可以看到“大数据”领域最基本的问题以及解决之道。
我门要解决业务问题,究竟现在的在线人数有多少,终端比例是多少等这些问题的本质就是——查询,能把业务问题解决掉的实质也就是把查询这项功能做好。说起来“查询”二字好像很容易,但是这“大数据”行业里面的查询可并不简单,查询可以由这三类构成,分别是OLAP查询、OLTP查询、实时查询。为了支持最基本的问题——查询,Storm的作者就提出了Lambda架构,对查询的问题进行了抽象概化,那么这三种查询究竟是什么样的呢?接下来就对这三种查询进行简单的学习与介绍。
【OLAP数据仓库】
OLAP的英文是Online AnalyticsProcessing,这种技术是专门用于 数据分析 的,它的核心概念是维度和指标,维度就是分析问题的角度,指标就是一个数字,经过聚合计算的一个数字,通过求平均、求和,用聚合的方式得到了一个指标。这些维度和指标会组成一个数据立方体,允许用户去进行多个维度的察看这些数据立方体的数字,不同的维度与指标交叉就产生了多维度自由剖析。
【OLTP数据库】
OLTP数据库典型的应用就是用户注册,在数据库里面新添加一条用户的信息,上飞机的时候看一下这个用户有没有买票,进图书馆把书还了等,把还的书从借阅的状态变成未借阅的状态,这很显然是数据的更新、查找,一般不用聚合,这是很典型的OLTP数据库应用。
【实时查询(CEP)】
实时查询顾名思义就是要求在很短的延期内,能够对数据做各种各样的预计算,“在奥运期间,不同的终端,不同的地域,观众究竟分别观看了多少次呢?”的问题就是典型的应用,它强调的实时,现在这一刻。
在学习和了解了解决业务的这三种查询方法之后,我们回过头来看CNTV的那个问题,就是做实时的查询,在此基础上利用OLTP及OLAP进行聚合分析,满足那些没有提到的更为复杂的功能需求时,这就是Lambda架构在企业大数据领域的实际应用。
今天我们从对“大数据”行业的理解说到大数据技术是以“解决业务”为导向,再到大数据能解决什么问题?解决了CNTV的什么问题?最后利用国双提供给CNTV服务中的一个小问题来实例证明“大数据”里面最基础的问题其实也是最佳的解决之道——查询,怎么查询呢?我将查询分为三种查询,有OLAP、OLTP以及实时查询,跟大家讲了这些查询的概念,今天跟大家所讲的Lambda的架构,主要是从一个企业的实际角度来讲,用实际发生的案例让大家来理解Lambda架构在满足高可用性、容错性、可伸缩性和高性能的情况下,怎么能够通过分层的方式,巧妙的把这些东西揉到一起,去解决业务的问题,希望大家能够通过我的这次演讲对“大数据”对“Lambda架构”有新的认识,谢谢大家。
演讲PPT完整版
责任编辑:陈卓阳