关于数据库:峰会回顾-基于StarRocks百草味如何通过数据赋能快消品行业

38次阅读

共计 3230 个字符,预计需要花费 9 分钟才能阅读完成。

作者:朱齐天,百草味数据部负责人 (本文为作者在 StarRocks Summit Asia 2022 上的分享,分享主题是 “如何用数据赋能快消品行业晋升业务能力”

快消品的行业特点是“快”,其受众为年轻人,具备高频次、受众广、低客单的特点。百草味作为一家休闲食品品牌经营企业,具备全渠道经营能力(给用户多渠道的抉择,包含线上平台和线下商超)。

2020 年退出百事后,作为百事的子公司,随着业务疾速与团体接轨,百草味越来越多的业务须要通过数据来驱动,变得更加合理化、规范化以及高效化。

朱齐天老师主导百草味全渠道从 0 到 1 的数据平台建设、指标体系梳理、数仓模型设计及优化工作。本文次要介绍以下四个局部:

  • 数据平台演进心得
  • 技术成长源于业务变更
  • 概念后行 OR 问题驱动
  • 数据架构将来构想

#01

数据平台演进心得

首先和大家分享下百草味数据平台演进的状况:

  • 2017 年:为了疾速产出,基于 CDH 5.15.0 搭建了一套大数据平台,开发了一些根底性能和几百张报表,实时的报表间接应用了 Stream Computer 和 Quick BI,离线报表以 Apache Hive 为主。
  • 2019 年:依然以 CDH 为主,两头通过两次版本迭代,降级为 6.3.2. 实时数据换成了 Apache Spark 和 Apache Kafka,两头封装了一些工具供团队开发。
  • 2020 年:被百事收买当前,线下机房因为不合乎合规要求,于是抉择上云。思考保护老本,抉择了 Databricks,采纳 Data Lake Formation(DLF)和对象存储 OSS 的存储架构。
  • 2022 年:因为业务对算力的要求,抉择了 StarRocks 和 CloudCanal。

依据下面的摸索总结出两种大数据开发平台的优劣:

  • 基于 Hadoop 构建:链路长,组件多,数据屡次拷贝,保护量大
  • 基于 StarRocks 构建:链路短,效率高,开发人员专一业务

1、数字化流程

数字化流程大抵的过程为信息化,数字化,再延长到对立数据平台,可视化剖析。

数字化何以在企业中宽泛援用,离不开后期企业造词造势造概念和政策的反对与束缚。40 年前便有数据仓库的概念,缓缓延长到数据湖和数据中台。目前企业中的实际,个别以数据仓库为底座,再向下层利用延展。流程须要先有信息化的建设,才有数字化的积淀,而后进行数字化的赋能。

2、晚期数据架构

在数仓构建的过程中会遇到各种问题,例如业务侧产生表构造变更,在 ODS 层也须要变更,在 DWD 和 DWS 层只须要做逻辑层变更,做绝对弹性的变更,不须要更新物理数据。

这是咱们晚期的数据架构状况,这是一套比拟通用的模型,其优缺点别离为:

  • 长处:开源组件比拟灵便。
  • 毛病:框架比拟轻便,运维老本比拟高。因为 Apache Hive 没有索引、缓存、组件等性能,业务侧如果产生表构造更新,比拟难以操作。

例如,在 ODS 层,新更新的数据有可能是几个月之前的订单,比方订单的状态产生了变更,晚期的架构是须要记录更新数据的对应日期,并将对应日期的数据更新一遍,那么 DWS 和 DWD 也要跟着进行变更,这样会带来很大性能问题。

为了应答业务侧的频繁变更问题,应用 Delta Lake,解决了频繁变更和小文件合并问题,然而也会引起 ODS 层的存储过大,须要一直扩大磁盘的问题。

3、新数据架构

传统 Hadoop 体系组件存在以下问题:

  • 过于冗余,强耦合
  • 数据湖的概念至今没有成熟的产品
  • 保护量大,老本高,计算效率低下

基于晚期的数据架构,通过简化架构,缩短数据链路,采纳 StarRocks 搭建了新的架构。实现三两个组件实现采集、存储计算和可视化。

在数据采集模块,为了保证数据搬运的精确和高效,抉择采纳 CloudCanal,利用可视化的配置,将 Apache Kafka,MongoDB,Redis 的数据同步到 StarRocks。

CloudCanal+StarRocks 联合应用,带来了很多益处:

  • 数据采集方面带来便当
  • 使开发人员专一于业务自身,无需关怀底层的实现
  • 升高了存储老本,因为 DWD 和 DWS 将近一半的表是间接用视图做的,很大水平上缩小了数据的拷贝带来的存储压力

4、大数据罕用组件


数字化过程中,在初始阶段,没有太多业务流需接入,当各种业务繁冗,须要多种组件参加,波及到以上多种大数据罕用组件。

#02

技术成长源于业务变更

1、一直变动的业务需要

以上是快消品行业依照不同场景划分的各种指标。随着业务的庞杂,指标的计算会变得复杂,须要将数据的并入和计算做得高效,能力应答一直变更的业务需要。面对宏大的业务体系,建设数据指标模型时次要有以下问题:

  • 数据模型也要疾速变动一应对繁冗多变的指标,贴合业务
  • 需要在减少,大数据组件也在减少实效性加强,硬件老本高
  • 引入新的业务零碎满足新的场景对应的数据源也在一直减少

2、业务建模

为实现数据和指标之间的串联,突破部门墙,加强部门之间的合作,启动全链路数字化我的项目,打造百草味业务全景图。次要流程为:

从全公司部门业务需要的收集,指标文档的整顿,确定计算口径和可视化的款式,到数据的采集和模型的搭建,ETL 的计算,报表的出现,给业务数据赋能。

借助 StarRocks 搭建业务全景图,极大地缩小了工夫老本,数据采集速率也进步了,效率相比传统计划有 10-100 倍性能晋升,真正意义上实现用户只关注业务。

其中因为财务核心的指标有一套固定的计算准则,因而能够较固定的进行指标构建,而绝对灵便的变更需要比拟大的业务流程和经营核心,则提供比拟好用和正当的模型即可。

3、例子:场景→模型→指标

对于快消行业来说,“进销存”三个环节十分重要。数据买通能够很好地解决控价和库存问题。进销存模型以商品流转的链路为主线,记录 SKU 的流转信息。

StarRocks 对企业数字化的赋能,次要针对两大块业务:前端控好价格,后端管好库存。实现了以下劣势:

  • 一半物理表一半逻辑视图,缩小了一半的调度
  • 升高了招聘要求和员工交接的技术老本
  • 在数字化过程中,突破了概念后行,真正做到了问题驱动

#03

概念后行 OR 问题驱动

1、概念→产品→解决问题

概念推动产品落地,产品解决业务问题。随着这种开发逻辑的流行,缓缓意识到开源与商业之间的问题和差距。因而缓缓地淡化一些概念,聚焦于问题自身,升高试错老本。为了解决问题而产生的问题:

  • 一堆概念衍生一堆产品去解决一堆问题
  • 产品间兼容性问题,高度耦合,到处拷贝
  • 一个概念几年没成熟产品,换个新概念集泛滥产品劣势于一身诞生新产品

咱们应该多花工夫在问题自身上,减速财务主动对账的效率,摸索提效降本的可落地计划,欠缺会员营销的闭环流程,减速商品流转各种场景的数字化模型建设将是咱们将来的研究课题。

优化三部曲:

  • 改个 SQL,设置个 Session 参数,进步了一个作业的执行效率
  • 改良全局参数,降级到更高的版本,加组件,加机器,进步了局部作业的执行效率
  • 换一套产品,进步了整体的作业执行效率

#04

数据架构将来构想

StarRocks 能够从以下五个点进行改善和晋升,会更有竞争力。

  • 对立治理界面:多源增量采集,数据(指标)治理,程序开发调度,运维监控
  • 灵便稳固的多表物化视图
  • 数据模型可逻辑对立可物理对立,升高数仓模型的深度
  • 主键模型(Primary Key Model)长久化索引,欠缺关系型数据库的 Catalog
  • 更好的反对高频写入,加 Buffer 缓冲层,进步采集,计算和极速剖析能力

对于 StarRocks

面世两年多来,StarRocks 始终专一打造世界顶级的新一代极速全场景 MPP 数据库,帮忙企业建设“极速对立”的数据分析新范式,助力企业全面数字化经营。

以后曾经帮忙腾讯、携程、顺丰、Airbnb、滴滴、京东、众安保险等超过 170 家大型用户构建了全新的数据分析能力,生产环境中稳固运行的 StarRocks 服务器数目达数千台。

2021 年 9 月,StarRocks 源代码凋谢,在 GitHub 上的星数已超过 3400 个。StarRocks 的寰球社区飞速成长,至今已有超百位贡献者,社群用户冲破 7000 人,吸引几十家国内外行业头部企业参加共建。

正文完
 0