三、新型存储架构的探索

说到元数据存储架构,有人会很自认想到有分布存储分散管理,分布式存储集中管理、统一存储集中管理之分。这种属于宏观的存储架构,我们不展开讨论。这里是在统一存储集中管理的假设下来讨论元数据微观的存储架构。

我们把元数据管理系统的表划分为三类:

1. 一类是元数据系统管理表例如元模型管理表之类的。这类数据(例如元元数据)量不大,但对元数据管理很重要。

2. 一类是元数据的应用表例如元数据关联关系等,元数据中的血缘分析、影响分析和数据地图的数据就是来源于这里。有点类似与人的社交网络分析。这个需要对海量的元数据进行分析,并将关系存储起来。

3. 一类元数据的事实表;即通过元数据采集适配器采集到来的原始的元数据。这类元数据可读性很差,是不能拿给用户直接来使用的。其显著的特点是数据量大,为了保持其时效性,需要按照一定频率进行更新。

对元数据管理系统的三类表的特点有了了解后,我们在来分析要使用那种存储架构

显然第一类数据,要用关系型数据库比较合适,数据量不大,单一致性的要求比较强。例如开源的Mysql,如果在配合redis内存数据库,那就更好了。

第二类数据,关联关系的存储,比较推荐图数据库,例如Neo4j。之前使用过关系型数据库对这类数据进行存储。在关系比较复杂的情况下,检索的速度比较慢。

因为这是一个类似与网状的关系图。要检索的数据呈几何倍数的增长。

第三类数据,元数据事实表,采用非关系型数据库存储能够较好满足其特点。推荐使用HBase作为元数据存储层。