对于早期的文件系统来说,元数据是对一条记录中各个字段的属性进行描述。对于原来的数据库系统来说,元数据是通过数据字典来描述数据库中数据的细节。对于数据仓库系统来说,元数据用于描述数据仓库中数据的结构和建立、使用方法。因此,元数据是描述数据仓库中的数据是如何存放的、数据结构是什么、数据与业务之间的关系是怎么样的、数据与数据之间的关系如何、数据的安全需求和存储需求等。
所谓原来的数据库系统,例如操作型数据库(或业务数据库、企业经营数据库),是用于存放企业动态变化数据的,反映了当前状态。面向较多用户,操作频繁,常用的是插入、更新、删除等简单操作。数据仓库系统则是用于存放企业静态数据的,反映了企业数据历史的详细变化。面向较少用户,偶尔需要进行分析查询,主要是对历史数据进行分析,而不是更新。数据仓库中的数据来自操作型数据库,通常是根据所需要的主题,从不同的操作型数据库中,通过抽取、转换、集成到数据仓库中。因此,需要遵从一定的模式获得并存储到数据仓库中。这些数据源与数据仓库中数据的对应关系及转换规则都要在元数据中体现出来,所以元数据一经建立,就是可共享的。
元数据主要有两方面的用途。一是元数据能提供基于用户的信息,如记录数据项的业务描述信息的元数据,能帮助用户使用数据。二是元数据能支持系统对数据的管理和维护,例如关于数据项存储方法的元数据能支持系统以最有效的方式访问数据。
元数据管理主要有两种方式:集中管理和分布管理。集中管理是指在系统中有一个节点专门管理元数据,物理的元数据也都存储在该节点,所有应用节点都要从该节点请求元数据。优点是实现简单、一致性维护简单。缺点是管理节点一旦出现故障,整个系统瘫痪,对元数据操作频繁时会产生瓶颈。分布管理是指将元数据存放在系统的任意节点且能动态迁移。元数据的管理也分布到各个不同的节点上。优点是避免了集中管理时管理节点一旦出现故障,整个系统瘫痪的问题,不因对元数据操作频繁而出现瓶颈。缺点是实现复杂、一致性维护复杂。