1. 主页 > 网络营销 >

长文解析:带你解读阿里的大数据建设方法论

阿里强大的大数据建设方法论是怎样的?笔者从数据技术篇、数据模型篇以及数据管理篇三部分展开介绍,这些将让你开阔视野,同时也会带给你启发。

长文解析:带你解读阿里的大数据建设方法论

最近拜读了阿里数据技术及产品部的著作《大数据之路》,这本书无论是底层的数据技术沉淀、满足各种数据应用场景的产品形态,还是在实践中提炼出来的数据管理理念,都有助于开拓视野,亦可结合实际作为自身数据建设的参考和借鉴。

接下来从数据技术篇、数据模型篇、数据管理篇三个部分展开介绍。

一、数据技术篇 1.1 日志采集

阿里的日志采集方案包含两大体系:基于Web端的日志采集方案Aplus.JS和基于APP端的日志采集方案UserTrack。

以下是页面浏览日志的采集流程:

浏览器点击链接;

浏览器解析请求,并按照标准协议向服务器发出HTTP请求(标准的HTTP请求包括请求行、请求报头、请求正文。请求行会包含请求方法是get还是post、请求资源的URL如taobao.com、HTTP版本协议号等内容,附加信息如cookie会体现在请求报头);

服务器接收并解析请求,将处理结果以HTTP响应形式发给浏览器(标准的HTTP响应包括状态行、响应报头、响应正文。状态行是3位数字组成的状态码,以标识服务器的处理结果,如200/404,cookie等附加信息在响应报头。响应正文可选但大部分非空,包含HTML文档、图片、脚本等);

浏览器接收服务器响应,解析并渲染页面。

这是标准的从请求到最终展示页面的全流程。浏览器解析服务器的响应如下:

当解析HTML文档至某个节点,HTML文档中植入的JavaScript脚本采集当前页面参数、浏览行为的上下文信息、运行环境信息;

采集完成后发送给日志服务器,一般以URL参数形式体现在请求行;

日志服务器接受到日志请求后,立即发送请求成功的响应,并把日志内容写入日志缓冲区;

服务器端日志处理程序读取日志并解析,转存为标准的日志文件,并注入实时消息通道供后续程序消费使用。

除了普通的页面浏览日志采集,还有页面交互日志的采集,如采集页面鼠标的移动变化来做精准的用户行为分析。

流程大致如下:

采集代码植入目标页面,与要监测的交互行为做绑定;

产生指定交互行为时,采集代码和正常的业务互动响应代码一起触发执行;

采集完成后发送给采集服务器。

1.2 数据同步

除了日志采集,数据库同步也是数据接入层的重要组成部分。

数据同步的方式有以下三种:

直连同步:通过ODBC或JDBC的方式,直接采取规范统一的标准接口。优点为配置简单,容易实现。但也有缺点,如会降低目标系统的性能。建议采取主备策略,从备库中抽取数据。

数据文件同步:约定好格式,从源系统生成文本文件,通过FTP服务器,传输给目标系统。非常适用于数据源含多个异构的数据库系统,简单实用,此外日志类数据也通常都是文本文件。但上传、下载过程可能会出现丢包或错误。建议上传时同时加上校验文件,标明数据量及文件大小等校验信息。

数据库日志解析同步:源系统的日志文件,按照顺序通过TCP/IP的三次握手机制,传输给目标系统。目标系统通过数据加载模块完成数据导入。可实时或准时同步数据,延迟低,此外对业务系统影响也较小,适用于业务系统到数据仓库的增量同步。但缺点在于投入较大,需要部署中间系统来抽取数据,此外还有数据漂移和遗漏问题。

阿里的数仓同步方式有以下两种:

批量数据同步。DataX是能满足多方向高自由度的异构数据交换服务产品。DataX可通过插件形式支持不同数据源,如MySQL、oracle、HDFS、Hbase等。数据在DataX中以中间状态存在,转换成对应的数据格式后,写入目标系统。

实时数据同步。TT(time Tunnel)是基于生产者、消费者、Topic消息标识的消息中间件。TT具有支持主动订阅、被动订阅,读取分离、互不影响,支持订阅历史数据的特性。数据交换中心的专门模块会从每台服务器源源不断地读取日志数据,然后将增量数据不断同步到消息队列中,并通知订阅的数据仓库系统获取。

1.3 离线数据平台

整体架构中,数据计算层包含数据存储计算平台(MaxCompute、Stream Compute)、数据整合及管理体系(OneData)。

MaxCompute包含四个部分:

客户端:Web端,以restful API提供离线数据处理服务;SDK;客户端工具CLT,可以提交命令完成project管理、DDL等操作;IDE,上层可视化ETL及BI工具,可完成数据同步、任务调度及报表生成等操作。

接入层:提供HTTP服务、Cache、负载均衡,实现用户认证和服务层面的访问控制。

本文由摸索网(http://www.lnmosuo.com)发布,不代表摸索网立场,转载联系作者并注明出处:

联系我们

工作日:9:30-18:30,节假日休息