當前位置:
首頁 > 最新 > GSQL如何解決圖資料庫查詢語言八大先決條件?

GSQL如何解決圖資料庫查詢語言八大先決條件?

接著上次我們的「Quora網紅」Mingxi跟大家科普一下圖形資料庫的一些基本概念以及查詢語言的先決條件,跨越鴻溝——圖資料庫查詢語言的八個先決條件——上篇,今天我們再來說說GSQL如何應對這八個先決條件:

基於5年多的客戶反饋,TigerGraph的世界級團隊與我們的客戶共同開發了一種名為GSQL的圖靈完整圖資料庫查詢語言。它包括用於定義圖模式的DDL(數據定義語言)命令,用於高性能載入結構化和半結構化數據的載入語言,以及具有隱式並行性的類SQL的圖遍歷和計算語言。

1. 基於模式,並具有動態模式更改能力

GSQL使用頂點類型和邊類型作為模式構建塊。圖被定義為頂點類型和邊類型的集合。一個TigerGraph資料庫可能包含多個(可能重疊的)圖,每個圖都有自己的用戶許可權和查詢集。例如,

此外,GSQL的DDL支持使用類似SQL的語法進行動態模式更改。這是當今管理企業數據的必備條件。使用DDL,所有GSQL查詢都是針對邏輯模型編寫的。我們的一些客戶從一台機器開始,隨著他們的數據大小的增長,他們遷移到使用我們的MPP圖資料庫來擴展性能和存儲的多台機器。基於我們的數據獨立性查詢語言,它們的應用程序對於擴展架構的更改是透明的,並且可以無縫地從單個節點遷移到節點集群。

2. 圖遍歷的高級控制能力

GSQL的構建模塊是一個具有單跳模式的類SQL塊。例如,「查找所有年齡在23歲或以上、購買過iPhone的客戶」的表述如下:

GSQL用戶可以編寫一系列的GSQL構建塊來任意步遍歷圖,每個步驟都是單跳路徑模式。換句話說,它是非常高級的聲明式遍歷,簡單明了。它易於閱讀和維護。沒有計算機科學學位的客戶可以在一兩天內掌握它,並開始在他們的領域數據上編寫圖演算法。

3. 圖遍歷的精細控制能力

GSQL引入了一組內置的累加器,它們作為頂點的運行時屬性。這些運行時屬性可以附載到並行遍歷過程中看到的每個頂點實例,因此用戶可以在運行時遍歷過程中向頂點添加標記或運行時屬性,以收集欺詐檢測和個性化推薦等複雜應用程序的證據。GSQL還具有流控制組件,如WHILE循環、FOREACH循環和IF-ELSE/CASE-WHEN分支,以允許複雜的迭代或分支演算法。與本地和全局累加器一起,GSQL讓用戶真正任意掌控他們的圖數據。實際上,它是Turing-complete的,這意味著圖數據上的任何演算法都可以在GSQL中進行編碼,因此不需要在圖資料庫系統和客戶端應用程序之間來回交換半成品數據,從而減慢了查詢性能。

4. 內置並行語義以保證高性能

在一個查詢塊中,結合內置累加器類型的一對創新的ACCUM和POST_ACCUM子句編碼了頂點集或邊集的並行處理,很好的支持了高級圖遍歷。這意味著GSQL允許用戶非常容易地實現圖數據的並行處理。這是圖查詢語言的一大優點,它鼓勵用戶進行並行思考,而不必擔心實現細節。當然,並不是每個圖查詢都需要這個強大的特性。PageRank和社區檢測類型的演算法可以利用這個特性。

5. 具有表達能力很強的載入數據能力

GSQL的載入語言具有高度的表達性和說明性。我們的用戶非常喜歡它。我們看到客戶在半小時內學習並掌握它,並使用它在一天內將10到100個數據源集成到一個圖模型中。

6. 數據安全性和隱私

行業的第一個多圖模型誕生於GSQL中,幫助我們的客戶實現數據共享和隱私保護

7. 支持查詢調用查詢

GSQL可以在幾個地方調用查詢:在ACCUM和POST_ACCUM子句中,在語句層,甚至在被調用的查詢體本身。這為解決現實的圖遍歷問題提供了最大的靈活性和簡單性。查詢也可以遞歸地調用自己。該特性支持分治,極大地簡化了查詢邏輯,並鼓勵編寫可組合查詢

8. 對SQL用戶友好

GSQL儘可能多地重用SQL語法、語義和關鍵字。實際上,GSQL可以被看作是單個SQL塊的鏈。

說到這裡,不上手摸一下GSQL怎麼能了解?

接下來就是見證福利的時刻!

TigerGraph開發者版本現在支持免費下載了喲,而且,終生免費

下載終生免費版

長按下載終生免費版

TigerGraph Dev

花1小時暢遊開發者版,重新思考圖分析。

開發者免費版本目前僅支持單人單機單圖。

要了解更多信息,請點擊原文參閱我們的GSQL白皮書(英文版),該白皮書提供了GSQL與另外兩種圖查詢語言Gremlin和Cypher的高級比較。

文版白皮書小虎正在努力翻譯,馬上呈現給大家!


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 TigerGraph維加星 的精彩文章:

TAG:TigerGraph維加星 |