Man*_*ham 5 cloud sql-update snowflake-cloud-data-platform
据我所知,底层文件(列格式)是不可变的。我的问题是,如果文件是不可变的,那么更新是如何执行的。Snowflake 是否维护同一行的不同版本,并根据 key 返回最新版本?或者它将数据插入到幕后的新文件中并删除旧文件?如果时间旅行设置为 90 天,因为 Snowflake 需要维护同一行的不同版本,在这些场景(查询当前数据)中性能如何受到影响。但是由于 Snowflake 不尊重密钥,所以即使是不同的版本也能被检测到。感谢有关详细内部结构的任何见解(文档/视频)。
这是一个复杂的问题,但基本思想如下(相当简化):
因此,Snowflake 不需要记录键,因为每条记录在给定时间仅存储在一个活动文件中。
执行更新对查询的影响微乎其微,唯一可见的影响可能是需要从 S3 获取文件并缓存在仓库中。
有关更多信息,我建议您前往 Snowflake 论坛并在那里询问。
| 归档时间: |
|
| 查看次数: |
1433 次 |
| 最近记录: |