图数据库ONgDB Release v-1.0.0

2022-09-02 10:08:57 浏览数 (1)

@[TOC](图数据库ONgDB Release v-1.0.0) Here's the table of contents:

•一、ONgDB•二、Geequel•三、APOC•四、ONgDB Browser•五、Geequel Shell

图数据库ONgDB Release v-1.0.0

对于很多中小公司其实使用社区版的Neo4j(Neo4j社区版支持数据规模百亿级别)就可以满足大部分的业务场景了,但是对于可用性性能要求较高的场景必须使用集群方式来系统化建设图平台能力。由于Neo4j企业版售价过于昂贵,因此开源社区基于Neo4j开源版本源代码共同建设了ONgDB这个图数据库。 ONgDB经历了版本号从3.x到1.0的变换,由于商标版权原因在正式发布的1.0版本中彻底重新设计了商标。v-1.0版本中图数据库名称依旧使用ONgDB,查询语言使用Geequel支持openCypher大部分功能,扩展包名称APOC,浏览器名称ONgDB Browser,命令行接口工具名称Geequel Shell。关于ONgDB开源协议的介绍[1]

一、ONgDB

一个开源的高性能本机图形存储,包含您期望从企业级数据库中获得的一切,包括高可用性集群ACID事务Geequel(一种直观的、以模式为中心的图形查询语言)。开发人员使用基于图论的结构,我们称之为节点和关系,而不是行和列。对于很多用例来说,与非本机图数据库、关系数据库和NoSQL数据库相比,ONgDB将提供数量级的性能优势

•后台启动界面

二、Geequel

Geequel是ONgDB强大的图形查询语言。它是一种为查询图网络而优化的声明性、模式匹配语言。Geequel是openCypher®的一个实现,openCypher®是最广泛采用的、完全指定的、开放的属性图形数据库查询语言。Geequel提供了一种直观的方式来处理ONgDB,支持属性图,并且在跟进ISO正在开发的图形查询语言(GQL)标准。Geequel易于学习和人类阅读,这使得Geequel易于使用,对业务分析人员、数据科学家、软件开发人员和操作人员都是统一的标准。GQL Standard:GQL was just inaugurated as an official ISO project[2]

Geequel是一种最强大的方法来有效地表达图数据库遍历,以便在ONgDB中读写数据。Geequel可以引导ONgDB做一些类似这样的事情:“马上把我朋友的朋友查找出来”或“从这个员工开始,返回他们的完整的报告链条”,以几行代码的形式就可以完成。因此,Geequel跨所有语言的查询和操作以及与ONgDB的集成能够以一致的方式进行查询。Geequel看起来很像ASCII艺术,因为它使用文本模式表示来表示节点和关系。节点被圆括号包围,圆括号看起来像圆圈,关系由带方括号的破折号组成。这里有一个例子:(graphs)-[:ARE]-(everywhere)。编写和表示基于深度的查询是Geequel的亮点之一。我朋友的朋友的朋友就像“(我)-[:friend *3]->(fofof)”一样简单。创建查询实际上很有趣,因为Geequel的声明性本质遵循直接的模式和关系,而不必考虑需要结合什么来聚合所需的数据。

在使用SQL的RDBMS实现中,上面提到的查询需要编写大量代码,而且由于连接的数量太多,执行效果很差。但是在ONgDB上使用Geequel,可以同时用最少的代码和优化的遍历性能来表示复杂的思想。

