Categories
程式開發

TigerGraph 圖技術部署及實戰落地丨課程回顧


圖數據分析為什麼被 Gartner 列入數據分析十大趨勢?圖分析市場現狀及應用中存在著哪些問題?企業級圖分析平台應該應該包含的特性及其架構定位是什麼?針對以上問題,TigerGraph 圖分析平台基於自身視角,為企業管理者、數據科學家和對圖數據庫感興趣的架構師、開發者解答疑問,分享和介紹圖技術部署及實戰落地的經驗。

本文整理自 3 月 12 日由 TigerGraph 聯合 InfoQ 策劃的在線公開課,TigerGraph 高級解決方案工程師李憓鬆的在線課程演講——《基於關聯數據的深度分析 -TigerGraph 部署及實戰解析》

圖分析在數據分析十大趨勢中的解讀

TigerGraph 圖技術部署及實戰落地丨課程回顧 1

Gartner 在2019 年發布了《數據與分析領域的十大戰略技術趨勢》報告,圖數據分析也位列其中,同樣Gartner 也預測從2019 年到2022 年圖市場將以每年100% 的速度增長,在未來三到五年將給數據分析產業帶來巨大的顛覆。

在上圖中我們可以看到上榜的技術還有可解釋型 AI、持久化內存、增強型分析、自然語言處理等,他們都與圖技術有著緊密的聯繫。圖不僅可以用來描述知識或業務邏輯,並且在訓練 AI 方面,無論是監督學習還是非監督學習,其結果都具有可解釋性。這些都得益於圖豐富的語義表達可以進行自然語言的描述。

另一項技術趨勢是持久化內存,它對於圖來說是一個基礎。圖計算和圖存儲具有非常強的隨機性,一個頂點和另一頂點是否有聯繫,分佈式存儲的位置是非常隨機的,使用內存是一個非常理想的選擇,但內存在掉電後具有數據的易失性,而持久化內存就可以解決這一問題。而增強型分析其核心是一個知識推理引擎,自然語言處理後的結果也可以灌入到圖數據庫中進行進一步的推斷分析,這就是這幾個技術趨勢之間的相互關聯性。

圖在數據分析中的定位

TigerGraph 圖技術部署及實戰落地丨課程回顧 2

圖分析這麼火熱備和受推崇,那麼它在數據分析中的定位是什麼?上圖中的下半部分是我們熟悉的四種數據庫類型,分別是鍵值型、文檔型、關係型和圖數據庫,從左到右呈現一種聯繫越來越豐富、複雜度越來越高的趨勢。在往上一層可以看到左面是傳統的BI,右面是高級分析技術,高級分析技術相較於傳統的BI 來講,它更著眼於基於現在面向未來的一些數據分析,所以我們可以看到,他是在進行數據的建模,數據的模擬對其進行優化和預判。圖作為這些分析領域和數據建模非常理想的基礎技術,來支持實現高級分析這一最終目標。

圖分析在應用場景落地遇到的問題

目前,金融服務、醫療保健、製藥、電信等行業都正在積極擁抱圖分析技術。然而企業在選擇圖分析平台和項目要落地時碰到了很多技術上的障礙,主要表現在四個方面:第一、基礎設施與數據準備不完善,數據尚未達到一定的成熟程度。第二、業務的梳理與探索不全面,無法從圖技術角度理解業務或利用深度關聯分析的價值。第三、對於工具的選擇與使用不夠了解。第四、落地經驗與圖技術人才稀缺。

在這些障礙中,需要著重考量的是工具的選擇和使用。工具選擇作為項目落地全週期的關鍵因素,從最開始的技術選型到業務探索調研、部署開發,到最後上線效果,都與工具息息相關。針對企業實際應用出現的痛點,圖分析平台 TigerGraph 總結了在企業進行工具選擇時,需要注意的四點問題:

  • 部署管理:圖分析平台或者是圖數據庫是否有備份和恢復功能,安全性是否完備,出現問題是否有日誌監控和警報,發生異常能否對問題回溯研究。

  • 性能:性能是否能夠支撐真正的圖分析場景,真正的圖分析在深度、廣度和實時性上,都應由複雜程度深度很深的融合多元數據組成,這樣的圖分析才是真正有價值和意義的。

  • 用戶體驗與集成:是否擁有友好的圖探索功能,能不能和機器學習聯動。

  • 企業級功能與平台穩定性:是否具有高可用和數據訪問控制。

TigerGraph 的落地實踐

TigerGraph 圖技術部署及實戰落地丨課程回顧 3

部署與管理,TigerGraph 在部署和管理方面具有 4 大特點

  • 一鍵式腳本安裝:無論使用者是安裝單機、集群還是想要使用可高用功能,執行腳本在20 到40 分鐘即可安裝部署在使用者的服務器上,無需額外的軟件依賴,同樣適用於軟件升級。

  • 無需為分佈式及高可用部署苦惱,在安裝過程中填寫分片配置和高可用配置即可獲得分佈式存儲與計算,高可用等功能。

  • 簡單易用的系統管理操作,在集群中任何一台服務器上執行 G Admin 指令就可以針對整個集群進行啟動、關閉,重新查看組件運行狀態等。比如開啟整個服務只需要執行 G Admin Start 整個集群就開啟了,關閉個別的組件比方說想把外部 UI 關掉,那麼就執行 G Admin Stop 就可以把 Graph Studio 關閉。

  • 降低項目整體成本,TigerGraph 出色的存儲壓縮比在同樣的性能要求下,只需求更少的硬件資源,可以盡量去榨乾機器提供的硬件性能,對於項目的整體成本來講是可以保障的。

