Sql server 2008 在MS SSIS中加载事实表的最佳实践
我不熟悉数据仓库中的SSIS。我正在使用Microsoft business intelligence studio 我有5个维度,每个维度都有一些PK。 我有一个事实表,其中包含所有维度的PK,这意味着它们存在外键关系(如星型模式) 现在加载事实表的最佳实践是什么 我所做的是在5个维度之间编写一个交叉连接查询,结果集被转储到事实表中。但我认为这不是一个好的做法 我对SSIS女士完全陌生。因此,请详细描述建议Sql server 2008 在MS SSIS中加载事实表的最佳实践,sql-server-2008,ssis,data-warehouse,fact,Sql Server 2008,Ssis,Data Warehouse,Fact,我不熟悉数据仓库中的SSIS。我正在使用Microsoft business intelligence studio 我有5个维度,每个维度都有一些PK。 我有一个事实表,其中包含所有维度的PK,这意味着它们存在外键关系(如星型模式) 现在加载事实表的最佳实践是什么 我所做的是在5个维度之间编写一个交叉连接查询,结果集被转储到事实表中。但我认为这不是一个好的做法 我对SSIS女士完全陌生。因此,请详细描述建议 谢谢请看一看示例。另外,获取一个并阅读关于加载事实表的内容——本主题涵盖了几个章节。请
谢谢请看一看示例。另外,获取一个并阅读关于加载事实表的内容——本主题涵盖了几个章节。请查看示例。另外,获取一个并阅读加载事实表的内容——该主题涵盖了几个章节。我将回应@Damir关于Project Real和Kimball的观点。我是两者的粉丝 我想给你一些想法,回答你的问题
- 一次性加载日期维度和其他“静态”维度
- 将记录加载到所有维度中,以处理空值和未知值
- 加载你的尺寸。对于您的标注,请逐列确定您希望作为类型1或类型2更改标注列的内容。要谨慎,除非有充分的理由,否则大多选择1型
- [已编辑]通过使用业务键将进入事实表的暂存事务数据连接到新维度表来加载事实表,从而在运行时查找维度的外键。e、 g.销售交易记录将有一个门店编号(业务密钥),您希望在DimStore中查找该编号(已在上一步中加载),该编号将为您提供DimStore的kStore,然后您将在FactSalesTransaction中记录该交易记录的kStore
- 数据归档。您将数据保持在线多长时间?/何时删除
- 表分区。如果你有很大的事实表,你应该考虑在日期或主题区域的基础上进行分区。Date非常好,因为在标准加载过程中,当数据太旧时,您可以做一些有趣的事情来删除旧分区
- 将DWH作为雪花模式,然后使用一组视图将雪花展平为星形。这在将OLAP多维数据集放在SQL DWH之上时特别有用,因为它简化了多维数据集的设计
- 您将如何管理不同的环境(Dev/Test/etc/Prod)?必须使用一种SQL Server配置样式
- 使用所需的所有变量和所需的配置/连接字符串构建一个模板SSIS包。现在这样做可以节省大量的时间,而不必在发现新事物时重新编写包。最初做一些琐碎的原型来证明你的方法李>
- 一次性加载日期维度和其他“静态”维度
- 将记录加载到所有维度中,以处理空值和未知值
- 加载你的尺寸。对于您的标注,请逐列确定您希望作为类型1或类型2更改标注列的内容。要谨慎,除非有充分的理由,否则大多选择1型
- [已编辑]通过使用业务键将进入事实表的暂存事务数据连接到新维度表来加载事实表,从而在运行时查找维度的外键。e、 g.销售交易记录将有一个门店编号(业务密钥),您希望在DimStore中查找该编号(已在上一步中加载),该编号将为您提供DimStore的kStore,然后您将在FactSalesTransaction中记录该交易记录的kStore
- 数据归档。您将数据保持在线多长时间?/何时删除
- 表分区。如果你有很大的事实表,你应该考虑在日期或主题区域的基础上进行分区。Date非常好,因为在标准加载过程中,当数据太旧时,您可以做一些有趣的事情来删除旧分区
- 将DWH作为雪花模式,然后使用一组视图将雪花展平为星形。这在将OLAP多维数据集放在SQL DWH之上时特别有用,因为它简化了多维数据集的设计
- 您将如何管理不同的环境(Dev/Test/etc/Prod)?必须使用一种SQL Server配置样式
- 使用所需的所有变量和所需的配置/连接字符串构建一个模板SSIS包。现在这样做可以节省大量的时间,而不必在发现新事物时重新编写包。最初做一些琐碎的原型来证明你的方法李>