Geequel的目的是实现所有的GQLopenCypher®的大部分功能,(openCypher®Neo4j, Inc.的一个商标。Disclaimers[3]

三、APOC

APOC是一个与ONgDB一起工作的库。ONgDB 1.0通过APOC引入了用户自定义过程和函数的概念。这些是某些功能的自定义实现,不能(轻松)用Geequel本身表达。它们是用Java实现的,可以很容易地部署到你的ONgDB实例中,可以直接从Geequel调用它们

APOC库由许多(大约450个)过程和函数组成,以帮助完成不同领域的许多不同任务。一些已经存在APOC存储过程的领域的例子包括数据集成、图算法和数据转换。这些程序是由社区发起、创建和支持的。APOC过程被广泛使用,并且很容易通过Geequel查询进行内联访问。APOC很容易作为插件添加到任何ONgDB实例中。

将APOC与ONgDB一起使用的一个好处是,它允许跨平台和行业的开发人员对通用过程使用标准库,而只针对业务逻辑特定用例需求编写自己的功能。APOC过程通过一个输入/输出接口工作,该接口允许将Geequel运行时中的中间结果行交给APOC过程执行某些操作,然后接收结果。返回给Geequel查询的结果,可以在最终返回查询结果之前进一步用于Geequel内部的其他处理。APOC过程可以出现在Geequel查询的开头、结尾或中间的某个地方,也可以是整个Geequel。在一个Geequel查询中可以访问多个APOC过程,这是非常有用的,并允许创造性地通过将各种APOC过程排序在一起来批量处理节点和边。例如,在数据工程师和数据分析师对接工作时就像开发一个方法函数一样,可以使用标准的存储过程定义业务相关查询隐藏复杂查询的细节,方便快速对接和沟通推进项目发展。

四、ONgDB Browser

ONgDB Browser是ONgDB的通用用户界面,可以使用现代易用的工具对数据库进行查询、可视化、管理和监控。ONgDB浏览器接口支持几个主要概念: •编写和执行Geequel查询•保存Geequel查询方便快速找回•显示多个结果视图,包括图形,表格,文本,代码和计划

ONgDB浏览器中的图形视图将Geequel结果作为交互式图形可视化显示,用户可以使用该图形可视化查看与当前可视化节点相邻的其他节点。

ONgDB Browser中的表视图显示Geequel查询结果的基于列的视图,每个列对应一个结果变量,每个列对应一个结果变量。

ONgDB浏览器中的文本视图以命令行界面的方式显示Geequel结果。

ONgDB浏览器中的代码视图显示了Geequel查询结果,附加了关于ONgDB服务器版本和主机地址的元数据。

ONgDB浏览器中的计划视图显示了PROFILE和EXPLAIN Geequel查询的执行细节,以便深入了解Geequel查询引擎是如何处理Geequel查询的。这在试图诊断和分类查询性能问题时非常有用。

Geequel查询编辑器提供了对Geequel语法的代码高亮显示,并基于在您的图形数据中使用的标签和边缘类型自动完成建议。每个Geequel查询都是单独执行的,并以堆叠的顺序显示结果,在之前的结果之上显示新的结果视图,所以在ONgDB浏览器中,你总是可以看到最近的Geequel查询结果。这些ONgDB浏览器在每个结果视图中一次显示一个Geequel查询结果,每个查询结果视图可以从ONgDB浏览器中退出。这使它成为快速查询开发、实践和实验的想法,将数据作为图表。

•初次登录默认用户名:ongdb,密码:ongdb

五、Geequel Shell

Geequel Shell是ONgDB的命令行界面,默认情况下与ONgDB一起打包。Geequel Shell是交互式的,也可以用来编写脚本。使用Geequel Shell编写脚本是通过命令行启动Geequel Shell并直接在命令行中输入Geequel来完成的。通过Geequel Shell与ONgDB交互的另一种方法是在一个文件中包含Geequel语句,该文件中的每条语句都作为一个单独的事务在ONgDB上执行。需要注意的是,在Windows上,这些交互确实需要PowerShell。所有Geequel Shell与ONgDB的通信都是通过Bolt协议进行的。 使用Geequel Shell可以将那些你经常使用的Geequel查询通过Geequel脚本文件来执行。通过使用Geequel Shell,您将能在后台执行查询而不是在ONgDB浏览器等待Geequel查询完成。其他一些可以从使用Geequel Shell中获益的例子包括: •从多个csv加载数据•将节点/边缘迁移到新的标签/类型•何顺序执行的重复Geequel查询

这些只是一些场景的例子,在这些场景中,Geequel Shell可以帮助您消除每次需要运行一个查询的限制。最初,单行命令就能满足需求,但是用不了多久就会超过单行命令。通过这种方式,Geequel Shell为你提供了一个很好的转接点,让你把Geequel查询变成一个更可重复的过程,为部署基于ONgDB的其它数据产品服务做准备。ONgDB集群搭建测试[4]

References

[1] 关于ONgDB开源协议的介绍: https://blog.csdn.net/superman_xxx/article/details/117396928 [2] GQL Standard:GQL was just inaugurated as an official ISO project: https://www.gqlstandards.org/ [3] Disclaimers: https://www.graphfoundation.org/disclaimers/ [4] ONgDB集群搭建测试: https://blog.csdn.net/superman_xxx/article/details/105342579

0 人点赞