acm-header
登录

ACM通信

BLOG@CACM

理解NoSQL数据库类型:图数据库


至今概况

图数据库虽然最初是NoSQL或“Not Only SQL”的一个子集,但它代表了SQL和NoSQL界限的彻底终结。图技术爆炸随着越来越多的公司和开发商采用混合灵活性产品,它的市场规模也在不断扩大。这些服务包括:直观和可伸缩性,具有高连接和健壮的数据模式。

虽然我不会深入讨论“SQL vs NoSQL”之争的形成,但您可以相当准确地说,SQL表示存储在行和表中的数据,而这是高增长的NoSQL通过嵌套文档排列的数据存储为列模式或键-值对。一个是相关的,另一个则不是。

图数据库是由节点、属性和关系组成的——所有这些都是非常相互关联的数据结构。但是它支持具有可伸缩性的高级、丰富查询。在这个模型中,关系和数据本身一样重要。在某种意义上,它将关系数据库的查询能力与柱状非关系数据库的直观灵活性结合在一起——支持敏捷开发的同时还让您获得深入的见解。

为什么使用图形数据库:好处

图模型是一种通用的数据技术。虽然很多人知道它的社交媒体实现-这种“新兴形态”,正如它所知数据科学家由于它是一个非典型的数据集,它已经成为社交媒体公司进行社交网络分析,以及通过Facebook和Twitter等公司创建社交图的最受欢迎的数据集六度分离概念图数据库实际上可以在许多行业中找到,从金融到医疗保健,再到应急响应网络。

图形数据库的主要好处是利用其为链接或连接赋值的能力。如果您的数据有连接,无论是对于离线机器学习系统还是在线移动应用程序,实现这种新出现的形状可能是有益的。

简而言之:构建高保真、高度互联的网络,由小尺寸、可伸缩的模式组成。非常适合CI/CD开发),可以同时提供服务、查询和管理复杂的问题域。

“标签属性图”模型:3个基本组件

最常用的图形数据库模型。专家们使用这个术语将这种类型与更明显的数学模型(例如超图)区分开来。对于非专业人士,解释标签属性图模型的每个组件可能会有所帮助:它们是节点和关系(也称为顶点和边),以及约束。

节点

  • 节点通常用于表示可能的实体,如产品、人员、IP地址或病史。
  • 节点允许您添加标签,以指定该节点在图中的功能。例如,您可以将表示当前客户机的节点标记为Business and client;以及潜在的领导和客户。
  • 高度定向的标签允许您轻松地定位所有客户、所有个人线索或所有业务客户,并在图查询中使用它们作为基础。
  • 节点还允许添加数据属性,例如附加到标签Client的first_name属性,或附加到标记Lead的节点的email_address属性。

的关系

  • 关系将节点彼此连接起来,并且可以将属性附加到关系上。
  • 谓词由关系类型决定,连接顺序决定主语和宾语的位置(例如,洗碗机需要四个轴距,而不是反之)。
  • 您可以为每个节点组合任意类型(任意方向)的无限数量的关系。
  • 无限可变性内置于图模型中。有些节点连接很少,即使其他节点连接紧密。

约束

  • 网格,可以说,你放置在你的图模型后,确保你的基本节点/关系基础-即。约束在很大程度上决定、调整和影响图的发展方式。
  • 通过设置约束,可以要求数据库支持某些属性,然后由这些属性管理关系类型或指定的节点标签——例如,可以声明first_name属性必须应用于具有Client标签的所有节点。
  • 一个有趣的风险管理约束是设置规则,限制某些字段必须是唯一的。这在添加包含个人身份标识信息的属性时非常有用,比如添加到Client节点的税务标识号。
图数据库实现要考虑的挑战

图模型模拟了现实生活的表面混乱。任何关系号/类型都可以用于连接节点,无论方向如何。您不需要承诺标准化的结构——也许高密度是必需的,或者稀疏路径是最好的,以便准确地为您的领域建模。做相关的事。

每个实体由一个节点表示。而每个关系都可以用来连接两个特定的节点。如果要存储大量的数据,那么应该使用大量的节点来指定每个产品,而针对这些产品的客户则需要更多的节点。您还必须连接所有相互关联的关系。

乍一看,这可能是一堆。相比之下,关系型数据库则根据各自的表对信息进行整齐的排序。但是请注意,图数据库具有减少复杂性的抽象。首先考虑通过RDBM工具的帮助来设计和规划图形数据库。如果您能从中辨别出实体关系图(ERD),就可以使用它更快地创建图形数据库。

一旦您克服了最初的障碍,即独特的图思维方式,您将发现关系和节点网络可以优于关系建模。

结论及何时使用图形数据库

当您需要一个表达能力很强的简单构建时,图数据库可以是一个基本的通用数据库。它们应该被广泛使用。

在一些情况下,它也是一个更好的专家解决方案;特别是当您需要更好的大容量存储解决方案时,因为您的当前数据库不支持良好的数据推理洞察力(如果它不支持简单和快速的查询,则同样重要)。

这是一项蓬勃发展的技术,在广泛的情况下增加了价值。

亚历克斯·威廉姆斯是一个拥有超过15年经验的全栈开发人员,并且拥有英国托管数据


没有发现记录

Baidu
map