数据建设赋能业务增长

本文详细探讨了数据部门在数仓建设中的实践,包括数仓的定义、目标、层次结构、理论方法(如维度建模和分层)、Lambda架构的应用以及关键能力的建设,如数据架构、规范、安全和指标应用。
摘要由CSDN通过智能技术生成

本文将介绍数据部门在数仓建设方面的实践。文章将从数仓的发展历程开始,介绍其定位、内容、作用、规模等,并分享数仓建设常用的维度建模和分层理论,以及数仓的架构演进和能力沉淀。

01 数仓介绍

数据仓库(Data Warehouse)是一个用于集成、存储和管理大量结构化和非结构化数据的系统。它是一个面向主题的、集成的、稳定的、可变的和可查询的数据集合,用于支持企业的决策制定和业务分析。

数据仓库的设计和构建旨在满足以下目标:

1. 集成数据:数据仓库从多个源系统中提取、转换和加载数据,将其集成到一个统一的数据模型中。这样可以消除数据孤岛,使得企业可以从一个统一的视角来分析和理解数据。

2. 支持主题分析:数据仓库以主题为中心,将数据组织成一系列主题区域,如销售、客户、产品等。这样可以提供更高层次的、面向业务问题的数据视图,方便用户进行分析和决策。

3. 提供历史数据:数据仓库存储了历史数据,包括过去的交易记录、事件发生的时间和相关的维度信息。这样可以支持趋势分析、历史比较和预测模型的构建。

4. 支持复杂查询:数据仓库提供了灵活的查询和分析能力,支持复杂的多维分析、数据挖掘和报表生成。用户可以通过自助查询工具或BI工具来访问和分析数据。

5. 数据质量和一致性:数据仓库通过数据清洗、数据转换和数据验证等措施,确保数据的质量和一致性。这样可以提供可信度高的数据,减少错误和决策偏差。

6. 可扩展性和性能:数据仓库的架构和设计考虑了可扩展性和性能的需求。它可以处理大量的数据和复杂的查询,保证用户能够及时获取准确的结果。数据仓库的建设过程包括需求分析、数据建模、ETL(提取、转换和加载)、数据质量控制、查询和报表设计等环节。它通常与数据集成、数据挖掘、商业智能等技术和工具相结合,形成一个完整的数据分析和决策支持系统。

02 数仓建设理论

在进行数仓建设时,首先是梳理业务,找到核心业务逻辑,对业务过程进行认识和理解,并在数据库中找到相关的数据表。在此基础上,站在更高维度对业务流和数据流进行汇总和分类,划分好主题域,便于后续的管理。然后进行事实表和维表的梳理,借助指标系统进行指标梳理,以具体的业务为核心,指标与维度同等重要。接下来对数仓进行建模,按照维度建模方式组织数据,在这个过程中需要注意分层和规范。最后就是物理实现,这个环节重点关注的是开发规范、交付物、质量等。

接下来介绍数仓分层方式。

数仓分层最底层是 ODS 层,它是贴源数据,与业务数据保持一致。在ODS 之上是 DW 层,DW 层可以细分为两层。一层是 DWD 基础数据,主要做清洗和规范化,不对数仓团队外部开放使用。另一层是 DWS 层通用数据。基于 DWD 的数据做关联和聚合,会将核心的逻辑实现放在这一层,用于提升公共数据的复用性,可以开放给外部团队使用。数仓中还有DIM 层(维度层),DM 层(宽表层),ADS 层(应用数据层)。在数仓建模过程中,需要遵循以下一些基本的建模原则:高内聚低耦合,公共逻辑下层,成本与性能平衡、一致性、数据可回滚。

1. 高内聚低耦合

将业务相近的数据设计为一个逻辑模型或者物理模型。例如订单有很多来源。在 DW 层会整合为同一个订单表,同时会对一些缺失字段进行默认处理,保证所有来源的数据最终在 DW 层是统一的,从而实现高内聚。订单和物流被划定为不同的主题,以减少其耦合度。

