在设计分析系统时,您可以使用许多不同的数据模型,例如特定于行业的领域模型、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架构中使用数据仓库建模的:
在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天.