Star Schema的OLAP或OLTP?

问题描述 投票:0回答:2

出于报告/数据仓库的目的,我们计划在星型模式中填充数据。

我们当前的所有数据都驻留在Redshift中,因为星型模式遵循表之间的传统关系。我应该选择RDBMS还是在Redshift上构建星型模式?

有人可以解释为Star Schema选择RDBMS与Redshift的利弊吗?

amazon-redshift data-modeling data-warehouse star-schema
2个回答
1
投票

两者都支持星型模式。由于您的数据已经在Redshift中,因此您可以通过使用该平台来消除额外的工作以及将数据移动到SQL数据库中的数据丢失/损坏的风险。

如何在Redshift中组织当前数据,数据量和将运行的查询类型可能会影响查询性能。由于您没有从星型模式的意图开始,因此可能无法针对星型模式优化Redshift实例。亚马逊有关于这个here的博客文章。您可以实施哪些提示取决于您当前的环境,但至少您应该能够使用数据压缩和工作负载管理建议。这个guide到Redshift架构和功能也可以帮助您实现Amazon优化建议。


3
投票

寻求星型模式设计涉及的更多考虑因素不仅仅是数据库将存储数据。

选择星型模式设计的一个直接原因是其简单性和表现力:根据经验,业务事务使用事实表建模,业务实体(或业务“上下文”)建模为维度表。此设计的一个实际结果是,无论您是使用SQL还是使用Tableau或PowerBI等BI /可视化工具,业务用户都可以更轻松地理解和使用您的数据。

实际上,任何RDBMS都将完全支持星型模式,在某些情况下,如Oracle,它可以使用特殊(位图)索引来优化星型模式上的典型查询模式。在过去的15年中(至少)已经出现这种情况,其中几乎所有规模的数据仓库都在几乎任何主要的RBDMS中实施。

您可以在Redshift中执行相同的操作:定义数据模型(星型模式),构建数据结构(表),相应地将数据加载到其中并照常查询。星型模式将比具有不相关或复杂的表结构更具表现力(因此更易于使用);在这种情况下,它实际上主要是一种抽象数据复杂性的元数据层。这是一篇详细介绍测量Redshift性能和支持星型模式查询的基准测试的帖子,使用行业标准TPC-DS基准测试:https://blog.fivetran.com/warehouse-benchmark-dce9f4c529c1

您甚至不需要“适当的”数据库来启用星型模式设计,例如你实际上可以在HDFS上转储文件,并且仍然使用Hive设计一个星型模式,只是为了使它更容易使用,因为Hive会给你一个基于HDFS的SQL接口,而星型模式将使SQL更简单,更容易了解。

© www.soinside.com 2019 - 2024. All rights reserved.