2. 公共逻辑下沉

前面介绍数仓分层时,指出公共逻辑要尽量放在 DWS 层处理,对下游使用方尽量屏蔽复杂的业务逻辑,从而做到口径统一。例如在订单处理过程中,会有很多无效的订单,识别无效订单的核心逻辑在 DWS 层,这样下游业务方就可以直接使用。

3. 成本与性能平衡

一定的数据冗余,虽然可能带来成本增加,但查询性能可以得到提高。例如在区域维表设计中,针对国家、省份、城市、区县,通过一个区域层级字段将其分类,虽然数据是冗余的,但用户使用起来会比较方便,并且查询更快速。

4. 一致性

在数仓建模过程中,要保证字段含义和命名规范是统一的,这样可以降低理解和使用的成本。

5. 数据可回滚

要保证数据可回滚,在不同时间去执行数仓的调度,针对历史数据计算出的结果是一致的。

03 数仓架构介绍

数仓采用的是 Lambda 架构。Lambda架构是一种用于大数据处理的架构,结合了批处理和实时处理的优势。它包括批处理层、实时处理层和查询层。

批处理层:批处理层用于处理大量的历史数据,通过批量作业进行数据清洗、转换和加载。它通常使用Hadoop、Spark等技术来处理大规模数据。

实时处理层:实时处理层用于处理实时数据流,通过流式处理技术进行数据处理和分析。它可以实时更新数据仓库,并提供实时的查询和分析能力。

查询层:查询层用于提供用户接口,支持用户查询和分析数据。它可以同时查询批处理层和实时处理层的数据,提供全面的数据视图。

如果是流处理,部分情况下无法达到百分之百的准确性,因此需要通过批处理,去保证 T+1 数据的准确性。在批处理层使用 Spark 加 Hive 去处理离线数据。在流式处理层,使用 Flink 加消息队列 Kafka。在 DW 和 DM 层,会通过 Hbase 进行维表的加速查询。最终再把这两部分数据进行联合,提供给下游业务方使用。

04 数仓能力层

下面介绍数仓能力层,即数仓经过一定的建设和升级,逐渐沉淀下来的一些公共能力。

数仓能力建设:数据架构

首先是统一的数据架构。离线批处理需求是基于 Hive 的分钟级流批一体处理方案;在实时方面,是基于 Flink + Kafka 的秒级处理方案。

数仓能力建设:数据规范

数仓规范在数仓能力层中举足轻重。日常工作中非常重视具体的开发过程和规范,尤其是对一些新同学,规范是必要且实用的。通过数仓开发和质量规范,会统一表命名方式、字段命名方式、数仓分层等,配置 DQC 相关的完整性校验、一致性校验、空值率校验。

数仓能力建设:数据安全

数据安全是数仓能力建设的一个重要方面。

一是通过合规管控,所有的数据生产环节都严格遵守国家的法律法规。在公司内部有质量部、隐私部以及法务部会对所有环节进行监控。

二是会进行安全分类,即按照数据的敏感度和重要性将数据进行分类。

三是在权限控制方面,会严格规范数据流程,在每个部门都会有对应的安全负责人来负责最终的

安全校验。在审批过程中,会遵循权限最小的原则。核心研发人员和使用人员,签署数据保密协议。

四是集群隔离,一个国际化公司,在国外会将机房部署在当地,并且机房之间的数据明细是不允许传输的。对一些汇总的指标,经过安全负责人的审批之后,可以传回国内进行分析。在欧洲的数据业务,会严格遵守欧盟的 GDPR 条例。针对海外数据,会成立国际数据运营中心,本地开发部署和运维。

数仓能力建设:指标应用

数仓能力建设的一个重要环节就是指标应用。指标系统包含全部数据口径的描述、基础信息、维度的拆解和相关指标。在指标口径上会严格指定权限审批的负责人,明确整个指标的详情。下游可以通过指标系统,快速了解相关指标。


欢迎关注微信公众号
  • 19
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值