TigerGraph 在性能上的特點

  • 面對批量導入,TigerGraph 每台服務器(服務器的規模在128G 內存,24 核CPU)每小時可以加載100GB 到200GB 數據且支持並行加載,來保證系統今日的產生的交易數據,不用再等到T+1日就可以完成導入。

  • 第二點,在實時加載方面每台機器可以每秒來更新幾千個點和邊,保證每天更新數億個點邊,來支持實時加載的任務。

  • TigerGraph 具有更廣的實時分析,每台服務器每秒遍歷數達千萬級個點 / 邊,在亞秒時間裡執行 10 多步查詢不浪費數據的時效性。由於因為每一個數據集的情況不一樣。深度只代表複雜性,深度可能不會有太多的點被關聯。所以我們使用 QPS 這樣一個數值,來讓大家有一個直觀的印象,在保持確定深度的同時滿足存儲圖算法和復雜業務產生的需求。

  • 強勁的並發能力,在多用戶場景每台服務器對於驗證查詢,可以達到 4000 左右的 QPS 單擊。

用戶體驗與集成

  • TiegerGraph 自研了 GSQL 圖查詢的語言,它可以靈活便捷的來為使用者描述,提供高性能的計算。 GSQL 的學習成本非常低,因為是類 SQL 的語法,這便於超百萬的 SQL 開發者上手使用,不用擔心如何實現並行計算,其內置高性能並行。

  • 如果企業的業務非常複雜,也無需擔心業務查詢構建的問題。 GSQL 可以構建更完善的業務查詢,參數化查詢非常靈活,具有常規控制流(FOR,WHILE,IF / ELSE)因為 GSQL 都是圖靈完備的,業務流程和圖算法都可以使用 GSQL 實踐。

  • GSQL 已在 GitHub 上開源使用者可在上面對 GSQL 進行學習,並且可以修改算法或是進行算法的變種。

除了開發人員,TigerGraph 希望數據科學家、企業用戶都可以自己用起來圖工具,進行數據探索。因為圖技術其實還是門檻不低,Graph Studio 可視化工具對於非技術人員特別友好,課以直接在上面進行圖結構的構建,進行圖探索,作為系統運維人員,可以通過這個Graph Studio 可視化的工具來查看系統狀態。

TigerGraph 的企業級功能和平台穩定性

TigerGraph 在企業級功能可以支撐住企業級的數據量和保證平台穩定性:

  • 穩定且高性能的大規模集群支持企業級數據量

  • 方便的性能調優配置,根據硬件資源因地制宜

  • HTAP 事務和分析系統一體

保證企業級的穩定性和可控性:

  • 在線備份和離線恢復功能,高可用功能,為災備提供支撐

  • Admin Portal 提供系統的運行監控與預警

  • 完整的日誌內容和靈活的日誌等級

保證企業級敏感性與安全性:

  • 用戶權限控制和多圖功能,靜態存儲加密和傳輸過程加密提高安全性

  • 支持 LDAP / Active Directory 等企業級一鍵登錄工具

面向企業級靈活性與多樣性:

  • 系統滾動升級和擴容功能,靈活支持業務擴展

  • 多圖功能支持一個實例下構建多個業務場景

Q&A 課程問答

TigerGraph 相對於 Neo4j 有哪些優勢?
A:這個優勢有很多方面,比方說在查詢性能方面,我們有 BechMark 作為性能比較是優於 Neo4j 的。在集群的可擴展性上 TigerGraph 目前是圖分片技術,而 Neo4j 既使是企業版目前也只支持單機。在括查詢語言來說 GSQL 是圖靈完備的,Cypher 並不是有很多查詢是很難完成。可視化界面,Neo4j 目前也是只能做圖的擴展。而 Graph Studio 可以進行圖的完整的工作流程等等。

對於金融交易、安全檢查出現超點現象,TigerGraph 對於超點的定義是怎樣的?
A:其實 TigerGraph 對於超點本身在引擎上沒有做特別多的定制化,但是對於超點的定義我們也不是十萬這個層級,可能百萬以上會考慮去處理一下。有幾個方面可以進行處理,一個方面就是說我們在定義 Schema 的時候,對本身可能會產生超檢的這些情況,進行一些層級分級。第二個,在查詢的時候,對於超點來講其實他是缺少業務實際價值了,如果你的遍歷經常會遇到超點,它絕大部分的圖都會關聯上。那麼其實業務價值並沒有那麼多,我們在查詢裡也是可以通過外部這樣的一個判斷,來過濾掉這些超點。

知識圖譜業務場景需要查詢節點間的路徑,請問一下實時計算效果怎麼樣?
A:我們關於知識圖譜這樣點邊比較少、深度不深這樣的查詢,一般能達到30 到50 毫秒這樣的一個速率,正常的情況下單台服務器可以達到3000 到4000 QPS 這樣的一個程度,所以TigerGraph 來做知識圖譜引擎或者是對接人工智能模型進行直接交互還是比較適合的。