2011-09-19 86 views
2

我是ETL工具的新手,但是我发现评估他们都使用扁平排模型。即如果你的数据需要一些图对象转换(即检查父字段或其他依赖),这是非常不方便的(它可以通过非规范化等解决映射到更简单的RDB模型)。我想问我是否正确理解它。为什么ETL避免更容易理解面向业务对象的模型。是否有支持Document的ETL或OOP相关的转换?ETL中的分层数据

回答

1

我不知道如果我完全理解这个问题,但一些想法来考虑:

  • 大多数ETL范式来自于数据集成和决策支持的世界里,即从数据仓库的设计与实现。这个世界传统上是关系数据库导向的,大多数数据源都是作为数据库表或CSV文件存在的。这可能是“扁排模型”的原因。
  • 简单数据模型对于高吞吐量性能非常有用,并且在大多数情况下不会过度限制:ETL工具用于大量数据密集型任务。
  • 我所知道的大多数工具都假设源记录是相互独立处理的,它们不会相互影响。然而,情况并非总是如此,因为有些工具可以聚合数据(例如,Informatica聚合器元素) - 数据模型不再那么平坦。
  • 扩展平面模型的其他示例包括检查外键依赖性(“父字段”),使用字典表(甚至Web服务),定义执行任意操作的外部类(“OOP”)等。但是,ETL数据模型始终停留在较低的抽象层次上。