如果我问了一个不恰当的问题,但多年来我一直听到“元数据驱动”这个短语,但永远无法理解,请见谅。

根据我的理解,元数据是关于数据的数据(信息)!我或多或少明白这一点!!

但是当我听到“元数据驱动”(特别是在 ETL 世界中)时,我无法弄清楚它到底是什么意思。

我对一个 ETL 工具 SSIS 有很好的经验,所以在它的上下文中的例子很容易解开。

最佳答案

假设您将 5 行从表 A 移动到表 B,并且您想确保只有匹配特定条件的行会受到影响。在这种情况下,您的流程取决于数据,因此是数据驱动设计的一个示例。

现在,让我们假设您有一些“类似”的源和/或目标表模式,它们在处理方式上相似,但在它们的确切实现(表名、列名、列数据类型,甚至数据库类型:Oracle、MS SQL、Sybase,甚至是平面文件或 XML),因此您希望在 ETL 的实际运行期间为特定 ETL“插入”源和目标、数​​据库连接等.

您需要的是将“逻辑”ETL 过程与“物理”实现明确分离。换句话说,您希望在通用逻辑单元/术语中描述 ETL,在其运行期间由实际物理单元/术语替换。

然后你得到的是一个 ETL 过程的描述,该过程对于任何情况都足够通用,并且可以根据这些源和目标的元数据 为特定的源/目标系统 运行适当的定制 - 一个元数据驱动的设计,允许您拥有 ETL 过程的通用“逻辑”表示,在运行时成为“物理实例化”。

关于ssis - "Metadata driven"是什么意思?我一直在 ETL 上下文中听到这个短语,但永远无法弄清楚,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11775690/

10-11 20:50