【数据分层】数据平台中的数据分层原则

视频号

微信公众号

知识星球

Chinese, Simplified

当我们构建数据平台以实现业务的数据成熟度时,数据组织原则至关重要。

数据管理是数据平台构建的关键方面之一。大多数时候,分析师在访问平台上的数据后构建自己的转换逻辑并构建报告。因此,数据是孤立的。

数据层有助于确保数据的组织方式

  • 一致的
  • 可信赖的
  • 减少了数据冗余
  • 敏捷性
  • 并且可访问。

这使企业更容易使用数据做出明智的决策。

数据层:深潜

Data layers

类比

在整个博客中,我们用餐馆在顾客购买食材后如何为他们提供食物的比喻。

奖牌建筑——重要吗?一点也不。从技术上讲,青铜、白银和黄金层没有明显的可利用特征。这是Databricks引入的数据设计模式,我们将其用于命名约定,这很容易理解。我们推出了白金层!

暂存(Staging)

暂存层是数据平台上的第一级数据存储。它以与操作系统的数据结构紧密一致的格式存储数据。暂存层分为两个子层:原始层和标准层。

未经加工的(Raw)

  • 将源系统中的数据加载到目标数据仓库中的原始层中。目的地可以是Snowflake、Google BigQuery、AWS RedShift、Delta Lake或AWS S3。
  • ELT工具,如Fivetran、Stitchdata、Airbyte和自定义连接器,可用于将数据从源系统加载到目的地。
  • 应该格外小心地处理原始层,以确保没有用户或进程修改模式和表结构。数据工程团队应该拥有原始层,因为它的状态是由现代数据堆栈中的ELT工具管理的。
  • 数据按原样加载到原始层,并带有其他元数据属性,如Data_loaded_at和file_name
  • 出于审核目的,每个源系统的数据在原始层中都应该有自己的模式。架构名称应遵循以下命名约定:<SOURCE_SYSTEM_NAME>_<BRAND_NAME>
  • 原始图层中的表名应保持源系统表名。

类比

作为在餐馆准备食物的第一步,我们需要从供应商那里收集食材。它类似于从操作系统收集数据。这就是数据契约在确保,

1) 数据按预期到达平台。操作系统中的任何可用性或可访问性问题都会影响向企业(消费者)及时交付数据。

2) 双方需要就双方的数据生产者和平台团队(供应商和餐厅)之间如何就SLA达成一致意见。

3) 数据结构的更改(配料的更改)应通知平台团队(餐厅)。否则,餐馆不能按照菜单制作食物

标准化

类似于具有以下定义的原始层,

  • 正确的数据类型:ELT工具在加载数据时并不总是以正确的数据格式存储列。我们遇到了一些ELT工具的挑战,这些工具将数据加载到目的地的VARCHAR中。
  • 元数据优先:目的地的表和属性应该有一个描述,使分析师能够轻松发现和访问数据。当您使用数据目录工具时,元数据可以很容易地从您的目的地获取。此外,元数据应该在您的仓库中进行集中管理。元数据还可以用于将数据分类为PII类别等。数据的定义需要由业务中的数据所有者与数据治理团队一起定义。
  • 管理历史记录:在某些情况下,由于缺乏识别增量的方法和数据管道的限制,您无法在原始层中维护源更改的历史记录。建议尽早在数据层中保留更改的历史记录。
  • 数据子集(可选):除非分析师需要使用数据来构建特别分析,否则无需将数据纳入标准层。

类比

一旦配料(数据)从数据工程师那里进入餐厅。数据应在库存中进行管理和组织,并添加额外的元数据,即配料装载时间、单位、到达时间和烹饪团队(分析工程)消耗配料以制作美味食物的逻辑组的正确级别!

我们需要Data Vault吗?

Data vault无疑有助于使用集线器、链路和卫星为大量系统和企业数据组织数据。如果你是一个不太成熟的小型数据分析团队,正在开始数据之旅,你不需要采用数据保险库模式。请将其保存在您的停车场列表中,以便将来再次访问。

核心

核心层是用于将来自多个源的数据集成到一致实体中的转换层。

准备

子集的核心层,即集成层,将数据建模为一致的结构。

这层到底做什么?

  • 从多个数据源中识别属性,并将它们映射到一致的名称
  • 识别业务密钥
  • 将所有数据合并为一个模型
  • 应用通用清理规则

Prep layer

类比

烹饪前,厨房搬运工准备食材,包括切蔬菜、削苹果皮和磨碎奶酪。然后他们会为食谱准备好食材

符合(Conformed)

业务规则和复杂的转换应用于一致层,以构建企业数据域。一致性实体通常在各个组织中被理解和使用。

数据集将被视为主数据和单一的真相来源。它是企业访问其数据的企业视图的入口。

类比

厨师们现在已经准备好烹饪食物给顾客吃了。它是餐厅的关键角色,会有不同的厨师来制作食谱。同样,在数据平台中,分析工程在部门分析师的帮助下构建模型,为数据服务。

参考数据

如何在数据层中拟合参考数据?参考数据是丰富数据的小数据集。有时,这可能是为分析目的而创建的静态映射表。我们建议将参考数据保存在核心层中,并使用它们来构建一致的层。

演示

商业智能分析师和数据科学家团队访问数据产品和可供消费的数据集,以创建仪表盘和见解。

数据集市

星型模式模型用于存储事实数据和维度表。遵循Kimball方法,该方法已针对分析目的进行了优化。

维度建模使业务分析师能够快速构建可视化,为“高管”高管和利益相关者提供见解

类比

食谱准备好后,下一步就是上菜。数据集市类似于自助餐,让顾客自己服务。所有的食谱都被放在一个结构合理的组中,供消费者自己食用。数据在数据集市层中有良好的结构和文档,可以快速构建见解。

汇报

数据集是从数据集市层创建的,有时是从完全非规范化的暂存层或一致层创建的。

预加入和预聚合数据集:高管可以直接访问数据,无需加入即可创建见解

类比

这是餐厅服务员(数据分析师)为顾客(高管和利益相关者)提供所需食物的最后阶段。数据分析师为企业高管构建见解,他们只需访问见解即可做出决策。

我们如何使数据平台取得成功?

  • 与分析师和业务部门进行持续的会谈,使他们了解数据层及其原理
  • 通过监控使用历史记录,数据平台团队可以测量数据访问的频率、频繁使用的数据集和长时间运行的查询,以制定积极的步骤来提高平台的性能
  • 敏捷性使企业能够信任数据平台的基础,数据平台应该是可持续的、可扩展的和可靠的
  • 持续的反馈和迭代有助于数据平台团队识别来自数据分析师团队的挑战,并在需要时进行会议,以提高数据平台的使用率
本文地址
https://architect.pub
SEO Title
Principles of Data layers in Data Platform