关于非工具版的ETL元数据驱动的讨论
最近公司在做一个ODS的项目,同时完成元数据管理功能,如果是ETL工具的话,元数据自然是融入到ETL中来的,但是,如果没有ETL工具,我们的ETL,比如存储过程,是要跟元数据管理系统紧密耦合的吗? 所有的存储过程都通过元数据驱动,并通过元数据的映射配置屏蔽数据内部的变化,这样是不是有点太复杂了,的确元数据也很重要,很强大,但是对于大多数的ETL,每次都要通过存储过程访问元数据配置,然后动态生成ETL脚本,效率且不说,这样是不是也太复杂,跟元数据系统是紧密耦合啊,而且这个元数据系统是比较严格的3NF设计,访问起来特别费劲,经常为了查一个属性要关联很多表才能实现,这样基于元数据驱动的ETL真的可行吗?有没有这样做的?我觉得元数据只要能完全反应数据的本质,数据的关系,让ETL透明,让数据库对用户透明,就行了,真是ETL的脚本不用这么依赖元数据系统吗?做成通用的配置化的ETL,固然比较理想,但是真正实施出来的产品有那么好用吗?元数据管理能支持多样化且复杂的ETL处理吗?你们说呢,想听听大家的意见.
[解决办法]
1. 文档中注明目标与源的对应关系
2. ETL尽量参数化,一定不要用硬编码
[解决办法]