1.2.2 图计算引擎
与关系数据库相同,图数据库的核心也是构建在一个引擎之上的,那就是图计算引擎。图计算引擎是能够组织存储大型图数据集,并且实现了全局图计算算法的一种数据库核心构件。
图1-6展示了一个图计算引擎的工作流程。它包括一个具有联机事务处理过程(On-Line Transaction Processing,OLTP)的数据库记录系统,图计算引擎用于响应用户终端或应用程序运行时发来的查询请求,周期性地从记录系统中进行数据抽取、转换和加载,然后将数据从记录数据系统读入到图计算引擎并进行离线查询和分析,最后将查询、分析的结果返回给用户终端或应用程序。
图1-6 典型图计算引擎工作流程图
目前较为流行的图计算引擎有两种:单机图计算引擎和分布式图计算引擎。
单机图计算引擎的典型代表是Cassovary,Cassovary是一个用Scala编写的基于Java虚拟机的图计算引擎。Twitter使用Cassovary为其提供许多基于图的功能,如谁关注了谁、谁被谁关注。
分布式图计算引擎的典型代表是Pegasus和Giraph。Pegasus是一个运行在Hadoop云计算平台之上的分布式图计算引擎,最初它是为了Google的网页数据处理而设计出来的;Giraph是Apache一个高可扩展性图计算项目,它最初起源于Google开发的Pregel图处理项目。