图数据库的优势及选型策略
大数据时代,包括文本、图片、视音频等都是未经过处理的非结构化数据。为更好地挖掘非结构化数据中有价值的成分,SCOPA对结构化和非结构化数据进行了统一的元数据描述,也称为视图,视图是链接其各个模块的桥梁。SCOPA在结构化数据和非结构化数据上使用了不同的分析处理方法:在关系挖掘使用的技术上,结构化数据主要运用了基于规则和机器学习的方法,非结构化数据运用了大量的自然语言处理方面的算法,而基于图的算法被同时应用到治理后的结构化与非结构化数据。
目前,基于图的数据模型比较常用的有两种,一种是RDF(Resource Description Framework),一种是Property Graph属性图。RDF是W3C标准,目前用作研究较多,市场表现比较平淡,优势在于数据交换。而属性图是从工程实践中总结出来的,得到了市场的认可,越来越多的企业和项目采用基于属性图的图数据库产品。
因为SCOPA是用图的形式来存储点边关系,因此会采用分布式图数据库。图数据库在多层关系挖掘分析方面比传统关系型数据库有着明显的优势。传统关系型数据库是按照表的结构来保存数据的,在查找数据间关系时往往需要对表之间做join操作。当需要join多个表,且每个表的数据量都很大时,这种关系查找就会变得很吃力。而图数据库更加符合现实世界对数据的描述。特别是处理关系数据,进行关系推演等的时候就有着天生的优势。例如,在查询命令执行上,一旦查询度数过多,关系型数据库可能就没法满足查询需求。而图数据库因为采取了邻接表的方式存储,随着查询深度的增加,它的代价是线性的,所以图数据库天生就适合这类的关系推演。
SCOPA在进行图数据库选型时,主要考虑的是其与大数据平台的整合度、功能集与易用程度、性能等方面的因素。基于此,SCOPA使用了分布式图数据库Apache Titan, Apache Titan在实现Apache Tinkerpop图协议的接口,使用Gremlin查询语言上具有很大优势,为存储和处理大规模图做了大量优化。
此外,源码级别的掌控能力也是图数据库选型时需重要考虑的因素。为使图数据库的代码和操作流程更接近于自然语言机制,SCOPA研发团队又在Titan的基础上进行了多处优化,包括处理并发读取实体,超级节点的优化等。