购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.5 短视频业务数据仓库建设案例

小白: 老姜,我觉得涉及数据仓库的工作内容,还需在工作中实操一下才行。

老姜: 是的,在工作中多思考、多与数据研发人员沟通,用不了多久就能应用自如了。

小白: 好的,我记下了。另外,对于数据仓库,可否分享一个实战案例,希望具象化地了解一下,对于后续的工作也会有一些帮助。

老姜: 没问题,那我们以短视频业务为例,介绍一下该类App数据仓库建设的过程。

小白: 嗯嗯,好的。

3.5.1 短视频业务简介

短视频产品相信大家都不陌生,市面上头部的短视频产品,如抖音、快手,以短视频信息流的方式进行产品呈现,并从短视频的基准上延伸出周边应用场景。此类产品在数据上表现出以下特点。

· 数据量大: 用户量级较大,且端内的交互行为较多,用户的每一次预览、滑动、点赞、切换等操作,均会记录其中。

· 场景面广: 短视频App中涉及的内容场景日渐丰富,涵盖短视频、直播、游戏、电商等领域。

在这样的背景下,数据仓库的建设就需要符合业务特性,同时,按照建设前、建设中、建设后的流程逐步完成。

3.5.2 建设前:数据仓库准备过程

在开始数据仓库建设前,需要对现有短视频业务有一个完整的认知,同时要对现有数据源情况做一个摸底。其中,主要划分为业务调研、数据调研。

1.业务调研

业务调研需要与业务人员沟通,梳理评估方向及所需指标,作为数据仓库主题设计的基础。通过与短视频业务交流,该产品一级主题方向可划分为消费域及生产域。

· 消费域: C端用户在短视频App中消费的相关数据,根据消费方向,又可划分为二级主题方向,涵盖视频播放域、平台交互域、直播消费域、电商消费域、游戏消费域等。

· 生产域: 内容创作者所产生的数据,主要涵盖视频发布域、直播房主域、电商B端域、游戏分发域等。

2.数据调研

在了解了业务后,需要对现有数据源及过往数据需求进行复盘,了解数据血缘流程。

首先,梳理当前各方向数据的含义及目的,评估哪些数据源合理、哪些需要优化、哪些冗余可去掉,并将整理后的内容沉淀文档,作为数据仓库搭建依据。

其次,整理历史数据需求,剥离共性内容,作为指引数据仓库建设的依据。对于当前产品,很多需求需要关注历史30日的用户数据,则可以将多日数据设计成一张表,满足下游数据应用。

3.5.3 建设中:数据仓库建设过程

在数据仓库建设过程中,首先选择混合架构来设计数据仓库,其次根据主题及通用层级,横纵向划分数据仓库结构。

1.数据横向划分——主题

此业务横向按照主题进行划分,其方式有多种,可以根据业务过程,如消费域、用户域等;也可根据产品功能,如信息流域、聊天功能域等。此处,我们采用后者,如图3-23所示。

图3-23 根据产品功能划分

首先,根据产品特性,将一级域划分为生产与消费,涵盖端内的两方面角色。

其次,根据端内的功能主题进行细化,拆解为功能域。

最后,在设计表的过程中,明确各类表的主键,后续应用环节,通过主键进行关联。

2.数据纵向划分——层级

纵向根据数据层级进行划分,结合上方横向主题域,形成网状的数据仓库结构,如图3-24所示。

图3-24 网状的数据仓库结构

· 数据接入层: 在数据源整合的基础上,将原始数据接入,保持数据的原始格式,不做清洗、聚合等操作。对于实时数据,以15min为时间单位进行存储;对于离线数据,以 T +1为时间单位进行存储。

· 数据仓库层: 对接入层数据加工处理,以明细及轻度聚合粒度存储。同时,相同主题域下的数据,通过用户ID、视频ID、订单ID等主键进行关联,形成主题域下的轻度聚合表。例如,视频播放域,涵盖了用户的视频播放信息,通过视频ID、用户ID等主键,将视频信息与用户属性信息关联,生成符合下游应用的聚合表。

