本章节介绍图计算服务GraphCompute使用过程中遇到的常用名词的基本概念和简要描述。
实例
独享型实例:客户创建的一个图计算服务GraphCompute实例,每个实例都是保证双副本,采用proxy + searcher的集群架构服务。在独享实例下可由客户自行创建多个图模型。
iGraph引擎
iGraph引擎:阿里巴巴自主研发的图引擎iGraph。该引擎提供高性能、低延迟的查询计算能力,是Graph Compute一站式图计算平台的引擎内核。
Proxy/Searcher
proxy:iGraph引擎的计算层,负责接受用户请求并处理成具体的执行计划,然后转发给下层searcher,同时支持合并、分组等复杂的算子。
searcher:iGraph引擎的存储层,负责加载和管理各种索引并服务上层proxy转发的查询请求,同时支持排序、打散、截断等简单算子。
数据表
支持KV、KKV、倒排三种表类型来支持属性图数据模型;
该数据表包括源数据、自定义字段属性、索引相关信息的schema信息,用于后续GraphCompute系统构建索引的基本信息。
通过离线系统进行索引构建,从而产生对应表类型的索引结构(KV索引/KKV索引/倒排索引),最终这些索引内容将加载到引擎服务中,可通过API/SDK接口访问的方式进行查询。
属性图
属性图(如下图1所示)具有如下特征:
属性图由不同的节点和边组成
用户节点U1/U2/U3/U4和商品节点I1/I2/I3
好友关系friend1/friend2/friend3/friend4,购买关系buy1/buy2/buy3/buy4/buy5
属性图中所有边都是有向边
属性图中的节点和边都有属性
用户节点有属性name、age、gender
商品节点有属性title、price、category
好友关系有属性time、score
购买关系有属性buytime
节点和边都有类型,相同类型的节点或边的属性是同构的
Key-Value表
简称KV表(如下图2所示),通常用来存储属性图中的节点实例(比如图1中的用户节点、商品节点)。其中Key存储节点ID(比如用户节点ID,U1),Value存储节点属性(比如用户节点属性name、age、gender)。
PKey-SKey-Value表
简称KKV表(如下图3所示),通常用来存储属性图中的关系实例(如图1中的好友关系),其中PKey(primary key)存储一条边的源节点ID(上图中节点U1),SKey(secondary key)存储一条边的目标节点ID(比如上图中节点U2/U3/U4),Value用来存放关系的属性(比如好友关系的time和score属性)。
倒排表
也可称为Index表,倒排表中定义了索引存储从单词到DocID的映射关系。倒排表主要定义源数据以及数据类型,包括倒排配置schema字段。
什么是倒排索引? 倒排索引也常被称为反向索引、置入档案或反向档案,是一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。它是文档检索系统中最常用的数据结构。
倒排索引可以为我们做什么? 通过倒排索引,可以快速定位单词所在的文档列表以及该词在文档中的位置,词频等信息。供信息分析使用。
Gremlin语法
基于C++语言,实现开源Gremlin算子,并提供查询语法。
其他相关服务
MaxCompute:大数据计算服务MaxCompute(原名ODPS)是一种快速、完全托管的TB/PB级数据仓库解决方案,提供了完善的数据导入方案以及多种经典的分布式计算模型,能够快速地解决海量数据计算问题。