马蜂窝数据仓库的架构、模型与运用实际
作者头像
  • 米蔚然
  • 2019-11-20 13:26:17 3

Part.1 马蜂窝的数据中台与数据仓库

近年来,数据中台的概念越来越受到关注。自2018年起,马蜂窝也开始探索数据中台的道路。数据中台究竟是什么?是否需要建设?它与传统数据仓库有何区别?这些都是许多企业关心的问题。

我认为,数据中台的概念非常接近传统数据仓库与大数据平台的结合体。它是企业在积累了数据中心和数据仓库的经验后,利用平台化的思路,更好地整合和统一数据,通过组件化的方式实现灵活的数据加工与应用。数据中台更侧重于管理和组织架构上的变革。基于这种理念,我们结合自身业务特点,构建了马蜂窝的数据中台,其核心架构如下:

Part.2 马蜂窝数据仓库的核心架构

马蜂窝的数据仓库遵循标准的三层架构,主要采用维度模型设计,注重业务过程数据的整合。现有的数据仓库以离线处理为主,整体架构如下:

三层架构

  • 业务数据层:包括数据缓冲层(STG)和操作数据层(ODS)。STG层负责临时存储来自数据库、消息和日志解析的数据;ODS层则负责保留业务明细数据,原则上全量保留。
  • 公共数据层:分为明细数据层(DWD)、汇总数据层(DWS)和公共维度层(DIM)。DWD层整合业务过程明细数据;DWS层按主题进行轻度或重度聚合;DIM层对维度进行统一标准化定义。
  • 应用数据层:主要用于个性化数据加工,如商业化产品数据、搜索推荐和风控等。

Part.3 数据模型设计

方法选择

数据模型是对现实世界数据特征的抽象。目前主流的模型设计方法包括范式建模和维度建模。范式建模主张自上而下,而维度建模则主张自下而上。大数据环境下,这两种传统方法难以完全满足需求,因此马蜂窝数据仓库采用了“以需求驱动为主,数据驱动为辅”的混合模型设计方式。

设计目标

马蜂窝数据仓库在模型设计上追求准确性、易用性和及时性,以满足业务人员多样化的需求。

设计流程

数据仓库模型设计涉及需求调研、模型设计、开发测试和模型上线四个阶段,每个阶段都有明确的输入和输出文档。

Part.4 数据仓库工具链建设

为了提升数据生产力,马蜂窝建立了一套工具链,主要包括数据同步工具、任务调度平台和元数据管理工具。

数据同步工具

该工具支持灵活的数据接入方式,包括增量抽取和全量抽取,以及数据的拉链式保存和流水日志方式保存。

任务调度平台

使用Airflow配合自研的任务调度系统,支持常规任务调度及数据重跑、历史补数等功能。

元数据管理工具

元数据管理在数据建设中扮演重要角色,包括血缘管理和数据知识管理,前者用于追溯数据加工链路,后者则提供清晰的技术和业务元数据描述。

Part.5 数据仓库的应用——目标平台

目标平台是数据对外赋能的重要工具。马蜂窝的目标平台设计遵循清晰、透明的原则,确保目的定义标准、消费过程简单且可配置化,查询效率高,并支持多层次的权限管理。

Part.6 总结

企业数据建设需要经历业务数据化、数据智能化和数据业务化三个阶段。目前大部分企业仍处于第二个阶段,因为夯实这一阶段是迈向第三个阶段的基础。马蜂窝数据中台建设才刚刚起步,我们致力于通过数据标准化、工具组件化和组织明晰化,实现数据价值的最大化。

数据来源于业务,最终也将应用于业务。只有充分重视数据并与业务紧密结合,才能真正实现数据价值的最大化。在马蜂窝,无论是管理层还是各业务角色,都高度重视数据的应用,数据产品的使用人数占公司员工的比例高达75%。

    本文来源:图灵汇
责任编辑: : 米蔚然
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
马蜂窝架构仓库模型运用实际数据
    下一篇