ccidnet????

出版日期:1999-01-11 总期号:351 本年期号:02

本期导读
信息综述
产品技术
行业应用
网络通信
市场研究
归 “元”
以元数据为核心的数据仓库解决方案
吴琛

  随着数据仓库技术的发展,元数据(meta data)及其应用越来越受到数据仓库技术专家和解决方案提供商的重视。但是在数据仓库实施过程中,用户对元数据的理解却未必能够跟上技术发展的步伐。那么究竟什么是元数据?它将为数据仓库带来什么好处?缺少元数据的数据仓库将会怎样呢?本文对以上问题提供了详尽答案。

  随着企业的生产经营活动日渐全球化、复杂化,工业生产和商业贸易的决策支持显得日益重要,这带来了数据仓库市场的繁荣。在过去的两年里,整个数据仓库市场热浪袭人,众多的厂商、众多的产品充斥这一领域。随着企业决策支持的前端实现日渐灵活,如何更好地构造数据仓库、如何保证数据仓库中数据的准确性与一致性、如何保证数据仓库可以适应企业经营规模的发展、如何管理数据仓库的过程等等重要问题被摆在数据仓库专家和解决方案提供商的案头。的确,这些问题如果解决不好,用户将要面临数据爆炸环境下的无所适从。但可喜的是,目前看来这种情况不会发生了——因为人们发现了元数据(meta data)技术。


  什么是元数据


  其实任何一个企业系统都不缺乏数据,各种不同的应用系统每天都在产生大量的原始数据。用户面对的问题是如何把重要的事实从其它数据中分离出来。要使数据成为有价值的企业资产,必须掌握数据所有重要的属性,同时数据必须完整精确。如果一个特定的数据元素有多个来源,那么在数据仓库中使用哪个呢?为什么这样选择?影响我们查看数据方式的业务规则是什么?只有当这一切都被了解、掌握、应用后,数据才能够真正地被充分使用,用户才能够开始可靠地从最终引导其制定高质量决策的数据中创建信息。

  所谓元数据就是关于数据的数据。“meta data”中的“meta”在希腊语中的意思是“位于后面”,这说明元数据讨论的是位于数据之后的数据,它说明这些数据的来源、意义、衍生等,它包含了这些数据的时间标志、算法和模式等多种信息。没有随时可用的高质量的元数据,数据源就没有使用价值,它的主要目的是为数据源提供一个完全综合的向导。

  元数据管理使用户得以了解企业有什么信息、信息在什么地方,以及整个企业组织如何利用信息的管理方式。最终用户必须了解在数据仓库里有什么数据、数据来源何处,这样才能深入分析单个元素的定义、业务内容和有效价值以及使用规则。因此元数据为最终用户提供了有效开发利用数据仓库、创建查询程序的支持,并能够正确地说明解释用户所查询到的数据。此外,数据仓库处理十分复杂——涉及到几个数据源,要求制定几个提取和转换数据的方案程序和产生多个时间相关的作业流,因此通过有效的元数据管理使该处理工作文件化和得到交流至关重要。

  使用元数据,数据仓库开发者可以确认哪一个数据结构、数据集市或转换程序需要根据后端系统或数据仓库本身的变化得到调整。


  缺陷带来的危机


  实施数据仓库过程中充满了挑战。建立一个企业级信息系统来满足明天的决策支持但同时又不牺牲今天的竞争优势,对任何企业来说都不容易。一般情况下,不考虑元数据管理的数据仓库有可能遇到以下问题:

  “烟囱式”数据集市:结构系统的束缚可能造成数据仓库中的数据不一致或产生“烟囱式”的数据集市。所谓烟囱式数据集市指各数据集市相互独立构造,并且由于系统结构不兼容和业务规则使用存在差异,不能正常地与企业中其他数据仓库和数据集市进行交换和共享。这可能意味着企业用户仅仅为自己构造了一批部门级的数据库系统,而且是一些历史型的数据库系统,对于企业整体决策的作用不会太大。

  无力适应需求的变化:在今天的业务事务中,唯一不变的是变化。业务条件、企业组织会变,业务规则、业务数据会变,技术也会变。每一个领域的变化都不可避免地会对数据仓库的结构和操作带来冲击。这就意味着数据仓库系统必须有能力对这些变化作出反应以保持它对企业的价值,并平衡潜在的资金和资源投资。而元数据管理缺乏的数据仓库系统在这方面可能会显得势单力孤。

  用户对数据的理解:企业的数据越来越多,即使用户对这些数据进行过重组和优化后放入数据仓库,它们仍有可能由于业务规则的变化和用户的变化导致对数据的误解。例如,用户得到“110597”,它究竟代表什么呢?是金额,或新的帐户数,或日期,还是外币兑换比例?所以,数据仓库系统需要让用户了解数据仓库里有什么数据、数据来源何处以及数据所代表的真正含义和价值,从而有效开发利用数据仓库。


  益处何在


  元数据管理可以为用户建立数据仓库带来很多好处:

  (1)提供结构化、基于中心的数据定义:通过使用基于中心的元数据定义和结构化的元数据组织,可以避免企业中数据和其相关实体及关系的重复定义,从而提供唯一的数据标准。

  (2)减少开发复杂系统的技术层次需求:使用元数据管理系统提供的标准和开放接口,可以非常方便地融合各种不同应用系统间的差异,这些系统可能是传统的vsam、ims系统,也可以是db2、oracle、sybase、informix等关系数据库系统,或foxpro、access、lotus notes等桌面级系统。

  (3)支持最终用户的数据需求:最终用户要想发挥数据仓库的价值,必须对所得到的数据结果有正确的理解。元数据管理通过提供容易使用的最终用户工具来查询所有的数据定义。所以,最终用户可以在实时的环境中自我培训,来深入理解信息系统和真实业务系统之间的联系。

  (4)消除数据的冗余和不一致性:元数据管理可以迅速消除不同业务之间或来自不同应用系统数据结构上的差异。它通过使用反映行业标准的模型,能够给用户提供轻松控制满足特定要求的元模型,并支持元模型的扩展。通过标准的接口,所有元模型可以让信息跨多种平台和产品得以共享。

  (5)连接不同应用程序编程接口(api):元数据管理系统通过标准的api和适应不同工具的扫描器去寻找隐含在应用程序和数据库结构中的业务规则,然后把这些业务规则统一在标准的元数据管理系统之中,为今后的业务扩展和与其他业务系统集成提供基于中心的维护。

  (6)提供影响分析能力:在复杂的开发环境中,一个简单的业务规则改变可能会影响许多应用的重写。元数据管理系统提供影响分析能力,可以完全无限制地进行元数据定义和导航定义。用户可以通过影响分析窗口决定在哪里使用实体或它与什么相关。

  (7)命名标准的灵活性:元数据管理提供详细的数据定义和元数据的映射图,从而减少数据冗余,增加数据共享,使应用程序开发工作效率更高,并降低成本。另外,一个容易维护的标准可以推动企业定义和统一数据定义,从而在多个不同的工具间增加标准定义的重复使用程度。

  (8)强大的查询和报表能力:元数据管理系统为业务提供一个用于命名查询和报表生成程序的载体,最终用户可以天衣无缝地把查询程序传递给其它工具,以便使查询程序生成与执行自动化。并且,业务用户能够从这些业务中创建详细报表,增加他们从元数据管理系统吸收有价值决策支持信息的数量。


  以元数据为核心


  在考虑新的数据仓库建立方法时,必须要想到诸如以下的问题:

  (1)当公司重组、法规变化或业务实践变化带来业务规则变化时,如何维护数据一致?

  (2)当应用程序想改变技术定义时,会发生什么呢?

  (3)每个潜在的变化会影响多少个地方呢?

  这些问题迫使数据仓库建设者的视野扩大,去建立跨多个数据仓库或数据集市的元数据管理系统。在此基础上的数据仓库和数据集市可以方便地进行数据共享,并且数据质量可以在中心得到统一维护。

  目前元数据在数据仓库中的重要性已经成为各方的共识,各家数据仓库解决方案提供商都将元数据作为数据仓库建设的核心,而元数据管理方案也在各种产品中以不同方式得到体现。比如sybase公司通过其control center管理元数据,ibm公司则通过其visual warehouse定义及管理元数据,informix公司的元数据管理方案包含在其warehouse manager系统中,而platinum公司基于元数据的数据仓库解决方案decisionbase集成了platinum repository和相关的产品,为数据仓库的成功建立提供方法和过程上的帮助。

  按照platinum公司的理解,以元数据驱动数据仓库建立的过程,其实就是一个“建立元数据——构造数据仓库/集市”的循环过程。该过程可以细分为以下阶段:

  (1)建立元数据;

  a. 定义元数据的数据源;

  b. 定义元数据的内容和属性;

  c. 定义元数据使用规则;

  d. 声明元数据联合使用的规则;

  (2)构造数据仓库/集市;

  e. 基于元数据进行数据转移、清洗、聚合、分布;

  f. 基于元数据进行前端界面定制。

  随着以上过程的循环往复,以元数据为核心的数据仓库或数据集市就逐步的建立起来,而用户的经营决策将得到更加有力的支持。