行业报告 AI展会 数据标注 标注供求
数据标注数据集
主页 > 技术社区 > 数据库 > 正文

图形数据库:它们是如何工作的?

要了解图形数据库的工作原理,让我们先定义它。图数据库是一种 NoSQL 数据库,它存储节点和关系而不是表或文档。存储数据时不将其限制在提供灵活性的预定义模型中。上述 NoSQL 数据库通常被认为是“没有 SQL”,但实际上“不仅仅是 SQL”。在 SQL 数据库中,数据仅存储在表中。使用 NoSQL,您可以存储四种类型的数据库:文档、键值、宽列和图形。 

  • SQL 数据库示例:MySQL、PostgreSQL、OrientDB、MariaDB、CouchDB 等。
  • NoSQL 数据库示例:MongoDB、Apache Cassandra、Neo4j、Redis、DynamoDB、HyperTable 等。

事实上,现在数据库太多了,很难选择。但是,有一些最佳或顶级数据库列表,其中包含功能和用例的描述。

为什么使用图形数据库?

与关系数据库 (SQL) 相反,图形数据库本质上是多关系的。它似乎也更实用,因为数据以直观的方式显示。关系已经存储在数据库中,因此无需计算。图数据库存储量大,速度快,支持当前数据的多样性。如果你想开发社交媒体应用或社区应用,图数据库将是最合理的选择。数据库不仅会处理大量用户,还会在用户之间建立关系。对于任何涉及社交网络的应用程序,图形数据库都是合适的。 

此外,图形数据库非常适合实时大数据,因为您可以轻松添加新节点和节点之间的关系。不过,这不会影响性能。NoSQL 数据库和图形数据库尤其表现更好,因为它们不需要为给定查询加载或接触不相关的数据。 

图数据库最流行的用例

  1. 社交网络
  2. 供应链映射
  3. AI知识图谱/机器学习
  4. 网络/操作映射
  5. 任何类型的分析
  6. 零售业的推荐引擎
  7. 电信应用程序
  8. 数据隐私、风险和合规性
  9. 网络和 IT 管理
  10. 欺诈识别

图数据库的组件

每个图形数据库中都有三个主要组件:节点、属性和边(或关系)。简单来说,节点是域中的实体或某些对象,如用户、位置和事物。将属性添加到节点以添加更多上下文。在某些情况下,边也有属性。边连接节点并显示一种连接。看一下图片: 

图形数据库的组件

边或关系可能附加了值。这里是“ Follows ”,但可能有多个值。另一种添加是标签,它定义(分类)它们是什么类型的节点(学生和教师)。因此,多个节点一起形成了一种思维导图生态系统。 

Neo4j 主要特点

如果它没有独特的功能,它就不会成为如此流行的图数据库。首先,Neo4j 是一个原生图形数据库,这意味着数据存储方式的底层架构不是建立在表之上的。这种类型的数据模型实际上是一个高度连接的图,并且在进行查询时,在 Neo4j 中您不必像在关系数据库中那样每次进行跳跃时都进行索引。 

查询语言 Cypher 非常简单。这是一种声明性语言,其中括号和关系将节点表示为箭头和方括号。下面是一个 Neo4j 查询的例子。它演示了查询哪些相邻游戏与所选(即搜索的)游戏共享最多的特征。 

共同特征

其中最漂亮的部分是代码:

 
MATCH p=(game:Game)--(characteristic:ConceptEntry)
WHERE game.uid = 'game-borderlands_2' OR game.uid = 'game-fallout_3'
    RETURN

 

三行代码完成了令人印象深刻的查找所需数据的工作。

流行的图形数据库

现在让我们看看图形数据库示例及其优势。 

  • Neo4j 可能是最著名的图形数据库。它看起来简单易用,同时功能强大。查询语言命令相对容易学习。Neo4j 最重要的是它清楚地表示连接数据。光是看一眼,你就会明白很多节点之间的关系。Neo4j 只提供与图数据库类型相关的服务。可以说,Neo4j 在流行度和完善的功能方面胜出。 
  • ArangoDB 是一个专为维护各种类型的 NoSQL 数据库而设计的多功能工具。如果项目或业务同时需要多个数据库,ArrangoDB 将大有帮助。这项服务的更独特之处在于它允许在一个项目中结合使用 SQL 和 NoSQL。
  • Apollo 是一个数据库,但已经过度发展,现在是一个工具、库扩展等的生态系统。它与 Javascript 框架高度兼容,并支持第三方扩展。因此,与其他人的主要区别在于集成水平的提高。一些重要的事情是各种流程的自动化、GraphQL 及其使用可能性,以及持续的开发过程(是的,它仍在积极开发中)。它比前两个更新,所以它还有很长的路要走。 

结论

既然您对图形数据库了解这么多,您会对强大的数据集感到满意。它可能用于具有大量数据和不同类型数据的行业。当然,每个项目都是独一无二的,都有不同的业务逻辑。因此,在选择之前,请权衡图数据库的优缺点。您现在知道图形数据库是如何工作的以及它们的用例了。在软件开发中,这样的问题没有最终答案:什么数据库最好?什么编程语言最酷?

微信公众号

声明:本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,不为其版权负责。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。

相关文章:

网友评论:

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
SEM推广服务

Copyright©2005-2026 Sykv.com 可思数据 版权所有    京ICP备14056871号

关于我们   免责声明   广告合作   版权声明   联系我们   原创投稿   网站地图  

可思数据 数据标注行业联盟

扫码入群
扫码关注

微信公众号

返回顶部