数仓中怎么做模型设计--关于分层建模(结合阿里OneData规范)

结合阿里OneData大数据建设方法论,整理了实习做相关需求过程中对数仓建模的流程体会。

数仓维度建模思路

  1. 明确业务需求和数据源:首先需要明确业务需求,包括业务目标、关键业务指标、数据来源等。尤其要了解数据源的类型和来源,确定数据仓库中需要存储哪些数据。(拆解指标计算所需的字段来源)
  2. 确定维度模型,根据业务需求和数据源,确定维度模型,包括事实表和维度表。其中,事实表用于存储事实数据,而维度表则用于存储与事实数据相关的各种维度信息。
  3. 分层建模,根据数据仓库不同层的需求,分别建立不同层的数据模型。在阿里OneData规范下,数据仓库包括ODS数据操作层、CDM数据公共层(DIM 数据维度层、DWD 数据明细模型层、 DWS 数据汇总层)、ADS数据应用层
  • ODS又称贴源层,即数据表字段数据名称与数据类型保持和源数据表一致
  • 公共层中:明细表描述小粒度的事件,为了方便更多业务使用会包含尽可能详细的信息,不用担心冗余太多字段的问题;汇总表相对于明细数据做轻度的聚合、汇总,最终指向的是ads应用层表。【注意区分】
  • 应用层表高度定制化,一张ads对应的一定是一个业务过程,是看板唯一的数据源,所以要确保所有指标能从ADS层表计算得出。在这里,如果两个过程存在大量相同字段或逻辑,可以使用同一dws表,避免了从ods开始开发。这也体现了汇总层的设计优势
  1. 理清建表逻辑:根据维度模型以及分层建模的结果,建立具体的表结构和表关系,包括事实表、维度表、聚合表等;
  2. 后期维护优化

标题再强调一些建模过程中注意的点:

  1. 确定业务需求:在建模前需要清晰地确定业务需求,包括业务目标、关键业务指标、数据来源等。只有在充分了解业务需求的情况下,才能更好地进行建模。
  2. 确定数据源:数据源是建立数据模型的基础,必须扎实。数据源的正确性和完整性直接影响数据模型的正确性和完整性,所以需要仔细筛选和验证数据源。
  3. 设计规范的模型:设计模型时需要遵循建模规范,包括命名规则、数据结构、数据类型、主键外键约束等。这些规范可以帮助保证数据模型的一致性、可维护性和可扩展性。
  4. 考虑数据一致性:当多个模型存在交叉点时,需要确保数据的一致性和准确性。需要在模型的交叉点处设计合适的数据交换方式或使用特定的数据模型来解决数据一致性问题。
  5. 管理变更:在模型中进行变更时,需要记录变更历史和变更原因,以便后续维护时可以更好地理解数据模型的演变过程。
  6. 定期维护优化:在数据模型建立之后,需要定期进行维护和优化,包括数据清洗、数据更新、数据备份等。这些维护和优化措施可以保证数据模型的可靠性和完整性,同时提高数据分析的效率和可信度。
    总之,在建立数据模型时需要注重细节和全局,充分考虑业务需求和数据逻辑关系,同时遵循建模规范和最佳实践,才能建立出高效、灵活、易于维护的数据模型。

猜你喜欢

转载自blog.csdn.net/weixin_43629813/article/details/131966740