千万商家的智能决策引擎--AnalyticDB如何助力生意参谋双十一
作者:算法&健兮,阿里巴巴数据技术及产品部技术专家
生意参谋介绍
生意参谋是阿里官方打造的全渠道、全链路、一站式数据平台,致力于为用户提供经营分析、市场洞察、客群洞察等多样化数据服务,帮助用户全面提升商业决策效率。自2011年诞生以来,生意参谋服务过的用户已逾3000万,覆盖了线上线下零售商(淘宝天猫)、品牌商(零售通)、智慧门店、内贸批发商(1688)、内容创作者(微淘等)、东南亚国际商家(LAZADA)等多个业态商业用户。 目前,淘宝天猫商家中,月有交易的商家,99%以上都在使用生意参谋。
生意参谋经过将近十年的发展,已经支撑了99%淘宝天猫商家的决策运营,在如此庞大的商家群体下,每个商家对于数据的诉求都不一样
• 对于中大型商家,有自己的数据分析师团队,更希望自己对原始数据进行加工与展示,
• 对于中小型商家希望可以提供更加方便的一键式服务
• 对于一些品牌商,希望看到长达数年的历史数据分析
多种多样的分析需求对生意参谋的架构提出了巨大的挑战,借助于云原生数据仓库AnalyticDB MySQL的强大能力,生意参谋与QuickBI团队强强联合,打造了“商家自助分析”产品,帮助商家定制自己的数据报表,满足商家对自身各维度数据进行随心所欲的分析需求,帮助千万商家实现“数据价值在线化”。
商家分析的业务挑战
1)海量数据高并发复杂查询
生意参谋服务几百万商家,数据量是非常庞大的,如果存储3年数据,仅一个商品维度数据表,就能到千亿条记录。但是我们要满足商家对这些数据表,进行任意维度的数据查询、筛选、关联、聚合、计算、排序等操作,并且要求毫秒级返回。例双十一期间我们的复杂查询QPS超过300,在这种高并发低延时场景下对数据库带来巨大的挑战。
2)在线查询和批处理混合负载
为了降低成本,生意参谋“商家自助分析”产品不能将所有的商家数据全部写入分析库,需要对订购的商家需要在商家当天回补所有的历史数据,要求单商家6000W数据分钟级完成商家历史数据回补。在数据回补时,高并发查询与写入要求同时运行,相互不影响,对分析库的混合负载要求很高。
3)任意维度的灵活报表能力
生意参谋“商家自助分析”产品的根本需求是满足商家各式各样的分析需求,需要为商家可以提供灵活配置报表的能力,这时候一个成熟的BI解决方案必不可少。
4)商家数据安全性要求高
商家对于自身的数据安全要求非常高,生意参谋“商家自助分析”产品既要让商家能够随心所欲的进行数据分析,又要避免数据的泄露,也要防止数据被爬取、防止水平越权泄露。
全套成熟BI方案 - AnalyticDB + QuickBI
生意参谋选择了 AnalyticDB(以下简称ADB) + QuickBI 一整套成熟的BI解决方案。
QuickBI介绍
Quick BI是阿里云成熟的自助分析报表平台,是国内首个且唯一入选Gartner魔力象限的BI产品。产品经过几年的沉淀已无缝对接各类云上数据库和自建数据库,0代码鼠标拖拽式操作,让业务用户也能一键轻松实现海量数据可视化分析。并且QuickBI提供弹内部署能力,可以通过生意参谋为入口,对商家提供统一的服务。让商家在产品心智上感受到,一个数据分析平台,没有考虑系统间切换的问题。真正实现一个平台,满足用户数据分析需求。
AnalyticDB云原生数据仓库
AnalyticDB是阿里云自研的云原生数仓库,全面兼容MySQL语法,为分析而生,拥有出色的分析性能。
1)MySQL兼容,好用是数据库价值真正的体现,AnalyticDB高度兼容MySQL,基本无需修改代码即可像使用MySQL一样使用AnalyticDB,迁移使用成本极低。对于MySQL社区周边工具也可以无缝接入,因此和QuickBI的配合就像使用MySQL一样简单。
2)高性能高并发,AnalyticDB为分析而生,拥有业界最快的查询性能,通过行列混存、自适应索引,结合向量化的分布式执行引擎实现大部分查询复杂可以在毫秒级完成;同时通过在线化的调度和云原生的弹性扩展能力,可以支持大量商家的在线并发访问。
3)混合负载,在存储计算分离的架构下,AnalyticDB可以混合计算负载能力,在经典的在线(online)/交互式(interactive)查询执行模式之外,也支持了离线/批处理(batch)查询执行模式。因此针对在大量商家高并发在线查询的同时,同时可以进行并发的数据写入、加载和回补,实现业务一套系统的混合负载处理。
4)安全可靠,AnalyticDB基于云原生的VPC网络构建,同时对数据有库、表、列等多级权限保护,同时还支持通过内容数据的加解密,可以满足商家数据的安全性要求。
总结下,AnalyticDB可以从任意维度进行查询、筛选、聚合、计算、排序等操作,性能支持亚秒返回,并且支持实时写入,支持大型ETL与高并发查询混合负载等特性非常契合商家自助分析业务。并且,QuickBI 完美支持AnalyticDB作为数据源头,与商家自助分析业务完美契合。
生意参谋业务架构
生意参谋自助服务的本质是一套安全可靠,稳定灵活的BI方案。在底层,生意参谋将订购商家数据存放在AnalyticDB中,依托于AnalyticDB + QuickBI的生态,建立商家项目空间,同时打通生意参谋与QuickBI权限体系,支撑起商家自助分析需求。
数据同步
生意参谋自助分析,借助AnalyticDB支持高吞吐实时写入的特性,通过订购当天回补历史数据的方式, 解决了客户对于长周期数据的分析诉求。对于新订阅用户,需要将历史数据按天级别增量同步至AnalyticDB中,这个是系统设计的一个难点。借助AnalyticDB实时数据写入的能力,我们设计了自助分析-数据增量同步方案,有效解决了历史数据的增量同步。
数据安全
生意参谋整体数据架构是全部用户共享AnalyticDB存储,不同商家是通过商家ID来区分,针对此种特殊场景,QuickBI的数据集支持了逻辑隔离,商家开通时,通过后台接口初始化好商家数据集,注入商家ID参数,即使用户编辑模拟也无法替换掉,保证了商家数据的安全性。同时通过行级权限,将不同版本的付费商家查看指标做了管控,确保了产品的利益不受损害。
业务价值
所有自助分析自定义配置的报表,都可以选择配置到生意参谋首页,这样商家的所有子账号,都能在生意参谋首页看到,真正达到了用户定制生意参谋页面能力的效果。其中我们通过店铺经营分析,店铺流量分析,单品深度洞察报告等BI模板,吸引了大量商家自助配置自己的BI报表。