· 数据应用层: 根据应用需求,生成主题内或跨主题的宽表数据,也称为数据Cube。例如,将视频发布域数据与视频播放域数据融合,整合为一张视频相关应用表,直接面向下游视频相关的分析需求。同时,根据需求,生成一些延展性指标和维度,例如, N 日内流水、 N 日留存、用户类型(新增、活跃、卸载回流、沉默回流等)。

3.核心注意事项

在建设过程中,除了需要关注主题及层级的划分外,还需要遵循一定的原则,保障该业务数据仓库搭建的规范性。

注意1:禁止数据交叉调用。 数据分层只能下游调用上游数据,DWS层数据调用DWD层数据是可以的,反之则不可以。如果出现相互依赖的情况,那数据仓库便失去了其分层设计的意义。

注意2:减少数据跨层访问。 ADS层数据可以直接依赖DWS层数据,但是尽量避免直接调用ODS层数据。跨层数据访问,说明中间层数据存在缺失,需要增加中间层数据,以防所有数据均从最源头数据获取,一方面增加成本,另一方面复用性较差。

注意3:减少指标重复计算。 相同指标,在数据仓库中建议只计算一次,其他应用场景均通过关联的方式进行获取,一方面保障指标计算方式及定义的唯一性,另一方面也可降低数据计算成本。例如,人均播放时长,可按照用户粒度统一计算,然后在下游应用时,通过用户ID匹配指标情况。

3.5.4 建设后:数据仓库维护过程

短视频数据仓库建设完成后,可以通过一些量化方式评估建设的优劣,以及配置后续的数据监控及报警。

1.数据仓库评估

数据仓库的量化评估,可从以下几个方面进行。

其一,数据复用性。 在设计数据仓库时,我们希望数据模型是可以复用的,优质的数据仓库结构是网状的,数据的中间层可以被多次调用,实现数据表的较高利用率。反之,劣质的数据仓库结构往往呈现线性结构,每做一个需求就需要重新搭建一套数据流转,内容复用性差。

此处可采用复用率指标进行评估, 复用率=依赖调用次数/表数量, 该值在一定范围内越大越好。

其二,应用层数据引用率。 在设计数据仓库时,我们希望ADS层数据可以有更高的利用率,这样整体数据仓库的结构设计才是有意义的。

此处可采用应用层引用率指标进行评估, 应用层引用率=ADS层表查询次数/总查询次数, 该值理论上越大越好。

其三,原始层数据引用率。 同应用层引用率相对,我们希望越上游的数据,引用率越低。

此处可采用原始层引用率指标进行评估, 原始层引用率=ODS层表查询次数/总查询次数, 该值理论上越小越好。

2.元数据管理

除了对数据仓库评估外,还需要对元数据信息进行管理。元数据,指的是描述数据的数据,涵盖字段名、字段描述、字段类型、字段安全等级、字段备注等。以短视频“快滑率”指标为例。

· 字段名:快滑率。

· 字段描述:3s内滑动的视频数占整体视频数的比例。

· 字段类型:Double。

· 字段安全等级:P0。

· 字段其余信息。

可将元数据信息维护到企业内部的管理平台中,通过与数据仓库打通,直接查看表的基础信息。

3.数据监控

对业务核心指标进行监控,涵盖DAU、VV(Video View)、人均时长、人均互动次数、直播场次、生产者人次等。例如,直播北极星指标为直播观看UV,对该指标实时监控,当发现指标在某小时同比发生较大波动时,系统自动排查原因,并输出可能的问题报告。

4.数据安全

数据安全是数据应用的底线,在短视频数据仓库建设中,主要体现在对于数据权限的把控。

我们会将数据表、数据指标的安全等级进行划分,对涉及敏感数据的信息设置较高的安全等级,且需要通过层层审批后才可应用。

3.5.5 小结

希望本节的学习,可以帮助你更快上手数据仓库的相关工作,并在实践中汲取经验。 WdrS+VgFotmwknH3+KBJA/9Si+L4C/ZiZyMBTRIlX1ju3rrrgJsUmOkXpogzGDqU

点击中间区域
呼出菜单
上一章
目录
下一章
×