一直想写点有关“元数据”的内容,写之前,上网搜了搜,发现信息量已经比较多了,于是罢手。
可参见:http://baike.baidu.com/view/107838.htm
如下只是写下一点心得,不断总结。
1 元数据
元数据,既然称为“data about other data”,其作用,就是描述其他数据的。元,初始。初始的描述其他数据以使得数据能被理解、达成一致即可。是谁和谁要达成一致呢?是数据的提供者和使用者达成一致即可。所以,元数据,起着联系人的作用。
2 数据库中元数据的使用
在数据库中,通常都有缓冲区的管理,缓冲区管理,就有很好的元数据和被描述的数据的概念体现,在拙文“深入理解缓冲区(八)”中,讲到了缓冲区的元数据,即“BufferDesc”是真正的buf的元数据。
在数据库中,系统表是DBMS的元数据。用户自定义表的结构,也是DBMS系统理解用户表的元信息。
在数据库中,数据文件和数据文件的描述文件,也有着数据和元数据的关系。
在数据库中,日志文件和日志文件的描述文件,也有着数据和元数据的关系。
元信息在生活中无处不在,细心体会,就会发现很多实例。
如:PG为例,创建表空间:
CREATE TABLESPACE dbspace LOCATION '/data/dbs';
则'/data/dbs'下新建立的文件,是一个数据文件,但是,其元信息,是“dbspace”和“/data/dbs下新建的文件的位置”。
3 元数据和接口
为了更好理解元数据,我们用接口做比。
元数据和接口,在使得提供者和使用者达成一致的方面,有着极为相似之处。
比如,插件模式开发,一个体系,可以规定好相应的接口,开发者按接口开发,则插件就可以被系统识别,这就等同于元数据所起的作用。
这样的方式,实际中,可以上升到一个高度:架构设计。
元数据的概念用于架构,可以使得体系结构灵活,核心功能更为紧凑,外在功能以松耦合的方式加入到一个系统中。