本章節介紹圖計算服務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級資料倉儲解決方案,提供了完善的資料匯入方案以及多種經典的分散式運算模型,能夠快速地解決海量資料計算問題。