了解图形数据库_图形数据库neo4j

2022-11-16 10:30:15 浏览数 (2)

企业架构师应该知道什么

您在Google上获得的图表数据库的描述主要是学术性的。我看到很多关于图形数据库的描述,它们讨论了Königsberg的七座桥梁或互联网的发明者Berners-Lee。有理论和愿景很好,但对我来说,我仍然认为引导相关性很重要。为什么图形数据库对您很重要?

想象一下存储在当地连锁餐厅的数据。如果您要跟踪,则将客户信息存储在一个数据库表中,将您提供的项目存储在另一个数据库表中,以及您在第三个表中进行的销售。当我想了解我销售的产品,订购库存以及了解我最好的客户是谁时,这很好。但缺少的是结缔组织以及项目之间的连接以及数据库中的功能,这些功能可以让我充分利用它。

图形数据库存储相同类型的数据,但也能够存储事物之间的链接。约翰购买了很多百事可乐,杰克与瓦莱丽结婚,买了不同的饮料。我没有必要运行JOIN来了解我应该如何向每个客户推销产品。我可以看到数据中的关系,而无需做出假设并对其进行测试。

这个新的连接信息层为您做了很多。这不仅仅与买方意图有关,而且在许多用例中可能会有所帮助,它在机器学习或者您希望机器进行分析或推理时非常有用(参见下表)。

语义层的应用程序示例

存储语义信息

用例

所有权

苏珊拥有一辆本田。还有谁拥有本田?

买方意图

利益

史蒂夫对足球感兴趣。还有谁?

设计者

弗兰克劳埃德赖特设计了古根海姆。还有什么?

知识图

<分类>

古根海姆博物馆。什么是其他博物馆?

连接

通过端口,例如server1通过端口8080连接到server2。这是否超出预期?

网络/ IT运营

与….关联

基因与癌症有关。还有什么基因?

生命科学

还有很多

由于传统数据库是使用表而不是链接数据设计的,因此SQL将不再使用。这引发了类似SQL的语言(但对于链接数据集或图形数据结构),例如SparQL,Gremlin和Cypher等等。一个主要区别是您需要对链接数据采取行动的分析功能。如果我想找到最热门的时间在您的网站上购买某种产品,或者如果我想对某个项目的受欢迎程度进行排名,那么就会有一种新的语法。您需要学习连接数据的语言才能充分利用它。

你不能用RDBMS做到这一点吗?

是的,可以在传统的关系数据库管理系统(RDBMS)中创建这些链接。但是,要在传统数据库中执行这些任务,数据库管理员必须努力维护唯一键并重建与JOIN的关系。如果使用图形数据库,则主题及其关系(称为主题和谓词)都是已知的。没有必要重建连接。

如果你之前已经定义玛丽是佐伊的母亲,那么推断佐伊是玛丽的女儿是另一个例子。您不一定需要专门定义这两种关系,因为图形数据库对此很聪明。相比之下,关系数据库无法理解任何未定义的内容。因此,在查看兴趣,家庭和社区时,这种推理能力具有明显的价值。

警告:图形数据库有专长

与传统的RDBMS一样,图形数据库可以是事务性的也可以是分析性的。选择图形数据库时选择焦点。例如,流行的Neo4J专注于事务(OLTP)图数据库,而AnzoGraph是分析(OLAP)图数据库。当您第一次尝试使用图形数据库时,这似乎是一个微妙的区别。但是,您可能需要一个不同的引擎来运行涉及单个实体的快速查询(例如,Susan拥有什么车?)以及轮询整个数据库的分析查询。(例如苏珊等人支付的汽车的平均价格是多少?)。随着机器学习和人工智能的发展,图形OLAP数据库变得非常重要,因为许多机器学习算法本质上是图形算法,并且在图形OLAP数据库上运行比在RDBMS上运行它们更有效。

如果您想了解更多关于SparQL(W3C定义的图形数据库标准语言)的信息,请在线查看许多SparQL教程之一。有足够的机会尝试像AnzoGraph这样的图形数据库。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/223783.html原文链接:https://javaforall.cn

0 人点赞