如何元数据同步

59 views
Skip to first unread message

刘庆

unread,
Dec 29, 2005, 1:31:01 AM12/29/05
to tt...@googlegroups.com
西宁前两天提到了元数据的同步的话题,我也遇到这样的问题。
 
大家都说数据仓库不是一个产品,是解决方案或叉叉东西,反正就不是个很稳定的东西拉。也就意味着系统要经常变化,于是元数据也在人工操作的情况下变得面目全非。
 
而元数据的存在一个重要目的就是自动化地管理数据,因此对信息一致性要求特别高。很难想象,一条元数据指明,某某分区有一个表,但实际上此表被手工改名,那么依赖这个元数据执行的清空、装载操作还能继续吗?对这一点,我原来并没有过多考虑,因为现在面临的很多情况还是根本没有元数据,因此大多只是考虑如何将元数据建立起来。譬如前段时间将存储过程的信息记录下来,包括源表、目标、过程名,从而形成一个数据流元数据。这是放在excel中的,并且建了同样结构的表,将数据导入。
 
但后来发现这步操作是白费,因为描述存储过程的信息还在不断增加,而没有一个方面的界面维护这些信息,都是在excel中维护,同步到数据库中比较费事,最后索性没有同步。那些设计好的元数据表至今空空如也,或者是第一次的数据,和目前的实际情况已经大不同。
 
在目前这个阶段,不可避免的在项目实施过程中有很多手工操作,例如修改表结构、字段类型,或是采用无法自动获取元数据的技术,例如在表设计中为了优化,按月份、地市分表,或是在存储过程中使用动态sql等。一旦设计变得动态了,已有系统(如DBMS)就很难准确记录这些元数据,更别说它会缺少一些元数据的定义(例如dbms通常并不维护表的数据粒度,日增量的规模等信息)。
 
可以设想一种解决方案。将元数据区分成"用户扩展"和"系统固有"两类,后者是现有BI工具已经维护了的,例如表结构、关系、星型模式结构等;而前者是这些工具没有或者不全的,例如质量度量、字段的约束等。设想一个管理界面,可以执行自动同步操作,交换系统固有类元数据,这部分是禁止用户手工修改的。基于它们,用户可以作扩展,或者定义新的元数据结构,这部分将完全受用户自己控制,人工操作。不过只要是人工操作,总是避免不了元数据不一致的情况发生,只能尽量减少"用户扩展"元数据,让他变成"系统固有"类,自动同步。
 
当然,还可以增加一种检查机制,用定义的元数据去匹配实际的数据信息,看是否一致,称之为"一致性分析"。这相当于一种补充报警措施吧。
 

btjy

unread,
Dec 29, 2005, 1:39:02 AM12/29/05
to ttnn BI 观点(172成员)
先提一个假设,即企业系统的元数据已经建立完成!

那么元数据同步,应该也要作为一个系统来开发,该系统的成果提交给各个系统中来使用。就可以解决元数据同步的问题!如果,在某个系统内部来解决元数据同步问题,那么不得不由专门的角色做这事。

应该在国外已经有了类似的产品,包括理论。我曾经看到过这些东西,在某篇几百页的文档资料中!书的名字记不起来了,可惜啊。

jiang...@etang.com

unread,
Dec 29, 2005, 1:53:21 AM12/29/05
to ttnn BI 观点(172成员)
元数据同步..当然有很多方法..

最近我在看informatica
SuperGlue元数据管理这块,就说说其中是如何实现的.

大家知道Informatica 有个powercenter 用来作数据的ETL...

而SuperGlue 是通过PowerCenter 将元数据拿到SuperGlue metadata
warehouse..
因此,只要调度PowerCenter中的作业,即可实现,元数据同步及匹配.
SuperGlue 有自己的调度设置.

当然,用动态或参数生成的过程,是很难追溯其元头的..
当然,可以在对象上,加一些描述..作为说明元数据..

刘庆

