如果我问的是一个不恰当的问题,但我多年来一直听到“元数据驱动”这个短语,但一直无法理解。
据我了解,元数据是关于数据的数据(信息)!我或多或少地理解这一点!
但是当我听到“元数据驱动”(特别是在 ETL 世界中)时,我无法弄清楚它到底是什么意思。
我对一个 ETL 工具 SSIS 有很好的经验,所以在它的上下文中的例子很容易被取消。
如果我问的是一个不恰当的问题,但我多年来一直听到“元数据驱动”这个短语,但一直无法理解。
据我了解,元数据是关于数据的数据(信息)!我或多或少地理解这一点!
但是当我听到“元数据驱动”(特别是在 ETL 世界中)时,我无法弄清楚它到底是什么意思。
我对一个 ETL 工具 SSIS 有很好的经验,所以在它的上下文中的例子很容易被取消。
假设您将 5 行从表 A 移动到表 B,并且您希望确保只有符合特定条件的行受到影响。在这种情况下,您的流程依赖于数据,因此是数据驱动设计的一个示例。
现在,让我们假设您有一些“相似”的源和/或目标表模式,它们在您希望处理它们的方式上相似但在它们的确切实现上不同(表名、列名、列数据类型,甚至数据库类型:Oracle、MS SQL、Sybase,甚至是平面文件或 XML)所以您想要在 ETL 的实际运行期间为特定 ETL“插入”源和目标、数据库连接等.
您需要将“逻辑”ETL 过程与“物理”实现明确分离。换句话说,您希望以通用逻辑单元/术语描述 ETL,在其运行期间由实际物理单元/术语替换。
然后,您得到的是对 ETL 过程的描述,该过程对于任何情况都足够通用,并且可以根据这些源和目标的元数据为特定的源/目标系统运行适当的自定义 -元数据驱动的设计,它允许您拥有 ETL 过程的通用“逻辑”表示,在运行时成为“物理实例化”。