(四)收官篇!从分层架构到数据湖仓架构系列:数据服务层和数据应用层及湖仓技术趋势小结


                                                                                                                                                <p><img src="https://oscimg.oschina.net/oscnet//58fb8089c422c9da1b59ad8349637492.jpg" alt=""></p> 

《新兴数据湖仓设计与实践手册·从分层架构到数据湖仓架构设计(2025 年)》 系列文章将聚焦从数据仓库分层到数据湖仓架构的设计与实践。手册将阐述数据仓库分层的核心价值、常见分层类型,详解分层下的 ETL 架构及数据转换环节,介绍数据仓库分层对应的技术架构,并以贴源层(ODS)、数据仓库层(DW)、数据服务层(DWS)为例,深入剖析数湖仓分层设计,最后探讨数据仓库技术趋势并进行小结。

本文为系列文章末篇,将详细剖析数据仓库分层下的数据服务层和数据应用层设计,并对当下湖仓技术以及未来技术趋势进行系统的总结。

👉上文回顾:《(一)从分层架构到数据湖仓架构:数据仓库分层的概念与设计》 (二)从分层架构到数据湖仓架构:数据仓库分层下的技术架构与举例 (三)从分层架构到数据湖仓架构系列:数据仓库分层之贴源层和数据仓库层设计

数据服务层设计(DWS,Data Warehouse Service)- 汇总层宽表

数据服务层(DWS)是基于数据明细层(DWD)构建的汇总层,面向特定业务主题,以宽表形式组织数据,支持分析和业务查询。该层的数据根据不同的主题和分析需求,通过对明细数据进行轻度聚合而成,减少维度数量,以便进行快速、高效的查询。

设计理念与结构

DWS层通过将DWD层的明细数据按主题域(如订单、用户、商品)进行汇总,为分析场景提供预处理的数据支持。数据粒度由细粒度提升至汇总粒度,以更适合多场景的业务查询需求。例如,按交易来源或类型对交易数据进行汇总,可以快速生成每天各主题的行为统计,如商品复购率、用户活跃度等。

特点和用途

  • 面向主题:DWS层按业务主题划分数据,如销售、库存、客户等,生成覆盖多个指标的宽表。每张宽表通常包含较多字段,支持复杂的业务分析与数据分发。
  • 少表宽表设计:DWS层表数量相对较少,每张宽表涵盖多个业务内容,减少表关联,提升OLAP分析和查询性能。
  • 一致性整合:通过整合多个中间层数据(如DWD层),形成一致的企业级汇总事实表(如用户事实表、渠道事实表、终端事实表等),保证数据口径的一致性。

数据聚合与汇总示例

  • 按天轻度汇总:基于DWD数据,对各主题对象(如购买行为)按天进行统计。例如,统计某商品的日复购率或销售额,方便后续的时间序列分析。
  • 主题宽表示例:按照业务主题,生成具有较多字段的宽表,用于业务查询、OLAP分析等。例如,dws_sales_summary宽表可包含销售额、复购率、用户地域分布等字段。
  • 多层次分析:以不同维度进行汇总,如最近一天特定类目(如厨具)商品在各省的销售总额,或者Top 10商品的销售额,支持灵活的多维分析。

场景应用与效率提升

通过汇总层的预聚合,DWS层可以满足80%的常见业务分析需求,减少直接查询ODS层的计算压力。例如,按7天、30天、90天等时间窗口的用户行为分析在DWS层中可以更加高效。

  • 实时分析支持:对DWS层数据进行轻度汇总,有助于实现实时或准实时的用户画像、销售趋势分析等需求。
  • 典型分析场景:如用户在不同时间段登录的IP及购买商品数量、各地区的购买力分布等。这些分析支持业务决策和营销策略调整。

命名和分区规范

  • 表命名规范:建议DWS层表名以dws_主题_宽表描述命名,如dws_sales_summary或dws_user_activity.
  • 分区设计:通常按天或周创建分区,便于时间序列查询;若无时间属性,则根据业务需求自定义分区字段。

通过DWS层的数据汇总与主题划分,企业可以在汇总宽表的基础上,迅速提取核心业务指标,为上层业务查询、报表和OLAP分析提供高效、结构化的数据支持。

数据服务层(DWS)职责与设计原则

DWS层(数据汇总层)基于DWD层的明细数据,按业务主题对数据进行聚合,以宽表形式存储,支持业务查询、OLAP分析和数据分发。DWS层将多个DWD层表中分散的数据进行汇总,按主题整合到单一宽表中,例如用户、订单、商品、物流等。每张宽表涵盖相关主题的多个维度和指标字段,以满足业务方的多维度分析需求。

DWS层的核心任务

  1. 主题汇总 将DWD层的明细数据按照业务主题进行聚合,创建单独的宽表。例如,在”用户”主题下,用户注册信息、收货地址和征信数据等内容可以整合到一张宽表中,方便后续的数据查询和分析。
  2. 主题建模 针对特定业务主题,如流量、订单、用户,构建数据模型,将相关数据从DWD层抽取并聚合。DWS层提供的宽表通常按时间分层,如按天、月汇总的流量会话、每日新增用户、每日活跃用户等。
  3. 维度汇总 提前将查询需求中的常用维度数据进行聚合处理。例如,将营销渠道、用户来源等维度数据提前整合,简化后续的查询逻辑。

设计规范

  1. 宽表设计 DWS层通常为每个主题提供1至3张宽表,宽表覆盖多个业务指标,能够满足70%以上的业务需求。典型的宽表包括用户行为宽表、商品宽表、物流宽表和售后宽表等。其中,用户行为宽表是字段最丰富的,可能包含60至200个字段,以支持更全面的用户分析。
  2. 命名和分区规范
    1. 命名:DWS层表名以dws_开头,后接业务主题和时间周期标识(如_1d代表每日汇总,_1w代表每周汇总)。
    2. 分区:通常按天或小时创建分区(如_hh表示小时分区),如无时间维度,则根据业务逻辑选择分区字段。
    3. 示例命名:
      1. dws_asale_trd_byr_subpay_1d:按买家粒度的交易分阶段付款每日汇总。
      2. dws_asale_trd_itm_slr_hh:按卖家粒度的商品小时汇总。
  3. 数据存储 DWS层数据采用Impala内表和Parquet文件格式存储,具备高效的查询性能。一般以覆盖旧表的方式更新数据,定期生成历史快照用于数据存档和溯源分析。
未经允许不得转载:紫竹林-程序员中文网 » (四)收官篇!从分层架构到数据湖仓架构系列:数据服务层和数据应用层及湖仓技术趋势小结

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
关于我们 免责申明 意见反馈 隐私政策
程序员中文网:公益在线网站,帮助学习者快速成长!
关注微信 技术交流
推荐文章
每天精选资源文章推送
推荐文章
随时随地碎片化学习
推荐文章
发现有趣的