问题标签 [sql-data-warehouse]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - dwh oracle中完整表与增量表与增量表之间的区别是什么
我试图理解完整表、增量表和增量表的概念,原则上为了简化(更快的加载过程)每日 ETL 负载是使用增量表的好习惯
满桌
增量表
增量表
我读过一些地方
使用增量负载移动数据可以缩短 ETL 流程的运行时间并降低出现问题时的风险
有人可以帮我理解这个概念吗?
sql - 如何在 ETL 期间用代理键替换主键?
有一个困扰我一段时间的问题。
在 ETL 过程中,如何用代理键替换主键?就像工作流程一样 - 它只是分配新的身份吗?如果是这样,以前的值如何,如何用新创建的业务键替换现有的业务键?
在我看来,一个特定的工作流程如下所示,但我还没有在实践中完成它:
- 删除 DimProduct 和 FactSales 表中的现有 PK_Product 和 FK_Product。
- 将新的 IDENTITY 列设置为 dimProduct。
- 将新列添加到 FactSales,其值来自基于先前业务键联接的新创建的 IDENTITY 列。
- 删除两个表中的旧 ProductKey 列。
- 为新创建的代理 IDENTITY 键添加约束。
- 为未来的值分配表之间的参考。
但请告诉我你在工作中是如何做到这一点的并纠正我,因为我认为我错了。
data-modeling - 数据仓库的维度模型(递归/分层)
我很难将维度表(递归/分层)连接到事实表,因为有需要处理的问题/问题:
- 维度表属于父子关系结构
- 从原始表开始,它一直在增长
ID | 项目名 | parent_id |
---|---|---|
1 | 分类 | 无效的 |
2 | 类别 | 无效的 |
3 | 团体 | 无效的 |
4 | 现代的 | 1 |
5 | 修改的 | 1 |
6 | 工具 | 2 |
7 | 米 | 2 |
8 | 金属 | 3 |
9 | 塑料 | 3 |
10 | 带领 | 8 |
11 | 合金 | 8 |
对这种表进行非规范化是不适合的,因为新的实体类型进来了,它会影响维度结构。
这种类型的最佳方法是什么?请提供一个示例以及连接事实和维度后的查询语句是什么。
database - 更新事实表
我有一个平面文件资源,这些资源被提取到事实和维度中。一些维度也来自数据库资源。转换过程是根据需要设置的(如果有新的/更新的平面文件)。问题是,某些数据引用不存在或基于数据库资源的维度不匹配,因此事实的外键 id 值设置为默认值(如果没有匹配数据,则为零)。
如果所述维度(数据库资源)已更新,我如何对事实执行更新?这种场景的最佳实践/例程是什么?
这是示例插图
事实/维度
如果要更新产品列表(003 西瓜),我应该用新值替换 dim_product row#1 吗?
azure - 更改 Azure 数据仓库中表的索引
我必须在不丢失表数据的情况下更改 Azure 数据仓库的几个表中的索引。我不能简单地删除并重新创建另一个索引,因为这样做时我必须遵循 CICD。我使用 azure DevOps for CICD 和 Visual Studio 来推动更改。我听说这可以通过使用部署前和部署后脚本来实现。但我对此一无所知。有人可以指导我吗?
data-warehouse - 数据仓库 - 我可以在没有物理外键约束的情况下做吗
我正在处理的数据仓库在事实表中有快照数据(按周),并且大约有 5 个 SCD 类型 2 维表。
一旦使用与暗表连接的查询将快照插入事实表中,就不会再次触及事实表中的数据。如果我重新运行加载,进程会删除该周的所有现有数据并重新插入。
代理键存在于所有事实和维度上,但不会通过使用主键或外键约束在物理上强制执行。
我没有强制执行约束,认为每次进行故障排除时停用会很痛苦,这是我之前遇到的情况,我不喜欢进入。
我的方法真的是不好的做法吗?
etl - 作为初始负载测试或增量负载测试的一部分,我们是否验证审计字段?
我们正在对数据仓库中的目标表执行初始负载测试和增量负载测试。那么我们是在初始负载测试中验证审计字段值还是在增量负载测试中验证审计字段值?作为测试的一部分,我们验证审计字段值