bob体育客户端下载平台的博客

在Databricks Lakehouse平台上实现数据库模型的规定性指南bob体育客户端下载

分享这篇文章

在设计分析系统时,您可以使用许多不同的数据模型,例如特定于行业的领域模型、Kimball、Inmon和data Vault方法。根据您的独特需求,您可以使用这些不同的建模技术来设计lakehouse.它们都有各自的优势,并且每个都可以很好地适合不同的用例。

归根结底,数据模型不过是定义了一对一、一对多和多对多关系的不同表的构造。数据平台必bob体育客户端下载须为物理化数据模型提供最佳实践,以帮助简化信息检索和提高性能。

在之前的文章中,我们介绍过用Delta Lake在Databricks中实现星型模式的五个简单步骤.在本文中,我们将解释什么是数据仓库,如何在铜/银/金层中实现它,以及如何使用Databricks Lakehouse平台获得数据仓库的最佳性能。bob体育客户端下载

数据仓库建模,已定义

数据仓库建模的目标是适应快速变化的业务需求,并通过设计支持更快、更敏捷的数据仓库开发。数据库非常适合湖屋方法,因为数据模型易于扩展,并且具有集线器、链接和卫星设计,因此设计和ETL更改很容易实现。

让我们来理解数据仓库的几个构建模块。一般来说,数据仓库模型有三种类型的实体:

  • 中心-枢纽代表一个核心业务实体,如客户、产品、订单等。分析人员将使用自然/业务密钥来获取关于Hub的信息。Hub表的主键通常由业务概念ID、加载日期和其他元数据信息的组合派生。
  • 链接—链接表示Hub实体之间的关系。它只有连接键。它类似于维度模型中的Factless Fact表。没有属性-只有连接键。
  • 卫星-卫星表具有Hub或Links中实体的属性。它们有关于核心业务实体的描述性信息。它们类似于Dimension表的规范化版本。例如,客户中心可以有许多卫星表,如客户地理属性、客户信用评分、客户忠诚度等级等。

使用Data Vault方法的主要优点之一是,当数据模型发生更改时,现有ETL作业需要的重构大大减少。Data Vault是一种“写优化”的建模风格,支持敏捷开发方法,非常适合数据湖和湖屋方法。

下图显示了数据仓库建模的工作方式,其中集线器、链路和卫星相互连接
下图显示了数据仓库建模的工作方式,其中集线器、链路和卫星相互连接。

数据库如何适合湖屋

让我们来看看我们的一些客户是如何在Databricks Lakehouse架构中使用数据仓库建模的:

Lakehouse上的数据仓库架构
Lakehouse上的数据仓库架构

在Databricks Lakehouse中实现数据仓库模型的考虑

  • 数据仓库建模建议使用业务键的散列作为主键。砖支持哈希md5,函数开箱即用,以支持业务键。
  • 数据仓库层具有着陆区(有时是暂存区)的概念。这两个物理层都与数据湖屋的青铜层相吻合。如果到达的着陆区域数据(如Avro、CSV、parquet、XML、JSON格式),则将其转换为staging区域中的delta格式表,以便后续的ETL可以具有高性能。
  • 原始拱顶是从着陆区或预备区创建的。在原始数据库中,数据被建模为集线器、链接和卫星表。在加载原始数据库时,通常不会应用其他“业务”ETL规则。
  • 所有ETL业务规则、数据质量规则、清理和一致性规则都应用于Raw和business Vault之间。Business Vault表可以按数据域组织——数据域充当标准化清理数据的企业“中央存储库”。数据管理员和中小企业拥有围绕其业务库领域的治理、数据质量和业务规则。
  • 查询助手表(如时间点表和桥表)是为业务库之上的表示层创建的。PIT表将提高查询性能,因为一些卫星和中心是预先连接的,并通过“时间点”过滤提供一些WHERE条件。桥接表预先连接中心或实体,以提供一个扁平的“维度表”,类似于实体的视图。Delta活动表与物化视图完全相同,可用于在业务数据库顶部的Gold/Presentation层中创建时间点表以及桥接表。
  • 随着业务流程的变化和适应,可以轻松扩展Data Vault模型,而不需要像维度模型那样进行大规模的重构。附加的中心(主题领域)可以很容易地添加到链接(纯连接表),附加的附属(例如客户细分)可以添加到中心(客户),只需进行最小的更改。
  • 在Gold层中加载维度模型数据仓库也变得更容易,原因如下:
    • 集线器使密钥管理更容易(来自集线器的自然密钥可以通过标识列).
    • 卫星使加载维度更容易,因为它们包含所有属性。
    • 链接使得加载事实表非常简单,因为它们包含了所有的关系。

在Databricks Lakehouse中获得最佳性能的数据库模型的技巧

  • 使用Delta格式化表的原始金库,商业金库和黄金层表。
  • 一定要使用优化和z轴顺序枢纽、链接和卫星的所有连接键上的索引。
  • 不要过度划分表,尤其是较小的卫星表。使用布卢姆滤波器索引on日期列,当前标志列和谓词列,通常过滤以确保最佳性能-特别是如果您需要创建除z顺序之外的其他索引。
  • Delta Live Tables(物化视图)使得创建和管理PIT表变得非常容易。
  • 减少optimize.maxFileSize设置为更低的值,例如32-64MB,而不是默认的1gb。通过创建较小的文件,您可以从文件修剪中受益,并最大限度地减少检索需要连接的数据的I/O。
  • 数据仓库模型有相对较多的连接,因此使用DBR的最新版本,它确保自适应查询执行在默认情况下是ON的,以便自动使用最佳连接策略。使用加入提示只有在必要的时候。(用于高级性能调优)。

BOB低频彩了解更多关于数据仓库建模的信息数据仓库联盟

开始在湖屋建立您的数据仓库

免费试用Databricks 14天

免费试用Databricks

相关的帖子

看到所有解决方案的帖子