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

了解图形数据库_图形数据库neo4j企业架构师应该知道什么您在Google上获得的图表数据库的描述主要是学术性的。我看到很多关于图形数据库的描述,它们讨论了Königsberg的七座桥梁或互联网的发明者Berners-Lee。有理论和愿景很好,但对我来说,我仍然认为引导相关性很重要。为什么图形数据库对您很重要?想象一下存储在当地连锁餐厅的数据。如果您要跟踪,则将客户信息存储在一个数据库表中,将您提供的项目存储在另一个数据…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

企业架构师应该知道什么

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

RDBMS与图形

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

图形数据库存储相同类型的数据,但也能够存储事物之间的链接。约翰购买了很多百事可乐,杰克与瓦莱丽结婚,买了不同的饮料。我没有必要运行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.net/223783.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 最强的疯狂java学习路线图,javaEE学习者必看「建议收藏」

    最强的疯狂java学习路线图,javaEE学习者必看「建议收藏」转载于:https://www.cnblogs.com/order/archive/2012/10/20/2732602.html

    2022年6月15日
    26
  • python2 nonlocal_python unboundlocalerror

    python2 nonlocal_python unboundlocalerror在廖雪峰的官网上看到一个很有意思题目。关于闭包的,有兴趣的朋友可以看一下这里,做一下这个题目,当然需要一点闭包的知识。下面我简述一下:利用闭包返回一个计数器函数,每次调用它返回递增整数。#修改下面这个函数defcreateCounter():defcounter():passreturncounter#测试:counterA=createCounter()print(counter…

    2025年9月21日
    8
  • java lang illegalargument_servlet内置对象

    java lang illegalargument_servlet内置对象小编典典介绍该ServletContext#getRealPath()被intented到Web内容的路径(在服务器的磁盘文件系统上展开的WAR文件夹结构的路径)转换为绝对磁盘文件系统路径。该”/”代表Web内容根。即,它代表web以下项目结构中的文件夹:YourWebProject|–src|:||–web||–META-INF||`–MANIFE…

    2025年12月5日
    5
  • linux openssl制作ssl证书_openssl生成自签名证书 c++代码

    linux openssl制作ssl证书_openssl生成自签名证书 c++代码目录前言1概念2环境3创建根证书CA4颁发证书4.1在需要证书的服务器上,生成证书签署请求4.2在根证书服务器上,颁发证书5测试5.1读取test.pfx文件5.2读取test.cer文件前言最近,被分配了一个任务,完成数字证书管理系统的开发,一开始我是一脸懵逼的,因为以前我对于什么数字证书都没了解过,可谓了一片空白,也不知其是用来…

    2026年1月27日
    3
  • 虚拟化实践:云桌面安装

    虚拟化实践:云桌面安装

    2021年12月7日
    73
  • Linux狂神说笔记[通俗易懂]

    Linux狂神说笔记[通俗易懂]Linux在服务器端,很多大型项目都是部署在Linux服务器上利用VM + Centos7搭建本地Linux系统你可以使用 man [命令]来查看各个命令的使用文档,如 :man cp。概念云服务器就是一个远程电脑Linux中一切皆文件根目录/,所有的文件都挂载在这个节点下/bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。/boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。/dev : dev是Device(设备

    2022年8月9日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号