分享人:期会,解决方案架构师
通贯,阿里云智能高级产品专家
视频地址:https://yqh.aliyun.com/live/detail/22045
正文:
最佳实践目前已覆盖23种常用场景,目前有170余篇最佳实践,这其中涉及100款以上阿里云产品的最佳使用场景。目前,最佳实践已成功帮助大量客户实现自助上云。本篇实践将从3个部分为大家详细介绍互联网电商与游戏行业实时BI分析最佳实践,希望可以让大家对其有更深入的了解,并可以将其应用到项目中,达到降本提效的目的。
本文主要内容分为以下三个方面:
l 最佳实践原理讲解
l AnalyticDB MySQL核心能力讲解
l 最佳实践系统搭建
一、 最佳实践原理讲解
1)互联网电商与游戏实时BI分析-场景描述
本篇最佳实践以电商行业的一个业务为例,将业务数据和日志数据同步到ADB中进行分析。ADB之后,再把数据连接到QuickBI,通过QuickBI做一个实时可视化展示。相对于传统的关系型数据库,阿里云分析型数据库MySQL版只需要几毫秒的时间,即可查询PB数据并从中找到匹配的信息。本文提供全流程完整的demo演示,可以作为客户或者架构师Po C验证使用。适用的场景:
l 互联网行业的电商、游戏等行业,包括我们的网站、APP以及小程序应用内BI分析场景。
l 可用于在线运营、运营指标、实施化分析等场景。
l 可以扩展到各类网站BI分析场景使用。
下图以三个示例展示了整个BI数据分析的一个流程。
第一个示例是对用户地域分布,做一个饼图的分析展示;
第二个是对用户的年龄做一个分布的展示;
第三个是对用户的画像做一个展示。
2)互联网电商与游戏行业实时BI分析最佳实践-系统架构图
右侧是本片最佳实践涉及到的一个架构图。这个架构图我们使用CADT工具来完成。CADT是阿里云上的一个云架构设计工具,它包括架构图的设计,资源的查验,资源的开通购买,资源释放,以及价格估算等等一系列的功能。通过它可以快速的表达云资源从应用的维度进行一个全生命周期的管理,便于我们对整个资源做一个管理,可以大大提高我们的一个操作的效率。本片最佳实践的基础资源部分也是通过CADT来完成的。
首先我们可以看一下这个架构图,整个架构图里面我们使用了两个阿里云的可用区。第一个可用区里面我们部署了一个以电商业务系统为例的模拟业务系统,这里面我们包含一台ECS以及一台数据库库,以一个开源Magento的系统为例,演示了整个电商的一个业务场景。后面我们通过第二次DTS数据同步工具,把我们的业务数据同步到了我们的ADB当中,我们同步的主要是业务系统的用户表和商品表两个表的信息。同时我们对于业务系统的用户访问日志。通过日志服务的功能,直接把它投递到了日志服务当中,并且在日志服务中我们使用的日志服务的数据加工的能力,把日志的格式进行了一些调整,比如说我们把IP地址转换成了地域的一些信息。转换之后,我们又把转换之后的日志格式投放到了ADB当中,通过日志的行为数据加上我们的业务数据,最后汇总到ADB中做一个统一的分析和查询。最后连接的是我们的QuickBI,可以做一个快速的展示。整个架构图里面用到了ADB、SLS、RDS、ECS、DTS以及OSS等。
3)ADB-容量评估
整个架构图里面其实最难估算性能的就是ADB的一个容量的评估,ADB的容量评估可以参考这个公式(单位GB)X索引膨胀系数(1.3倍)/空间水位线(0.7)/(每个节点组的磁盘大小)。把原始的数据量加上索引的一个膨胀系数,一般认为这个膨胀系数1.3倍(经验值)。这样的话就会得到一个总数据量。总的数据量对于我们的磁盘空间来讲,我们一般会把水位线画在70%左右,然后再除以每个节点组的磁盘大小,就可以得出我们需要几个节点。以客户原始数据为1TB的例子,按照公式计算可得原始的总的数据量需要1902GB。如果选择两个节点的配置,每个节点就需要1000GB的配置。以这样的一个模式来估算,ADB 1TB的存储空间费用约11万。如果客户有4T的数据,按照上述公式需要购买8组节点,年费用大约44万。这里我们只进行了一个粗略的费用的估算,具体的配置和费用要以客户的实际场景和需求为准。
4)SLS-Web Tracking日志采集原理
日志服务部分我们用到了Web Tracking的日志采集。这部分的采集原理是把Loghub Tracking这个JS文件复制到Web的目录里面,并在页面中引入了一个脚本,然后JS文件我们可以把它放到OS当中作为一个静态文件。
然后以下的脚本是需要我们自己来编码的,这段代码的意思是模拟一个用户的一个行为日志,然后我们最后把用户的一个ID和他查看的商品ID,这两个信息通过Logger的方式,然后投递到我们的日志服务当中去。这一段代码是需要我们写在前端页面的JS文件里边。然后它里边引用的Loghub Tracking可以放在OSS上面,也可以放在我们本地,直接去做一个相对地址的引用即可。这样的话,我们通过可以把前端或者是APP端的一些日志,通过JS的方式,然后把它投递到我们的日志服务,也就是SLS消息服务当中去。这部分功能后面可能会有一些更新。大家后面可以具体关注一下我们最佳实践文档的最新的变化。
5)互联网电商与游戏行业实时BI分析-方案优势
整体来说的话,互联网电商与游戏行业实时BI分析,本片最佳实践的一个整体方案有如下几个优势:
l 以ADB加上QuickBI快速实时数据分析的核心能力为切入点,将客户的业务数据、日志数据采集到阿里云的日志服务和分析型数据库ADB中,做到了一个实时的分析性查询。
l 融合阿里云的日志服务的产品可以无缝对接Blink 、Elasticsearch、RDS、ADB、EMR、dataV等产品.
l 通过ADB强大的数据查询和分析能力,极大地降低了用户大数据平台建设的门槛,轻松解决了海量数据的计算问题,同时有效降低企业成本并保障数据安全。
l 与第三方开源生态无缝对接,在不侵入用户应用的情况下传输日志到SLS,降低用户的使用门槛。
二、 AnalyticDB MySQL核心能力讲解
1) AnalyticDB MySQL版定位-云原生数仓
AnalyticDB MySQL版,简称ADB,是一款一体化的云原生数据仓库产品。它支持数据库的体验,较好的性能,较低的成本。一份数据可以支持快速的实时写入、实时的查询和复杂的ETL计算等多个应用场景。它支持将云上的多个数据源的数据,包括关系数据以及日志数据实时的接入到数据仓库。通过DMS、 DateWorks、Dataphin等数据仓库管理的工具进行开发过程管理、数据调度以及元数据的管理。它支持Quick BI、Tableau等等常见的数据用的工具和平台。
2)AnalyticDB MySQL版 用户场景
ADP的核心场景有如下几个:
l 实时的人群画像分析,它可以对千万级上亿的人群进行实时画像,毫秒级响应。
l 它支持实时营销的效果反馈,可以通过实时计算实现分钟级的响应。
l 可以通过对日志分析实现场景化辅助运营。
l 可以支持无卡顿的交互式报表查询。
l 可以支持超大规模数据的ETL计算,可以实现万亿级表的复杂关联和计算。
l 可以支持以图搜图等等复杂的向量计算功能,实现结构化与非结构化数据的融合分析。
3)核心功能-数据库体验的数据仓库
APP的核心功能有如下几个:
第一,高度兼容MySQL,在协议层、数据类型、语法等等方面高度兼容,使ADB容易上手。它同时支持实施的增删改查,简化数据的处理。
第二,ADB支持冷热数据分层的功能,可以将一个表的数据定义为热数据或者冷数据,也可以将部分数据定位热数据,部分数据定义为冷数据,这样可以极大地降低存储成本。
第三,它可以支持资源组隔离,可以把一个用户绑定到某个资源组,他所在的计算资源可以得到物理隔离,这样可以保证稳定的、重要的计算任务不受临时的、异常的任务干扰,保证ETL任务的按时完成。
第四,支持分时弹性功能,计算资源可以按照小时、天、周制定资源弹曲性划,动态的弹出计算资源。这部分计算资源支持按量计费,可以做到小时计费,这样可以极大地降低资源的持有成本。
关于APP的性能,我们在官网通过白皮书的方式已经发布,主要包括在线报表查询、交互式分析,ETL以及实时数据写入等等场景。
三、 最佳实践系统搭建
下面简单演示下电商网站的基础环境搭建。
本节创建基础资源,包括网络资源、ECS、RDS、ADB、日志服务、QuickBI 等。本文中的基础资源创建使用 CADT 工具完成。
步骤 1 登录阿里云控制台,搜索 CADT 并打开。
步骤 2 在 CADT 页面,单击新建 > 官方模板库新建,找到名称为《电商和游戏行业实时 BI分析》的模板。
步骤 3 基于方案新建应用,如下图所示。
步骤 4 如图,双击架构图中的每一个云资源,查看每个资源属性的配置项,之后保存、部署。
1、属性配置中的资源名称建议使用自定义设置。
2、根据实际情况调整可用区后,请确认资源在对应可用区是否有库存。若无库存,请选用可用规格。
3、ECS 中的登录密码未包含在模板中,请自行设置。
步骤 5 点击下一步,查看资源可用性和价格清单。
步骤 6 打包购买,点击创建部署,quickbi 会弹出只有包年购买无法提前释放的提示,点击确认即可。
步骤 7 等待资源部署完成。
关于完整的搭建演示过程,大家可以用过https://bp.aliyun.com/detail/100这个链接来访问本篇最佳实践文档内容,里面包含最佳实践场景和完整的搭建过程。