星型模式
回到术语表什么是星型模式?
一个星型模式是一种多维数据模型,用于组织数据库中的数据,使其易于理解和分析。星型模式可以应用于数据仓库、数据库、数据集市和其他工具。星型模式设计针对查询大型数据集进行了优化。
星型模式由Ralph Kimball在20世纪90年代引入,通过减少重复的业务定义的重复,可以有效地存储数据、维护历史和更新数据,从而快速地聚合和过滤数据仓库中的数据。
事实表和维度表
星型模式用于将业务数据反规范化为维度(如时间和产品)和事实(如金额和数量的事务)。
星型模式在中心有一个事实表,其中包含业务“事实”(如交易金额和数量)。事实表沿着时间或产品等“维度”连接到多个其他维度表。星型模式使用户能够以他们认为合适的方式对数据进行切片和切分,通常是通过将两个或多个事实表和维度表连接在一起。
非正规数据
明星模式denormalize数据,这意味着向一些维表中添加冗余列,以便更快更容易地查询和使用数据。其目的是通过避免计算成本高昂的连接操作,以数据模型中的一些冗余(数据的复制)换取更高的查询速度。
在这个模型中,事实表是规范化的,而维度表不是。也就是说,来自事实表的数据只存在于事实表中,但维度表可能包含冗余数据。
星型模式的好处
- 事实/维度模型,如星型模式简单的理解和实现,并使最终用户容易找到他们需要的数据。它们可以应用于数据集市和其他数据资源。
- 适用于简单查询因为与雪花模式等标准化模型相比,它们在访问数据时减少了对连接的依赖。
- 能够很好地适应OLAP模型。
- 提高查询性能与规范化数据相比,因为星型模式试图避免计算成本高昂的连接。
星型模式与3NF(第三范式)有何不同?
3NF,即第三范式,是一种通过规范化减少数据冗余的方法。它是被认为完全标准化的数据库的通用标准。由于数据规范化,它通常比星型模式拥有更多的表。另一方面,由于大型表之间的连接数量增加,查询往往更加复杂。
资源
- Databricks博客:数据仓库建模技术及其在Databricks Lakehouse平台上的实现bob体育客户端下载
- Databricks博客:用Delta Lake在Databricks中实现星型模式的五个简单步骤
- Databricks SQL产品页面
- 数据术语表-雪花架构
回到术语表