DT时代,人们比以往任何时候都收集到更多的数据。据IDC报告,预计到2020年,全球数据总量将超过40ZB(相当于40万亿GB),这一数据量是2011年的22倍!正在“爆炸式”增长的数据,其潜在巨大价值有待发掘。它作为一种新的能源,正在发生聚变,变革着我们的生产和生活,催生了当下大数据行业的热火朝天。但是我们如果不能对这些数据进行有序、有结构的分类组织和存储,如果不能有效利用并发掘产生价值,那么它也是一个数据灾难,它犹如堆积如山的垃圾,给我们企业带来的是极大的成本。
现实情况是:阿里集团的数据存储已经逼近EB级别,部分单张表每天的数据记录数高达几千亿条;阿里内部,离线数据处理每天面对的是百万级规模的作业,每天有数千位活跃的工程师在进行数据处理工作,加上阿里大数据的井喷式爆发,给数模型、数据研发、数据质量和运维保障工作增加了更高的难度。
面对阿里内部成千上万对数据有着深刻需求的员工,以及外部千万级对数据有迫切渴望的商家和合作伙伴,如何有效满足他们的需求,提高他们对数据使用的满意度,是数据服务、数据产品面临的更大挑战。
注:阿里巴巴数据体系架构图
上图是阿里巴巴数据体系架构图,可以清晰地看到我们的数据体系主要分为数据采集、数据计算、数据服务和数据应用四大层次。
1数据采集层
阿里巴巴是一家多业态的互联网公司,几亿规模的用户(如商家、消费者、商业组织等)在平台上从事商业、消费、娱乐等活动,每时每刻都在产生海量的数据,数据采集作为阿里数据体系第一环尤为重要。因此阿里巴巴建立了一套标准的数据采集体系方案,并致力全面、高性能、规范地完成海量数据的采集,并将其传输到大数据平台。
阿里巴巴的日志采集体系包括两大体系:Aplus.JS是Web端日志采集技术方案;UserTack是APP端日志采集技术方案。
在采集技术之上,阿里巴巴有面向各个场景的埋点规范,来满足通用浏览、点击、特殊交互、APP事件、H5及APP里的H5和Native日志数据打通等多种业务场景。同时,建立了一套高性能、高可靠性的数据传输体系完成数据从生产业务端到大数据系统的传输;在传输方面我们采用TimeTunnel(TT),它既包括数据库的增量数据传输,也包括日志数据的传输;TT作为数据传输服务的基础架构,既能支持实时流式计算、也能实时各种时间窗口的批量计算。另一方面,也通过数据同步工具(DataX和同步中心,其中同步中心是基于DataX易用性封装)直连异构数据库(备库)来抽取各种时间窗口的数据。
2数据计算层
从采集系统中收集了大量的原始数据后,数据只有被整合、计算才能洞察商业规律、挖掘潜在信息、实现大数据价值,达到赋能商业、创造商业的目的。面对海量的数据和复杂的计算,阿里巴巴的数据计算层包括两大体系:数据存储及计算云平台(离线计算平台MaxCompute和实时计算平台StreamCompute)和数据整合及管理体系(OneData)。MaxCompute是阿里巴巴自主研发的离线大数据平台,其丰富的功能和强大的存储及计算能力使得阿里巴巴的大数据有了强大的存储和计算引擎;StreamCompute是阿里巴巴自主研发的流式大数据平台,在内部较好的支持了阿里巴巴流式计算需求;OneData是数据整合及管理的方法体系和工具,阿里巴巴的大数据工程师在其体系下,构建统一、规范、可共享的全域数据体系,避免数据的冗余和重复建设,规避数据烟囱和不一致,充分发挥阿里巴巴在大数据海量、多样性方面的独特优势。
借助OneData方法体系,我们构建了阿里巴巴的数据公共层,并可以帮助相似大数据项目快速落地实现。
从数据计算频率角度来看,阿里数据仓库可以分为离线数据仓库和实时数据仓库。离线数据仓库主要是传统的数据仓库概念,数据计算频率是主要是以天(包含小时、周和月)为单位;如T-1,则每天凌晨处理上一天的数据。但是随着业务的发展特别是交易过程的缩短,用户对数据产出的实时性要求逐渐提高,所以阿里的实时数据仓库应运而生。双11实时数据直播大屏,就是实时数据仓库的一种典型应用。
阿里数据仓库数据加工链路也是遵循业界的分层理念:包括操作数据层(ODS,Operational Data Store)、明细数据层(DWD,Data Warehouse Detail)、汇总数据层(DWS, Data Warehouse Summary)和应用数据层(ADS,Application Data Store)。通过数据仓库不同层次之间的加工过程实现从数据资产向信息资产的转化,并且对整个过程进行有效的元数据管理及数据质量处理。
在阿里大数据系统中,元数据模型整合及应用是一个重要的组成部分。主要包含数据源元数据、数据仓库元数据、数据链路元数据、工具类元数据、数据质量类元数据等。元数据应用主要面向数据发现、数据管理等,如用于存储、计算和成本管理等。
3数据服务层
当数据已被整合和计算好,需要提供给产品和应用进行数据消费,为了更好的性能和体验,阿里巴巴构建了自己的数据服务层,通过接口服务化方式对外提供数据服务。针对不同的需求,数据服务层的数据源架构在多种数据库之上,如Mysql和Hbase等。后续将逐渐迁移至阿里云云数据库ApsaraDB for RDS(简称RDS)和表格存储(Table Store)等。
数据服务可以使应用对底层数据存储透明,将海量数据方便高效地开放给集团内部各应用使用。现数据服务每天几十亿的数据调用量,如何在性能、稳定性、扩展性等多方面更好地服务用户;如何满足应用各种复杂的数据服务需求;如何保证双11媒体大屏的数据服务接口的高可用;随着业务的发展,数据服务也在不断前进。
数据服务层对外提供数据服务主要是通过OneService平台。OneService以数据仓库整合计算好的数据作为数据源,对外通过接口的方式提供数据服务,主要提供简单数据查询服务、复杂数据查询服务(类似用户画像(GProfile)等复杂数据查询服务)和实时数据推送服务等三大特色数据服务。
阅读全文:http://click.aliyun.com/m/14456/