基于AnalyticDB PostgreSQL + OSS + SLS构建面向应用内行为数据的分析全链路

简介: AnalyticDB PostgreSQL助力某互联网企业完成数仓建设和面向用户行为的全链路分析。通过Serverless版本的性能助力,轻松实现了10+的性价比提升。

作者:茏城


行业综述

在泛互联网行业中,企业投入了大量的精力用于追踪用户的行为日志,尝试更好的了解用户在应用内的核心行为。企业追踪了海量的日志,清洗后获得了核心用户的行为事件并于其他业务行为进行关联分析,如市场营销触达,订单支付,用户信息等。这些分析可以帮助企业建立用户行为与结果的倾向关联,对用户生命在应用内的行为进行市场,运营等手段的有效干预,在待转换,流失,沉寂等关键生命周期点进行介入。同时建立用户的分析模型和目标转换漏斗,进行整体应用的运营指导。

 

客户场景

AnalyticDB PostgreSQL助力某互联网企业完成数仓建设和行为日志的数据采集,入库,清洗,分析和洞察的全链路。将重点行为事件进行提取并于用户信息,订单信息,运营推广等维度和事实表进行关联分析,甄别关键链路并打造可视化大屏;于此同时,通过小批高频的入库能力,提供了近实时的业务追踪和运营分析手段。本次,引入Serverless版本的弹性能力和单点计算能力增强,对现有架构进行改造升级,大幅缩短了单次计算的效率,提高了的业务实时性并最终实现了10+的性价比增长。

 

架构设计

(脱敏后)

链路解析:

  1. 对于日志的采集用户可以自建工具,同时也可以使用阿里云提供的SLS产品进行用户的站内行为事件的采集;具体可参考SLS的数据采集
  2. 将行为日志的采集数据落在OSS上进行存储;参考SLS的数据存储
  3. 通过定时任务将OSS的数据以外表的形式导入AnalyticDB PostgreSQL数据仓库中,可用自建任务调度系统或使用DMS进行任务触发
  4. 对导入的数据进行结构化的清洗,过滤掉无用的数据,并将核心的事件行为结构化后添加如表;
  5. 提供企业内业务的数据分析师,对行为数据的目标进行关联分析; 例如
  1. 分析整体的用户行为趋势,观测核心指标的健康度;
  2. 行为数据+用户数据来建立不同的用户群组及行为特征;
  3. 针对历史行为的在用户上,建模来预测是否用户存在潜在的流失风险;
  4. 行为数据+订单数据来进行哪些行为关联用户行为及付费转换,可为之后的运营活动进行目标客群的定位;
  1. 同时对于成熟的分析模型持久化,配合主流的BI工具如Tableau和QuickBI等,搭建数据看板,AnalyticDB PostgreSQL支持秒级的高频刷新,可实现近实时的数据分析。AnalyticDB的BI工具集成可点击查询
  2. 若选用Serverless实例,在工作时段和运营的高峰的时端存在着并发和较大的查询密集度。 此时AnalyticDB PostgreSQL支持在线扩容,在秒级即可完成产品的横向扩容,对交互式查询的业务影响极低。在业务闲时可将资源释放,确保极高的资源使用效率。


 

性能测试 

以下是我们在服务用户使用Serverless版本与OLAP海外头部友商在同等价位上进行POC的性能对比;

 

测试数据集

用户的性能测试涉及了3张核心表,以下所有的数据字段均脱敏,不指代任何业务意义;

 

A50+列,19亿行数据,压缩后88GB),date这一列是sortkey的第一列,客户会根据date做各种where条件筛选。

Column    |          Type          |           Modifiers           
--------------+------------------------+-------------------------------
 apple        | bigint                 | 
 banana       | character varying(32)  | 
 cherry       | character varying(64)  |
 durian       | integer                | 
 date         | integer                | 
Distributed by: (cherry)
Order by: (date, cherry, apple, durian, banana)


B30+列,7000W行数据,压缩后1.2GB

Column    |          Type          |           Modifiers           
--------------+------------------------+-------------------------------
 apple        | bigint                 | 
 cherry       | character varying(64)  | default ''::character varying
 durian       | integer                | 
 date         | integer                | 
Distributed by: (cherry)
Order by: (date, cherry, apple, durian)


 

C20+列,5亿行数据,压缩后7.8GB

 

Column        |         Type          |           Modifiers           
---------------------+-----------------------+-------------------------------
 apple               | bigint                | 
 durian              | integer               | 
 cherry              | character varying(64) | not null
 date                | integer               | 
Distributed by: (cherry)
Order by: (date, cherry, apple, durian)

 

测试业务SQL

 

客户本次测试选择包含272条业务常用SQL,对于数据的扫描范围范围为30天。

 

