Basic concepts

Updated at:

This topic explains common terms and concepts for Graph Compute.

Instance

A dedicated instance is a Graph Compute instance created for a single customer. Each instance provides two replicas and uses a cluster architecture with a proxy and a searcher. Within a dedicated instance, you can create multiple graph models.

iGraph engine

The iGraph engine is a proprietary graph engine developed by Alibaba. It provides high-performance, low-latency queries and is the core engine of the Graph Compute platform.

Proxy and searcher

Proxy: The proxy is the computing layer of the iGraph engine. It receives user requests, processes them into execution plans, and forwards them to the searcher layer. The proxy also supports complex operators, such as merge and group.

Searcher: The searcher is the storage layer of the iGraph engine. It loads and manages indexes and serves queries forwarded from the proxy. The searcher also supports simple operators, such as sort, discretize, and truncate.

Data tables

Graph Compute supports three table types for the property graph data model: KV, KKV, and inverted tables.

A data table contains schema information, such as source data, custom field properties, and index details. Graph Compute uses this information to build indexes.

Indexes are built by an offline system. This process creates an index schema for the corresponding table type, such as a KV index, KKV index, or inverted index. The index content is then loaded into the engine. You can query the data through an API or software development kit (SDK).

Property graph

A property graph, as shown in Figure 1, has the following features:

  • A property graph consists of different nodes and edges.

    • User nodes U1, U2, U3, and U4, and item nodes I1, I2, and I3.

    • Friendship edges friend1, friend2, friend3, and friend4, and purchase edges buy1, buy2, buy3, buy4, and buy5.

  • All edges in a property graph are directed.

  • Nodes and edges in a property graph have properties.

    • User nodes have the properties name, age, and gender.

    • Item nodes have the properties title, price, and category.

    • Friendship edges have the properties time and score.

    • Purchase edges have the property buytime.

  • Nodes and edges have types. Nodes or edges of the same type have the same set of properties.

1609985433594-a661d00c-2fb5-40ad-afda-1c8cbd14c55e

Key-value table

A key-value (KV) table, as shown in Figure 2, stores node instances from a property graph, such as the user and item nodes in Figure 1. The key stores the node ID, such as the user ID U1. The value stores the node properties, such as name, age, and gender.

Screen_Shot_2015-12-14_at_2

PKey-SKey-Value table

A PKey-SKey-Value (KKV) table, as shown in Figure 3, stores edge instances from a property graph, such as the friendship edges in Figure 1. The primary key (PKey) stores the source node ID of an edge, such as node U1. The secondary key (SKey) stores the target node ID, such as nodes U2, U3, and U4. The value stores the edge properties, such as the time and score of a friendship.

Screen_Shot_2015-12-14_at_2

Inverted table

An inverted table, also called an index table, defines the mapping from words to document IDs (DocIDs). It also defines the source data, data types, and schema fields for the inverted index configuration.

  • An inverted index, also known as a reverse index, is an indexing method used for full text search. It stores a mapping from a word to its location in a document or a set of documents. This is the most common data structure in document retrieval systems.

  • An inverted index lets you quickly find documents that contain a specific word. It also provides the word's position and frequency within the documents. This information can be used for data analysis.

Gremlin syntax

Written in C++, it implements open-source Gremlin operators and provides a query syntax.

For more information about the syntax, see Feature overview.

When using the syntax, note the differences between iGraph Gremlin syntax and open source Gremlin.

Other related services

MaxCompute: MaxCompute, formerly known as Open Data Processing Service (ODPS), is a fast and fully managed data warehouse solution for terabyte- or petabyte-scale data. It provides comprehensive data import solutions and various classic distributed computing models to quickly process massive amounts of data.