本文分享《大数据之路:阿里巴巴大数据实践》这本书的总述,从数据采集、数据计算、数据服务、数据应用四个方面,概括性地介绍阿里巴巴的大数据系统体系。
2014年,马云提出,“人类正从 IT 时代走向 DT 时代”。如果说在 IT 时代是以自我控制、自我管理为主,那么到了 DT ( Data Technology )时代,则是以服务大众、激发生产力为主。以互联网(或者物联网)、云计算、大数据和人工智能为代表的新技术革命正在渗透至各行各业,悄悄地改变着我们的生活。
在 DT 时代,人们比以往任何时候更能收集到更丰富的数据。 IDC 的报告显示:预计到2020年,全球数据总量将超过40ZB(相当于40万亿 GB ),这一数据量是2011年的22倍!正在呈“爆炸式”增长的数据,其潜在的巨大价值有待发掘。数据作为一种新的能源,正在发生聚变,变革着我们的生产和生活,催生了当下大数据行业发展热火朝天的盛景。
但是如果不能对这些数据进行有序、有结构地分类组织和存储,如果不能有效利用并发掘它,继而产生价值,那么它同时也成为一场“灾难”。无序、无结构的数据犹如堆积如山的垃圾,给企业带来的是令人咋舌的高额成本。
在阿里巴巴集团内,我们面临的现实情况是:集团数据存储达到EB级别,部分单张表每天的数据记最数高达几千亿条;在2016年“双11购物狂欢节”的24小时中,支付金额达到了1207亿元人民币,支付峰值高达12万笔/秒,下单峰值达17.5万笔/秒,媒体直播大屏处理的总数据量高达百亿,且所有数据却需要做到实时、准确地对外披露……这些给数据采集、存储和计算都带来了极大的挑战。
在阿里内部,数据工程师毎天要而对百万级规模的离线数据处理工作。阿里大数据井喷式的爆发,加大了数据模型、数据研发、数据质量和运维保障工作的难度。
同时,日益丰富的业态,也带来了各种各样、纷繁复杂的效据需求。如何有效地满足来自员工、商家,合作伙伴等多样化的需水,提高他们对数据使用的满意度,是数据服务和数据产品需要面对的挑战。
如何建设高效的数据模型和体系,使数据易用,避免重复建设和数据不一致性,保证数据的规范性;如何提供高效易用的数据开发工具;如何做好数据质量保障;如何有效管理和控制日益增长的存储和计算消耗;如何保证数据服务的稳定,保证其性能;如何设计有效的数据产品高效赋能于外部客户和内部员工………这些都给大数据系统的建设提出了更多复杂的要求。
《大数据之路:阿里巴巴大数据实践》这本书介绍的阿里巴巴大数据系统架构,就是为了满足不断变化的业务需求,同时实现系统的高度扩展性、灵活性以及数据展现的高性能而设计的。
如图1.1所示是阿里巴巴大数据系统体系架构图,从图中可以清晰地看到数据体系主要分为数据采集、数据计算、数据服务和数据应用四大层次。
图1.1
1.数据采集层
阿里巴巴是一家多业态的互联网公司,几亿规模的用户(如商家消费者、商业组织等)在平台上从事商业、消费、娱乐等活动,每时슯刻都在产生海量的数据,数据采集作为阿里大数据系统体系的第一环た为重要。因此阿里巴巴建立了一套标准的数据采集体系方案,致力全面高性能、规范地完成海量数据的采集,并将其传输到大数据平台。
阿里巴巴的日志采集体系方案包括两大体系: Aplus . JS 是 Web 端日志采集技术方案; User Track 是 APP 端日志采集技术方案。在采集技术基础之上,阿里巴巴用面向各个场景的埋点规范,来满足通用浏览、点击、特殊交互、 APP 事件、 H 及 APP 里的H5和 Native 日志数据打通等多种业务场景。同时,还建立了一套高性能、高可靠性的数据传输体系,完成数据从生产业务端到大数据系统的传输。在传输方面,采用 TimeTunnel ( TT ),它既包括数据库的增量数据传输,也包括日志数据的传输; TT 作为数据传输服务的基础架构,既支持实时流式计算,也支持各种时间窗口的批量计算。另外,也通过数据同步工具( DataX 和同步中心,其中同步中心是基于 DataX 易用性封装的)直连异构数据库(备库)来抽取各种时间窗口的数据。(注:其中的相关细节将在后续的“日志采集”和“数据同步”章节中详细说明。)
2.数据计算层
数据只有被整合和计算,才能被用于洞察商业规律,挖掘潜在信息,从而实现大数据价值,达到赋能于商业和创造价值的目的。从采集条统中收集到的大量原始数据,将进人数据计算层中被进一步整合与计算。
面对海量的数据和复杂的计算,阿里巴巴的数据计算层包括两大体系:数据存储及计算云平台(离线计算平台 Maxcompute 和实时计算平台 Streamcompute )和数据整合及管理体系(内部称之为“ OneData )。其中, Maxcompute 是阿里巴巴自主研发的离线大数据平台,其丰晶的功能和强大的存储及计算能力使得阿里巴巴的大数据有了强大的仔阳和计算引擎; Streamcompute 是阿里巴巴自主研发的流式大数据平百在内部较好地支持了阿里巴巴流式计算需求: OneData 是数据整台及百理的方法体系和工具(注:为方便内部工作及沟通,在阿里内部将这一统一的方法体系和工具简称为“ OneData ”),阿里巴巴的大数据工程师在这一体系下,构建统一、规范、可共享的全域数据体系,避免数据的几余和重复建设,规避数据烟囱和不一致性,充分发挥阿里巴巴在大数据海量、多样性方面的独特优势。借助这一统一化数据整合及管理的方法体系,我们构建了阿里巴巴的数据公共层,并可以帮助相似大数据项目快速落地实现。
从数据计算频率角度来看,阿里数据仓库可以分为离线数据仓库和实时数据仓库。离线数据仓库主要是指传统的数据仓库概念,数据计算频率主要以天(包含小时、周和月)为单位;如 T -1,则每天凌晨处理上一天的数据。但是随着业务的发展特别是交易过程的缩短,用户对数据产出的实时性要求逐渐提高,所以阿里的实时数据仓库应运而生。“双11”实时数据直播大屏,就是实时数据仓库的一种典型应用。
阿里数据仓库的数据加工链路也是遵循业界的分层理念,包括操作数据层( Operational Data Store , ODS )、明细数据层( Data Warehouse Detail , DWD )、汇总数据层( Data Warehouse Summary , DWS )和应用数据层( Application Data Store , ADS )。通过数据仓库不同层次之间的加工过程实现从数据资产向信息资产的转化,并且对整个过程进行有效的元数据管理及数据质量处理。
在阿里大数据系统中,元数据模型整合及应用是一个重要的组成部分,主要包含数据源元数据、数据仓库元数据、数据链路元数据、工具类元数据、数据质量类元数据等。元数据应用主要面向数据发现、数据管理等,如用于存储、计算和成本管理等。
3.数据服务层
当数据已被整合和计算好之后,需要提供给产品和应用进行数据消
费。为了有更好的性能和体验,阿里巴巴构建了自己的数据服务层,通过接口服务化方式对外提供数据服务。针对不同的需求,数据服务层的数据源架构在多种数据库之上,如 MySQL 和 HBase 等。后续将逐渐迁移至阿里云云数据库 ApsaraDB for RDS (简称“ RDS ”)和表格存储( Table Store )等。
数据服务可以使应用对底层数据存储透明,将海量数据方便高效地开放给集团内部各应用使用。现在,数据服务每天拥有几十亿的数据调用量,如何在性能、稳定性、扩展性等方面更好地服务于用户;如何满足应用各种复杂的数据服务需求;如何保证“双11”媒体大屏数据服务接口的高可用……随着业务的发展,需求越来越复杂,因此数据服务也在不断地前进。
数据服务层对外提供数据服务主要是通过统一的数据服务平台(为方便阅读,简称为“ OneService ”)。 OneService 以数据仓库整合计算好的数据作为数据源,对外通过接口的方式提供数据服务,王要提供简单数据査询服务、复杂数据查询服务(接集团用尸识别、用户画像等复杂数据查询服务)和实时数据推送服务三大特色数据服务。
4.数据应用层
数据已经准备好,需要通过合适的应用提供给用户,让数据最大化地发挥价值。阿里对数据的应用表现在各个方面,如搜索、推荐、厂告、金融、信用、保险、文娱、物流等。商家,阿里内部的搜索、推荐、厂告、金融等平台,阿里内部的巧营和管理人员等,都是数据应用方; ISV 、研究机构和社会组织等也可以利用阿里开放的数据能力和技术。
阿里巴巴基于数据的应用产品有很多,本书选择了服务于阿里内部员工的阿里数据平台和服务于商家的对外数据产品﹣一生意参谋进行基础性介绍。其他数据应用不冉赘述。对内,阿里数据平台产品主要有实时数据监控、自助式的数据网站或产品构建的数据小站、宏观决策分析支撑平台、对象分析上具、行业效据分析门户、流量分析平台等。
我们相信,数据作为新能源,为产业注人的变革是显而易见的。我们对数据新能源的探索也不仅仅得留在狭义的技术、服务和应用上。我们正在挖掘大数据更深层次的价值,为社会经济和民生基础建设等提供创新方法。
注。本书中出现的专有名词、专业不语、广品名称、软件项目名称、工具么称等,是淘宝(中国)软件有限公可內部坝目的惯用词语,如与第三方名称雷同,实属巧合。
来源丨摘自《大数据之路:阿里巴巴大数据实践》
相关电子书
![大数据之路:阿里巴巴大数据实践.jpg][1] > 作者: 阿里巴巴数据技术及产品部 > 出版社: 电子工业出版社 > 出品方: 博文视点 > 副标题: 阿里巴巴大数....