ssis - 为什么我们需要SSIS和数据仓库的星型模式?

标签 ssis sql-server-2012 ssas olap

如果SSAS是MOLAP模式存储数据,那么SSIS的应用是什么,为什么需要Data Warehouse和SSIS的ETL过程?

我有一个 SQL Server OLTP 数据库。我正在使用 SSIS 将我的 SQL Server 数据从 OLTP 数据库传输到包含事实表和维度表的数据仓库数据库。

之后,我想使用 SSAS 表单数据仓库数据创建多维数据集。

我知道 MOLAP 存储数据。我需要任何带有事实表和维度表的数据仓库吗?

避免创建数据仓库并直接从 OLTP 数据库创建多维数据集不是更好吗?

最佳答案

这可能是“太宽泛”的候选者,但我会试一试。

为什么我要将数据存储 3 次?

我的数据在我的 OLTP(联机事务处理系统)中,为什么我要将该数据移动到一个全新的结构(数据仓库)中,然后再将其移动到 OLAP 系统中?

让我们从简单的开始。您只有一个记录系统,而且它并不繁忙。也许您可以摆脱抽象层(数据库中的 View 或 SSAS 中的命名查询)并跳过数据仓库。

因此,您构建了多维数据集、维度,人们开始使用它并且他们喜欢它。

“你知道什么会很棒吗?如果我们可以将我们的 Blats 与我们已经拥有的 Foos 和 Bars 相关联”现在您需要将您的简单应用程序与来自完全不相关的应用程序的数据集成。您应用中的客户 ID 10 是 CRM 应用中的客户 ID {ECA67697-1200-49E2-BF00-7A13A549F57D}。怎么办?您将需要向您的用户展示客户的单一 View ,否则他们将不会使用该工具。

也许您用铁腕统治并说不,您不能在多维数据集中拥有该数据,而您的用户也同意。

“有了 child 后人们的购买习惯会改变吗?”我们无法回答这个问题,因为我们的应用程序只存储客户的当前版本。一旦他们有了 child ,他们就会一直有 child ,所以你无法清楚地识别事件前后的模式。

“我们去年的销售额如何?”我们无法回答这个问题,因为我们只在应用程序中保留 12 周的滚动数据以使其易于管理。

“立方体中的数据已过时,您可以刷新它吗?”哎呀,现在是中午。 SSAS 处理需要表锁,并且在完成处理之前基本上会关闭我们的应用程序。

我需要继续处理这些场景吗?

总结

数据仓库充当各种系统的集成点。它具有一致的维度(每个人对事物是什么都有一个共同的定义)。仓库中的数据可能会超过源系统中数据的生命周期。业务需求可能会驱动源应用程序不支持的数据跟踪。 DW 中的数据支持业务事件,而您的 OLTP 系统支持自身。

SSIS 只是一个移动数据的工具。那里有很多,有些更好,有些更糟。

所以不,一般来说,避免创建 DW 并基于您的 OLTP 数据库构建您的多维数据集并不是更好。

关于ssis - 为什么我们需要SSIS和数据仓库的星型模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24609062/

相关文章:

powerbi - Power BI - 查找前后的匹配百分比(赏金 100)假设分析

visual-studio-2015 - 带有虚拟子文件夹的 VS 2015 SSIS 项目

file - 如何使用 SSIS 包仅遍历目标中不存在的文件?

sql - 如何设置 SSIS 以从 Postgres 数据库中提取数据

database - SQL 服务器 : What does NOUNLOAD and STATS mean in sql command line when restoring a DB?

asp.net-mvc - 在 ASP.NET MVC 中动态检索 Analysis Services (SSAS) 多维数据集的最佳选择

sql-server - 将表从 SQL Server 传输到 Azure SQL 的最佳方式?

SQL - 聚合函数中的子查询

sql-server - 使用生成脚本从sql server 2012导出日期数据

ssas - 如果当前成员有子级,则展开用户层次结构 - MDX