什么是图数据库
工作原理
图数据库通过节点和关系进行结构化。
节点是图中的实体,可以
关系提供两个节点之间的命名连接(例如,Person - LOVES
- Person),并且它们
-
必须始终具有起始节点、结束节点和正好一种类型。
-
必须有方向。
-
可以像节点一样具有属性。
-
节点可以拥有多种类型和各种类型的多个关系,而不会影响性能。
总之,节点和关系是存储数据的有效且灵活的方式,因为它们允许您
-
在大型图中创建深度和广度的遍历。
-
将您的数据库扩展到数十亿个节点。
-
设计灵活的属性图数据模型,这些模型可以随着时间的推移而适应。
为什么要使用图数据库
项目通常会处理大量复杂数据,而图数据库可以成为一个强大的工具。
还有其他方法可以将数据存储为对象和连接,例如关系型数据库。但是,关系型数据库使用计算上昂贵的 JOIN
操作或交叉查找,这些操作通常与严格的数据模型绑定在一起。
图数据库不使用 JOIN。相反,关系以更灵活的格式与数据元素(节点)一起存储,这允许优化数据遍历,并且每秒可以访问数百万个连接。
此外,许多日常挑战和任务可以从图的角度进行查看,因为它允许您
-
导航深层层次结构。
-
查找远距离项目之间的隐藏连接。
-
发现项目之间的相互关系。
如何使用
无论是社交网络还是道路网络,所有网络都可以构建为关系的相互关联的图。很多时候,项目的疑问和挑战都围绕着元素之间的关系,而不是元素本身(例如,如何从 A 到 B,而不是 A 是什么,B 是什么)。因此,图可以应用于社会的许多领域以及各种各样的项目。
如今,Neo4j 经常被 初创企业、教育机构和大型企业 用于各种领域,包括金融服务、政府、能源、技术、零售和制造业。图在帮助他们开发创新的新技术、业务管理、洞察和收入再生以及提高整体效率方面取得了成功。
您可以在 Neo4j 的主网站 上找到有关用例的更多信息。
继续学习
词汇表
- 标签
-
将节点标记为命名和索引子集的成员。节点可以分配零个或多个标签。
- 标签
-
标签将节点标记为命名和索引子集的成员。节点可以分配零个或多个标签。
- 节点
-
节点表示图数据模型中的实体或离散对象。节点可以通过关系连接,在属性中保存数据,并通过标签进行分类。
- 节点
-
节点表示图数据模型中的实体或离散对象。节点可以通过关系连接,在属性中保存数据,并通过标签进行分类。
- 关系
-
关系表示图数据模型中节点之间的连接。关系将源节点连接到目标节点,在属性中保存数据,并通过类型进行分类。
- 关系
-
关系表示图数据模型中节点之间的连接。关系将源节点连接到目标节点,在属性中保存数据,并通过类型进行分类。
- 属性
-
属性是键值对,用于存储节点和关系上的数据。
- 属性
-
属性是键值对,用于存储节点和关系上的数据。
- 集群
-
跨越多个服务器协同工作的 Neo4j DBMS,以提高容错性和/或读取可扩展性。集群上的数据库可以配置为在集群中的服务器之间进行复制,从而实现读取可扩展性或高可用性。
- 集群
-
跨越多个服务器协同工作的 Neo4j DBMS,以提高容错性和/或读取可扩展性。集群上的数据库可以配置为在集群中的服务器之间进行复制,从而实现读取可扩展性或高可用性。
- 图
-
一组节点的逻辑表示,其中某些对通过关系连接。
- 图
-
一组节点的逻辑表示,其中某些对通过关系连接。
- 模式
-
节点和关系的规定属性存在和数据类型。
- 模式
-
节点和关系的规定属性存在和数据类型。
- [[database schema]]数据库模式
-
节点和关系的规定属性存在和数据类型。
- 索引
-
改善数据库读取性能的数据结构。 详细了解支持的索引类别。
- 索引
-
改善数据库读取性能的数据结构。 详细了解支持的索引类别。
- 约束
-
约束是一组数据建模规则,确保数据一致性和可靠性。 查看 Cypher 中可用的约束。