什么是Redshift的最佳加载路径?

时间:2016-06-05 21:40:55

标签: amazon-s3 copy amazon-redshift vacuum

在这个博客中 https://blogs.aws.amazon.com/bigdata/post/Tx2ANLN1PGELDJU/Best-Practices-for-Micro-Batch-Loading-on-Amazon-Redshift

我没有看到加载流方法的主要观点是什么。储蓄来自哪里?我理解关闭分析,分类,真空,使用固定压缩等等。但为什么单独的轨道或空临时表?没有多个轨道,您可以完成所有这些操作。 这句话中有一些含义吗? “COPY的最佳加载路径” 究竟什么是最佳的? S3前缀还是其他什么?无论什么是最优的,如果将目录加载到最终模式中,为什么它不是最佳的?我们是否认为读取s3文件是瓶颈?

有人可以提供一些见解吗?

1 个答案:

答案 0 :(得分:1)

如果你只是追加直接到最终表格,那么它们可能是不必要的。这些轨道用于避免在下游主动查询的表上进行加载工作(插入/更新/删除)的锁争用。

例如,当另一个进程正在使用该表时,事务无法完成,例如正在加载表时正在运行长时间运行的数据仓库转换。使用多个轨道允许进一步加载并且并行处理。

您可能还希望使用临时表来利用最近添加的ALTER APPEND功能。这允许您对单独的表执行排序加载,并立即 将这些行附加到完全排序状态的最终表中。如果直接加载到最终,行将被标记为未排序,直到表格为VACUUM