unread,
Dec 29, 2005, 1:57:11 AM12/29/05
to tt...@googlegroups.com
是CWM吧,这就是一个用于元数据交换的标准。它的前提确实是要企业的元数据已经建成。如果是那样,按照我上文的说法,元数据都将是"系统固有"元数据,显然现在根本达不到。
 
因此,提出了"用户扩展"元数据,这部分元数据在项目中没有已有工具可以支持,例如没有数据剖析工具,但又得做,于是可以从现有数据库中扩充数据结构元数据。给原来有外键约束语义,却无物理外键的字段标记上外键信息,给字段标记数值范围约束信息等。
 
诸如数据流元数据,分布在ETL工具、存储过程、OLAP工具中,通常也不完全,特别是对动态的代码设计是不会维护其中的数据依赖信息的。
 
还有一些元数据,不光是补充,还得重新创建,例如质量度量,如果没有质量稽核工具的话,这部分几乎都要人工维护。因此,在目前,还有很多元数据根本就是很多工具无法支持的,我对于目前急于建立一个元数据交换的标准并不太认同,因为现在对他们更重要的是能明白"干什么用到元数据",而不是有这些"元数据能够干什么"。

 
On 12/29/05, btjy <btj...@hotmail.com> wrote:
先提一个假设,即企业系统的元数据已经建立完成!

。。。应该在国外已经有了类似的产品,包括理论。我曾经看到过这些东西,在某篇几百页的文档资料中!书的名字记不起来了,可惜啊。

jiang...@etang.com

unread,
Dec 29, 2005, 2:13:46 AM12/29/05
to ttnn BI 观点(172成员)
所以,我上前面的帖子中,要讨论元数据实施的必要性.

如果单独以个人的想法看这个问题,但有局限性了..有时都说服不了自己..

hawk

unread,
Jan 7, 2006, 1:34:01 AM1/7/06
to tt...@googlegroups.com
说到元数据同步的问题,及核心是元数据管理的架构方式。目前元数据管理的方式有三种;集中式、分布式、混合式。
集中式是有一个独立的Meta Data Repository,这种方式虽然可以扩展自己的元模型,但是实时性就不能实现了,所以就存在同步的问题。
分布式是没有一个独立的Meta Data Repository,这种方式是连接到要管理的系统上,虽然解决了实时性问题,但不能扩展自己的元模型。
混合式恰恰解决了前两种的不足,既有自己独立的Meta Data Repository,又连接到要管理的系统上,实时的反映各系统中元数据的最新情况。
但要实现混合式的管理架构,那么就要求元数据管理工具必须是开放的能够支持主流的工具。除了现在烂斛的CWM(其核心技术就三样:UML,MOF,XMI),最实际的就是能连接各种DB,OLAP,ETL,ER工具。现在有许多工具都号称自己有元数据管理的能力,可是只能管理自己公司的产品。而对于DW/BI这种体系,要管理的N多工具,否则没有任何意义。同时,也能把EXCLE和其他它各式的文档导入到这个工具里来管理(这部分管理是不具备实时性的,最常用的就是指标的管理,指标在文档中定义变了,只有再次导入最新的),而对于那些能连接上的工具,则具有良好的实时性。
做到以上的功能,也只能是说看一看和流览一下元数据,至于管理的成分有多少,本人认为目前的工具不能分挥多大的作用。最大的用处无非就是:IMPACT ANALYSIS,lINER ANALYSIS。
而实现以上两种功能,其中各种工具之间的元数据关系,还必须手工的在元数据工具中来定义。现在的元数据工具,只能从一个工具中取出元数据的关系,而不能从N个工具中取出的元数据,并能在不同工具之间的元数据中自动定义关系。
总之,不要对元数据寄于太多希望,他能做的就那么一点点,但从实现的角度能做到这一点,也非常不易了。
其实我本人认为,要是元数据能为数据质量做到一点贡献,那是最有应用前景的,可是现实很难。
Reply all
Reply to author
Forward
0 new messages