未来展望
未来我们希望可以继续在数据价值上的探索,希望持续与AnalyticDB + QuickBI保持共建,推动数据价值在线化,让商家数据分析更加简单高效。
业务资源隔离
在 AnalyticDB MySQL版新推出的弹性形态下实现了资源组功能,通过新建资源组可以从现有实例划分出部分计算节点,这些计算节点资源只归属该资源组。用户可将数据库账号绑定到不同的资源组,SQL查询时根据绑定关系自动路由至对应的资源组执行,满足用户实现内部多租户隔离需求。我们对于不同的大商家,可以进行隔离,确保大商家业务的稳定性,提供更好的业务体验。
查询负载管理
在自助BI的系统中一直存在一个痛点,单个用户配置了不合理的报表,读取超大量的数据,进行超出预期的计算,影响其他商家的报表展示,为此我们在系统中需要做诸多限制,比如用户报表只能基于单表,不可以做多表联合分析,这样大大限制了商家报表的灵活性。为此我们期望AnalyticDB提负载管理的能力,通过我们指定查询资源消耗,读取数据消耗等维度限制,来对查询进行 KILL,切换资源组等行为,保障数据库稳定性。
智能化诊断
需要做好监控和边界问题的发现机制,在出现问题时能够快速定位。期望能够充分利用AnalyticDB的监控能力,在出现问题前第一时间预警,规避问题的发生。为此,AnalyticDB将提供全方位、多维度以及准实时的实例运行状况洞察能力,通过对实例内部的各类运行日志和时序指标进行算法建模,提供出问题前准确预测、出问题时及时告警、处理问题时精准定位的能力,确保不影响用户上层业务。
原文链接
本文为阿里云原创内容,未经允许不得转载。
千万商家的智能决策引擎--AnalyticDB如何助力生意参谋双十一的更多相关文章
- StartDT AI Lab | 视觉智能引擎+数据决策引擎——打造商业“智能沙盘”
众所周知,线上商家可以通过淘宝平台的大量前端“埋点”轻松获取商品的加购率.收藏率.转化率.成交额等大量基础信息,甚至商家能够在更精细的层面,获取商品关键字变化或者上新/爆款带来的流量变化数据,更甚者商 ...
- PCB决策引擎:多维决策表转决策树
准备设计一个PCB使用的决策引擎,需要用到决策表,而单维决策表不能满足业务要求, 这里主要是为了实现:用户编辑的是决策表,实际底层存储的是树结构,树的的各个节点挂上业务决策逻辑. 这里将多维决策表转决 ...
- kubernetes 降本增效标准指南|ProphetPilot:容器智能成本管理引擎
作者 田奇,腾讯云高级工程师,专注大规模离在线混部,弹性伸缩,云原生成本优化,熟悉Kubernetes,关注云原生大数据.AI. 王孝威,腾讯云容器产品经理,热衷于为客户提供高效的 Kubernete ...
- 用例建模Use Case Modeling——传感器智能分析引擎
系统用例分析 我的工程实践小组做的课题主要是实现传感器数据采集平台的设计与开发.该搜索引擎完成对传感器数据的采集和发布,企业可以在平台上上传自己的传感器数据信息,同时也能够浏览市面上其他传感器信息,以 ...
- 剧透 & 报名 | 蚂蚁金服ATEC城市峰会·上海即将开幕
小蚂蚁说: 2019年1月4日,蚂蚁金服ATEC城市峰会将以“数字金融新原力(The New Force of Digital Finance)”为主题,在中国上海举办.蚂蚁金服ATEC(Ant Te ...
- StartDT AI Lab | 智能运筹助力企业提升决策效率、优化决策质量
在人工智能和大数据时代,越来越多的云上数据和越来越智能的模型开始辅助人们做出各种最优决策,从运营效率.成本节约.最优配置等方方面面,实现降本增效,进一步提升商业效率.京东.美团.滴滴.顺丰等众多知名厂 ...
- 揭秘阿里云WAF背后神秘的AI智能防御体系
背景 应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入.跨站等攻击仍然占据着较前的位置.WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在,也正是这些针对W ...
- 游戏AI之决策结构—有限状态机/行为树(2)
目录 有限状态机 行为树 控制节点 条件节点 行为节点 装饰节点 总结 额外/细节/优化 游戏AI的决策部分是比较重要的部分,游戏程序的老前辈们留下了两种经过考验的用于AI决策的结构: 有限状态机 行 ...
- 小学生都能写智能语音助手了,我这颗转战AI的心要何去何从?
前言——我是不是老了 前天看了一个关于AI类的综艺节目我感觉整个人都不好了.这个综艺的名字叫<智造将来>上面那个小屁孩自己写了一个智能语音助手,这个小屁孩叫袁翊闳是2018年百度AI开发者 ...
- Flink学习笔记-新一代Flink计算引擎
说明:本文为<Flink大数据项目实战>学习笔记,想通过视频系统学习Flink这个最火爆的大数据计算框架的同学,推荐学习课程: Flink大数据项目实战:http://t.cn/EJtKh ...
随机推荐
- FFmpeg命令行之ffprobe
一.简述 ffprobe是ffmpeg命令行工具中相对简单的,此命令是用来查看媒体文件格式的工具. 二.命令格式 在命令行中输入如下格式的命令: ffprobe [文件名] 三.使用ffprobe查看 ...
- [bzoj2120]数颜色/维护队列 (分块)
数颜色/维护队列 [做题笔记] 此生第一道不贺题解\(AC\)的分块蓝题!!! 题目描述 墨墨@hs_mo购买了一套 \(N\) 支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问.墨 ...
- 记录--Vue 右键菜单的秘密:自适应位置的实现方法
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 下图这个情景,你是否也遇到过? 当你右键点击网页上的某个元素时,弹出的菜单被屏幕边缘遮挡了,导致你无法看清或选择菜单项? 上图中右键菜单的 ...
- 记录--uni-app adb安卓wifi无线调试
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 方法一 adb connect连接调试 前提条件: 电脑已安装adb工具 手机和电脑连接的同一个WIFI CMD进入到adb工具所在目录, ...
- 是时候来唠一唠synchronized关键字了,Java多线程的必问考点!
写在开头 在之前的博文中,我们介绍了volatile关键字,Java中的锁以及锁的分类,今天我们花5分钟时间,一起学习一下另一个关键字:synchronized. synchronized是什么? 首 ...
- KingbaseES自动生成列介绍
在KingbaseES中create table语句支持GENERATED column(生成列). 生成列是一种特别的列类型,它的值基于其他列的值计算得出.因此,生成列之于列,有点像视图之于表的关系 ...
- Apache服务器打开网页是乱码解决方案
当 Apache 服务器显示乱码时,可以使用两种方法解决: 1. 服务器端 可以在 Apache 的配置文件中添加以下内容来设置默认编码为UTF-8: AddDefaultCharset utf-8 ...
- #分治#洛谷 5502 [JSOI2015]最大公约数
题目 分析 又是一道思维题,考虑用分治,选取左边或右边的基准尽量扩展长度,时间复杂度\(O(nlog_2n)\) 代码 #include <cstdio> #include <cct ...
- 你真的了解java class name吗?
在面向对象的世界,Class是java的基础.java.lang.Class实际上是继承自java.lang.Object. class有一个方法叫做getName,该方法会返回(class, int ...
- [一本通1677/JZOJ1217/CJOJ1101]软件开发 题解
题目描述 一个软件开发公司同时要开发两个软件,并且要同时交付给用户,现在公司为了尽快完成这一任务,将每个软件划分成\(m\)个模块,由公司里的技术人员分工完成,每个技术人员完成同一软件的不同模块的所用 ...