如何在雪花云数据库中建模和加载2型维表

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

想知道如何在雪花云数据库中创建和加载类型2(缓慢变化)维表。在大多数情况下,此表的加载涉及每天最多1-50条记录的更新和插入。如果我们遵循传统方法,那么雪花存储将在拍摄时间内显着增长,因为每一次小的更改都会为每个负载创建一个单独的存储。

想知道如何在雪花云数据库中创建和加载类型2(缓慢变化)维表。在大多数情况下,此表的加载涉及记录的更新和插入...

snowflake-cloud-data-platform
2个回答
1
投票

在插入和更新时,Snowflake将创建新的微分区,但是根据您对表的时间旅行设置,将删除陈旧的微分区。因此,我不会对此太担心(空间也很便宜)。如果您担心时间旅行或故障保险会产生额外的费用,则可以使用瞬态表而不是永久表。这些将没有故障保护成本。


1
投票

您可以使用INSERT/UPDATE/DELETE/MERGE语句将数据带入永久表。该表将代表维度的“当前状态”。在此表上,您可以创建一个STREAM对象来跟踪更改,然后设置存储过程以从流中收集数据并将这些更改写入SCD2表。该过程可以由按计划运行的任务调用,也可以由成功更新“当前状态”表的另一个任务调用。最后,SCD2表可以是瞬态的,以避免增加故障安全成本和时间旅行(如Mike在其回答中所述)。

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