在雪花中。是否有任何最佳做法来擦除/清除旧数据,即历史上在大型事实表的边缘运行?毕竟,这就是您在常规RDBMS(如SQL Server)中传统上使用的分区。在SQL Server中截断分区需要毫秒。
最好的问候 扬
答案 0 :(得分:2)
您可以以与SQL Server中的分区类似的方式在Snowflake上使用群集。它们并不完全相同,但是如果您要按日期删除旧数据,则可以按该日期进行聚类。这样,当您删除较旧的微分区时,Snowflake不需要创建新的微分区或在现有的微分区中进行搜索以查找要删除的记录...它只是删除需要删除的文件,这是元数据操作,很快。
也就是说,如果您要按相同的日期字段顺序加载数据,则表可能已经很好地聚集在该日期字段上。如果事实非常大,那么如果尚未自然地在该日期字段上进行聚类,则可能会花费一些时间,但是这样做有很多好处,包括您在本文中询问的用例。