《大数据之路-阿里巴巴大数据实践》读书笔记

ps:这本书主讲阿里的大数据体系架构方案,从底层到高层阐述,目前对我来说此书的难度较大,不是很懂,大部分为对原书的引用归纳,我会给出相应的大牛的关于此书的读书笔记的传送门供参考。以下为大牛关于本书的读书笔记供参考:读书笔记传送门https://www.jianshu.com/p/69dbf35713ad

此书下载传送门http://www.java1234.com/a/javabook/yun/2018/0308/10578.html

整本书分为四篇幅,共分16个章节分别阐述阿里巴巴在大数据的挑战下的各个方面的应对与方法。

第一篇数据技术篇,包括第2、2、4、5、6、7章。

第二篇模型篇,包括第8、9、10、11章。

第三篇数据管理篇,包括第12、13、14、15章。

第四篇数据应用篇,包括16章。

    总述阿里巴巴在大数据时代,面临的挑战与机遇,系统的整体大数据系统架构,在数据爆炸增长的时代,能不能有组织、有序、有结构地存储,是阿里数据技术部门和产品部门需要解决的问题,另一个很重要的问题是在如双十一这种促销活动购物活动时候,阿里的服务能不能稳定的提供,满足越来越高的下单峰值,阿里大数据井喷式爆发,在数据服务和数据产品方面有着极大的挑战。

    各层总述1.数据采集层方案主要包含俩个部分,第一部分Aplus.JS,它是Web端日志采集技术方案,app端日志采集技术方案为UserTrack,在此之上,阿里用规范埋点,这样在满足用户要求的同时,像在不同是场景中都有做,这样以此为依托在通过建立一套数据传输体系,来实现从生产业务端到大数据系统的数据传输,传输采用TimeTunnel(TT),包括数据库增量数据传输以及日志数据传输,TT作为基础架构,支持流式计算和及以不同时间窗口的批量计算,通过DataX和同步中心(ps基于前者封装)来连节备用数据库获取数据。典型的日志采集工作过程如下,1用户点击操作,2浏览器随即像服务器发起http请求,3服务器端业务处理模块按逻辑解析,将处理结果反馈给浏览器,4浏览器展现给客户。日志采集工作,一般在第四步执行,在HTML文档中增加一个日志采集点,当进行到这一步时候,会触发这个操作,发出请求至日志采集的服务器,如此日志采集服务器便可以确认浏览器的操作,采集-发送-收集-解析,另外考虑到互动行为特征,如鼠标焦点的变化,交互日志采集阿里通过一套名为“黄金令箭”采集方案来解决。另外包括页面日志服务器端的清洗和预处理,此处不再 细说,以上仅仅为浏览器的页面采集工作,还有无线客户端的日志采集工作,阿里使用采集sdk来实现,阿里使用名为UserTrack(UT)的sdk,有些页面事件,有着无痕埋点,无需开发者任何编码实现,UT提供了页面展现、页面退出、添加页面扩展信息这三个接口,UT提供透传参数的功能,及当前页面某些信息传入到下一个或者好几个页面中,通过Super Position Moder来进行来源去向的追踪,像用户路径还原这种问题就很简单了。

    还有一些控点事件和其他事件,除了之前提到的,UT还提供默认的采集方法,如自动捕获应用崩溃,sdk提供日志的聚合功能,利用页面的生命周期来适当的聚合,以及本地聚合功能,识别页面复用,配合栈的深度等进行更为复杂的操作。很多情况下H5和Native互跳,数据丢失验证,用户路径无法还原,多端之间数据隔离等问题,阿里通过对H5和Native统一处理来解决。那么就涉及到日志的归档,通常Native部署采集SDK方式,具体流程略过。涉及到另外一个问题访客数,用户登陆时候用用户ID来唯一标示,为登陆的界面,pc端用Cookie信息作为设备唯一信息,aap端,阿里采用UTDID来标识。

    无线端日志上传,是先存储在本地,后伺机上传,上传动作不单以时间间隔来决定,还要考虑日志的大小以及合理性,对与重要的数据,此时可以适当地释放其他日志资源来优先处理。日志早已不是初期的饥饿阶段,反而面临海量日志淹没的危险,故问题不再是采集技术本身,而是如何数据的规范化、机构化、组织化。阿里采用日志分流和定制处理、采集与计算一体化设计这俩个方案。具体有关分布式,分治策略等,后一个要求对日志的归类和汇总,,一体化要求采集和计算作为一个系统考虑,阿里采用用户直观感知的SPM规范。

    另外一个重要的问题是大促保障,如“双十一“活动,需要保证每个阶段都没有问题,端埋点采集,服务器处理,传输,解析,分析,应用,需要考虑服务器能力,实时处理等各方面,对非重要数据进行适当限流,延迟上报,部分采样,后错峰恢复。

另外从业务上改造,各链路做优化。

    数据同步主要将不同源系统的数据文件通过文件服务器,上传到目标系统,由于上传下载可能会造成数据丢失,除上传文件本身外还会上传一个校验文件,以确保准确性。通过解析日志文件获取发生变更的数据,主要步骤为源系统日志文件到通过日志解析模块,在由TCP/IP协议,数据加载模块再到目标系统。

    数据存储时候面对大量非结构化数据,将其直接以文本文件形式存放在文件系统中,这些数据也有着很大的作用,目前阿里的大数据处理系统MaxCompute数据存储已经达到了PB级别!对于离线类型数据仓库应用,需将不同数据源数据批量同步至数据仓库。数据只有被整合和计算才能使用,挖掘潜在信息,数据的最大化价值化,阿里数据计算层主要包括俩大体系:数据存储及计算云平台(离线计算平台MaxCompute和StreamCompute:阿里自主研发的流式大数据平台)和数据整合及管理体系(内部称之为OneData),构建统一规范可共享的全域数据体系,数据仓库的数据加工链路包括:操作数据层(ODS)、明细层(DWD)、汇总层(ADS)。

    数据计算和整合好后,需要供给产品和应用进行消费,阿里构建了自己的数据服务层,通过接口服务话方式对外提供数据服务。数据源架构在各种数据库之上,如Hbase,后面移至阿里云数据库(ApsaraDB for RDS  简称RDS)和表格存储(Table Store),统一数据平台(OneService ),提供数据查询、复杂数据查询、实时数据推送等服务。

    在数据应用层,需要将数据供给给用户,阿里表现在各个方面:搜索、广告、金融、文娱、物流、保险等,阿里平台产品主要有实时数据监控、自助式数据网站或产品构建的数据小站、宏观决策分析支撑平台、对象分析工具、行业数据分析门、流量分析平台等。

总结:在数据为王的时代,有数据是资本,能分析数据是优势,最大消费数据是才是目的所在,有了这些数据才能成为新能源。

猜你喜欢

转载自blog.csdn.net/qq_35290785/article/details/80615586