千万商家的智能决策引擎--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 ...
随机推荐
- 吐槽 Android的WebView的pauseTimers方法神坑 webview加载卡住
原文: 吐槽 Android的WebView的pauseTimers方法神坑 webview加载卡住 | Stars-One的杂货小窝 说明 之前公司的项目和别的公司一起合作,忽然出现情况,进入到他们 ...
- C++ 萃取机 Iterator Traits
Iterator Traits 萃取出 Iterator 的性质:迭代器种类.迭代器所指数据类型.迭代器距离类型.迭代器所指数据引用.迭代器所指数据指针.根据不同的迭代器种类可以采取不同的算法策略.但 ...
- Linux IPC(进程间通信)摘要(信号灯,共享内存,消息队列,管道)(一)
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文作为本人csdn blog的主站的备份.(Bl ...
- 恶意软件开发(三)经典DLL注入流程
什么是dll注入? DLL注入允许将外部DLL文件加载到进程中并运行其中的代码.DLL(动态链接库)是一种可重用的代码库,它包含在多个程序中使用的函数.类.变量和其他程序代码.DLL注入技术可以通过将 ...
- Redis无法向磁盘写入RBD数据
2020-12-09 11:52:25|21965|ERROR|storage/DRedisAsyncCallback.cpp:394[cbIncrby]Cmd 'INCRBY' failed, ke ...
- KingbaseES sys_restore 恢复表时默认不包括表上的索引
前言 最近碰到一个案例,在使用sys_restore恢复指定表时,默认不恢复表上的索引,如果想恢复需要单独指定. 测试过程 [](javascript:void(0) 查看表的有关属性:test=# ...
- 下载标准国民经济行业分类与代码GB/T 4754-2011,存入mysql数据库
戳链接下载:https://download.csdn.net/download/weixin_45556024/34913490 或关注公众号[靠谱杨阅读人生]回复[行业]获取. 整理不易,资源fu ...
- 【已解决】idea编译器插入数据到数据库乱码以及jsp页面乱码的解决方法
1.jsp页面需要设置编码格式为utf-8 1 <%@ page contentType="text/html;charset=UTF-8" language="j ...
- #博弈论#HDU 2516 取石子游戏
题目 \(n\)个石子,两人轮流取.先取者第1次可以取任意多个, 但不能全部取完.以后每次取的石子数不能超过上次取子数的2倍. 取完者胜.先取者负输出"Second win".先取 ...
- #树状数组,离散#C 波动序列
分析 设\(dp[i][j][0/1/2/3]\)表示前\(i\)个位置当前选的数为\(j\), 且选择的是第一行/第二行/第三行不下降/第三行不上升, 状态转移方程显然,用线段树或者树状数组维护一下 ...