在ETL中分阶段:最佳实践?

时间:2014-06-02 15:10:13

标签: pentaho etl data-warehouse

目前,我使用的架构需要一些数据源,其中一个是本地暂存的,因为它托管在云端。其他的都是本地托管的,所以我执行的ETL直接从源代码获取它。我并没有真正看到为其他来源创造舞台的重点。

1)将本地托管的资源复制到本地阶段是否有明显的好处?

2)将舞台托管在与仓库相同的机器或同一台机器上是否更好?

3)如果我想减少ETL时间,有什么好办法呢?我正在考虑对数据进行分区,以便比“归档数据”更频繁地提取重要信息。这是一个好方法,我的替代方案是什么?

1 个答案:

答案 0 :(得分:0)

@omgitsdev我想澄清一些概念。

您的文件可以托管在任何地方 - 本地或云端 这些文件将加载到临时表中,以便加载到数据仓库中。此过程称为分段。

从概念上讲,您可以将您的临时区域放在任何地方;但是为了减少连接问题,我们在同一个数据库中创建一个单独的模式并进行分级。这将确保您的性能不会受到连接问题的阻碍。

您通常按照保存日期的列对事实表进行分区;这更容易,最新的分区也包含最新的数据;

根据音量,您可以将其设为月度,季度或年度分区;在某些情况下,我们还会创建每日或每小时的分区。

通过确保登台表位于与数据仓库表不同的磁盘中,也可以加快您的性能。