服务响应速度达到“秒级”,揭秘阿里巴巴大数据如何做到?
刚刚过去的天猫双11,北京水立方的数据大屏一时风靡各大媒体头条。伴随着激动人心的交易数字,阿里巴巴大数据计算能力再次完美展现在大众面前。
除了水立方的媒体数据大屏,在双11期间,阿里巴巴大数据体系还同时支撑商家端数据产品平台“生意参谋”的数据作战室、小二端阿里数据平台的“双11直播厅”等30多个数据产品的实时数据服务。双11当天,数据系统在交易峰值达到单秒创建订单14万笔时仍流畅运转。在保证数据质量的前提下,计算和推送的服务响应速度更是达到秒级。
那么,阿里巴巴大数据是怎么做到的?
数据公共层建设,让服务效能和质量双重提升
据悉,2012年起,阿里巴巴数据技术和产品团队即着手组建阿里巴巴实时大数据公共层,基于大数据公共层及OneData体系,多来源的数据被有效梳理和建设,进而保证多个数据产品出口均能获得口径标准、统一而且计算全面、精确的数据。该系统在阿里内部支撑了淘宝、天猫、聚划算、无线、搜索、阿里妈妈、航旅等20余团队超过30个产品和应用,目前的日均调用约20亿次,双11当天更是超过75亿次。
以其中的OneID为例,通过计算标准和算法能力的升级,对原本独立的个体数据进行有效归一,看似不同的个体数据得到高效集成和最大程度丰富,离散数据计算和存储带来的信息冗余问题也随之得到解决。众所周知,数据的有效归一和个体数据的丰富性扩展是关系到数据价值的重要因素。通过数据公共层的标准化建设,把通用处理逻辑独立出来,不仅有效降低数据计算时间,还大大提升了数据存储资源的利用效能。
在实时和离线数据公共层之上,阿里巴巴还建立了实时和离线数据应用层,该层支持各类来源的个性化数据的计算、存储和调用,与数据公共层配合服务业务。基于此,阿里巴巴大数据系统不仅能为客户提供标准、统一、全面、精确的数据,同时还能满足多样化的数据服务需求,进而带来数据价值的最大化发挥。
多并发处理,峰值计算压力分散利器
在实时数据公共层及应用层建设过程中,多并发实时数据处理能力在计算效率及系统保障上的作用不容小觑。如果所有的数据都在同一台机器上处理,因每台机器的处理容量有限,在交易峰值时若不能很好的分流势必会造成系统的拥堵甚至瘫痪。多并发处理依据系统算法对订单进行分桶,每个机器处理完后再根据系统规则进行汇总整合,进而为生意参谋等各个数据服务出口迅速输出结果。
在整个数据采集至结果推送过程中,从交易前台的数据采集至数据公共层,耗时不超过1秒;订单有效规整并分桶计算至最终的数据汇总和结果推送也在1秒内迅速完成。相比以往的数据产品,用户需要等待较长时间才能看到过往的数据汇报和统计分析,生意参谋因得益于实时数据计算技术,做到了让用户在这一秒就看到前一秒的数据!
在基础保障上,为缩短用户访问后的数据返回时间,阿里巴巴大数据团队对数据底层及服务所在地进行了迁移。双11前,历时3个月,完成了hbase集群、tddl集群以及应用服务器的机房迁移,迁移完成后,数据底层及产品都位于同一中心机房,整个集群的平均响应时间由12ms下降到3ms以内。
数据质量上,基于全域大数据建设OneData体系,从数据规范定义、数据模型设计、ETL数据研发来规范化整个数据建设过程;依托数据稳定性体系,从数据模型、数据开发、数据计算、数据调度、数据同步、数据服务、专题分析7大领域通过事前分析与诊断、事中监控与优化、事后建议与预测来保障数据稳定;利用专业的数据质量工具从整个ETL数据研发的代码开发、测试上线等流程多方面监控检测代码和数据的准确。