GSQL如何解决图数据库查询语言八大先决条件?

Posted TigerGraph

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GSQL如何解决图数据库查询语言八大先决条件?相关的知识,希望对你有一定的参考价值。

更多精彩,请点击上方蓝字关注我们!

接着上次我们的“Quora网红”Mingxi跟大家科普一下图形数据库的一些基本概念以及查询语言的先决条件,,今天我们再来说说GSQL如何应对这八个先决条件:


基于5年多的客户反馈,TigerGraph的世界级团队与我们的客户共同开发了一种名为GSQL的图灵完整图数据库查询语言。它包括用于定义图模式的DDL(数据定义语言)命令,用于高性能加载结构化和半结构化数据的加载语言,以及具有隐式并行性的类SQL的图遍历和计算语言。


1. 基于模式,并具有动态模式更改能力

GSQL使用顶点类型和边类型作为模式构建块。图被定义为顶点类型和边类型的集合。一个TigerGraph数据库可能包含多个(可能重叠的)图,每个图都有自己的用户权限和查询集。例如,

GSQL如何解决图数据库查询语言八大先决条件?此外,GSQL的DDL支持使用类似SQL的语法进行动态模式更改。这是当今管理企业数据的必备条件。使用DDL,所有GSQL查询都是针对逻辑模型编写的。我们的一些客户从一台机器开始,随着他们的数据大小的增长,他们迁移到使用我们的MPP图数据库来扩展性能和存储的多台机器。基于我们的数据独立性查询语言,它们的应用程序对于扩展架构的更改是透明的,并且可以无缝地从单个节点迁移到节点集群。

2. 图遍历的高级控制能力

GSQL的构建模块是一个具有单跳模式的类SQL块。例如,“查找所有年龄在23岁或以上、购买过iPhone的客户”的表述如下:

GSQL如何解决图数据库查询语言八大先决条件?

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的高级比较。

文版白皮书小虎正在努力翻译,马上呈现给大家!

相关文章: 

以上是关于GSQL如何解决图数据库查询语言八大先决条件?的主要内容,如果未能解决你的问题,请参考以下文章

用于 GSQL、LINQ 2 GSQL 的 ORM?

TigerGraph图数据库的数据加载_gsql方式

C语言编程学习:八大排序之基数排序

跨越鸿沟——图数据库查询语言的八个先决条件——上篇

十四openGauss基本使用

大数据数据分析-数据分析师八大能力培养,解决业务问题和管理数据开发