客户的分析SQL大多数是针对上述三个表中的两个或者三个做joinsum/group by的场景,然后通过join keywhere条件做进一步筛选。

Sample Query如下:

select apple,
       durian,
       date,
       sum(col1)
from(
select A.apple, A.durain, A.date, max(NVL(NULLIF(A.colx, ''), '0') ::float) as col1
 from A, C
 where A.cherry= C.cherry
  and A.apple= C.apple
  and A.durain= C.durain
  and A.apple in (balabala)
  and A.date>= xxxx
  and A.date<= yyyy
  and A.durain> 0
  and A.banana= 'balabala'
  and A.colx in (balabala)
  and C.apple in (balabala)
  and C.durain> 0
 group by 1, 2, 3, 4) C
group by 1,2,3

其中,join key为分布列,所以SQL所做的join就是local joinwhere条件列大多数是sortkey中的列,所以可以做高效统计信息过滤筛选和二分查找优化。

 

性能结果

本次比对,用户对两款现有产品做了性能对比测试,一个是海外友商的A OLAP产品,一个是AnalyticDB PostgreSQL最新发布的serverless版本。两款产品均具有行业领先的扩缩容能力和头部厂商的性能领先性。 用户希望能够选择稳定且高性能的OLAP产品以支撑更高的数据实时性和一致性。


由于海外友商的计算资源通过CU封装,单位CU的参数未公开,故本次性能比较选择在同等价位下,为对272个业务SQL进行的总耗时对比,性能结果如下:

友商A

ADB PG Serverless

SQL执行总计用时(秒)

857

605

测试结果显示,AnalyticDB PostgreSQL Serverless版本在多表join的数据分析性能上,领先海外友商A约40%。


总结

面对海量的行为数据,以AnalyticDB PostgreSQL 为中心的数据解决方案提供了国际领先的数据分析性能。同时可覆盖数据采集,整合,分析,洞见,配合深度集成的阿里云产品生态,可以快速助力企业完成从0到1的业务部署和落地,一站式完成场景化的深度分析;

 

新用户可点击购买9.9首月试用;


需要进行类似部署或申请AnalyticDB PostgreSQL Serverless版本试用,欢迎点击咨询

相关实践学习
数据库实验室挑战任务-初级任务
本场景介绍如何开通属于你的免费云数据库,在RDS-MySQL中完成对学生成绩的详情查询,执行指定类型SQL。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
相关文章
|
6天前
|
存储 运维 监控
【Flume】flume 日志管理中的应用
【4月更文挑战第4天】【Flume】flume 日志管理中的应用
|
6天前
|
监控 Serverless 数据库
Serverless 应用引擎常见问题之biphon-education-配置了SLS后一直重启如何解决
Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
31 5
|
6天前
|
运维 监控 数据挖掘
应用研发平台EMAS产品常见问题之将阿里后台的日志落到我们后台失败如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
|
6天前
|
Web App开发 前端开发 JavaScript
乱花渐欲迷人眼 - 让 SAP UI5 应用的日志输出不再素面朝天
乱花渐欲迷人眼 - 让 SAP UI5 应用的日志输出不再素面朝天
54 0
|
6天前
电子书阅读分享《Elasticsearch全观测技术解析与应用(构建日志、指标、APM统一观测平台)》
电子书阅读分享《Elasticsearch全观测技术解析与应用(构建日志、指标、APM统一观测平台)》
237 1
|
6天前
|
Cloud Native 关系型数据库 OLAP
云原生数据仓库产品使用合集之阿里云云原生数据仓库AnalyticDB PostgreSQL版的重分布时间主要取决的是什么
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
6天前
|
运维 Cloud Native 关系型数据库
云原生数据仓库产品使用合集之原生数据仓库AnalyticDB PostgreSQL版如果是列存表的话, adb支持通过根据某个字段做upsert吗
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
6天前
让 SAP UI5 应用的日志打印变得五彩缤纷试读版
让 SAP UI5 应用的日志打印变得五彩缤纷试读版
99 2
|
6天前
|
监控 安全 数据可视化
中间件应用日志记录和监控
【5月更文挑战第1天】中间件应用日志记录和监控
24 3
中间件应用日志记录和监控
|
6天前
|
Dubbo Java Serverless
Serverless 应用引擎操作报错合集之Nacos中nacos启动正常,访问白页,启动日志显示正常如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
25 0
Serverless 应用引擎操作报错合集之Nacos中nacos启动正常,访问白页,启动日志显示正常如何解决

热门文章

最新文章

相关产品

  • 云原生数据仓库AnalyticDB MySQL版
  • 云原生数据仓库 AnalyticDB PostgreSQL版