目前,我使用的架构需要一些数据源,其中一个是本地暂存的,因为它托管在云端。其他的都是本地托管的,所以我执行的ETL直接从源代码获取它。我并没有真正看到为其他来源创造舞台的重点。
1)将本地托管的资源复制到本地阶段是否有明显的好处?
2)将舞台托管在与仓库相同的机器或同一台机器上是否更好?
3)如果我想减少ETL时间,有什么好办法呢?我正在考虑对数据进行分区,以便比“归档数据”更频繁地提取重要信息。这是一个好方法,我的替代方案是什么?
答案 0 :(得分:0)
@omgitsdev我想澄清一些概念。
您的文件可以托管在任何地方 - 本地或云端 这些文件将加载到临时表中,以便加载到数据仓库中。此过程称为分段。
从概念上讲,您可以将您的临时区域放在任何地方;但是为了减少连接问题,我们在同一个数据库中创建一个单独的模式并进行分级。这将确保您的性能不会受到连接问题的阻碍。
您通常按照保存日期的列对事实表进行分区;这更容易,最新的分区也包含最新的数据;
根据音量,您可以将其设为月度,季度或年度分区;在某些情况下,我们还会创建每日或每小时的分区。
通过确保登台表位于与数据仓库表不同的磁盘中,也可以加快您的性能。