阿里巴巴大数据系统体系架构图
阿里数据体系主要分为数据采集、数据计算、数据服务和数据应用四大层次。
一、数据采集层
阿里巴巴建立了一套标准的数据采集体系方案,致力全面、高性能、规范地完成海量数据的采集,并将其传输到大数据平台。
数据来源主要有两部分:
业务数据:主要存在数据库中
日志数据:主要来自于日志文件
日志采集技术:
Aplus.JS:Web端日志采集技术方案
UserTrack:APP 端日志采集技术方案
消息中间件(离线/实时):
TimeTunnel (TT ):既包括数据库的增量数据传输,也包括日志数据的传输
数据库同步工具(离线):直连异构数据库(备库)来抽取各种时间窗口的数据。
DataX/同步中心:同步中心是基于DataX易用性封装的
二、数据计算层
数据被整合和计算后,才能被挖掘潜在信息,从而实现大数据价值,达到赋能于商业和创造价值的目的。
两大体系:
数据存储及计算云平台(离线计算平台(MaxCompute)、实时计算平台(Strea Compute))
数据整合及管理体系:阿里内部称之为“OneData ”,数据整合及管理的方法体系和工具
数据仓库:
离线数仓:传统数仓。主要以天(包含小时、周和月)为单位,如T-1,则每天凌晨处理上一天的数据。
实时数仓:流式数据
数仓的建设遵循业界的分层理念,传统的数据加工链路包括以下几层:
数据层:Operational Data Store,ODS
明细数据层:Data Warehouse Detail,DWD
汇总数据层:Data Warehouse Summary,DWS
应用数据层:Application Data Store,ADS
数仓不同层次之间的加工实现了数据资产向信息资产的转化,整个过程还进行了有效的元数据管理及数据质量处理。
元数据模型整合及应用:主要包含数据源元数据、数据仓库元数据 、数据链路元数据、工具类元数据、数据质量类元数据等。元数据应用主要面向数据发现、数据管理等 ,如用于存储、计算和成本管理等。
三、数据服务层
目的:数据被整合和计算好之后,可以提供给产品和应用进行消费。
数据服务层以数据仓库整合计算好的数据作为数据源,可以架构在多种数据库之上,如MySQL和HBase等。
数据服务层主要通过统一的数据服务平台对外提供数据服务,通过接口服务化方式对外提供数据服务。通过接口堆外提供的数据服务主要包括:
简单数据查询服务
复杂数据查询服务
实时数据推送服务
数据服务可以使应用对底层数据存储透明,将海量数据方便高效地开放给各应用使用。
四、数据应用层
数据准备好了,可以提供给其他部门使用,比如索、推荐、广告等应用。