图数据库:工作原理、何时使用以及优势

在您的许多业务往来中,您会看到自然的数据关系在不断演变。在这个融合互联的世界中,将数据演变视为动态且不断变化的事物,同时整合人际网络及其之间的关系是很正常的。为了支持其社区并提供尽可能最佳的用户体验,公司现在需要跟踪数百万以无数不同方式互动的人员之间的关系。

金融服务公司跟踪其账户持有人的行为和资金流,以追加销售其服务、检测欺诈和防止损失。项目经理跟踪供应商和时间表之间的相互关系,以规划和实施其项目目标。几乎每个行业都存在某种形式的互动或相互关系,可以从在互联框架中跨各种渠道跟踪数据和资源的流动中获益。

在此网页上,您将了解如何使用图数据库来简化数据之间关系的 handling,同时让开发人员和数据分析师更容易使用这些数据来推动业务决策。

什么是图数据库?

图数据库是一种专门的 NoSQL 数据库,专为存储和查询通过定义的关系连接的数据而设计。图数据库中的数据点称为节点,这些节点通过边连接到相关数据。附加到每个节点的数据称为属性。图数据库不受像关系数据库那样预定义的模式的限制,这种灵活性允许数据在应用程序的生命周期中自然地连接起来。

由于其简单性和易用性,图数据库正迅速成为数据管理中增长最快的类别之一。

图数据库用例

开发人员和分析师将图数据库用于各种用例场景。当您使用关系来处理图数据库中的事务时,您可以检测到单个购买与客户、产品、区域数据和其他数据相关的其他数据相关的场景。

欺诈检测

借助图数据库,您可以(几乎)实时处理购买和金融交易,这意味着您可以防止欺诈。借助图数据库,您可以轻松检测到某个电子邮件地址和信用卡是否与其他欺诈性收费有关。

通过欺诈检测,您还可以区分单个电子邮件地址被多人使用的帐户。您可以找到各种人与单个 IP 地址关联的场景,即使他们在不同的帐户中拥有多个物理地址。

主数据管理 (MDM)

主数据管理 (MDM) 记录了您公司运营的所有重要信息。它可以包括关于帐户、业务部门、客户、地点、合作伙伴、产品和用户的所有信息。借助图数据库,您可以连接所有主数据以解决紧迫的业务问题。凭借其直接的商业价值,当您能够更好地管理您的连接数据并了解您的网络时,您可以获得竞争优势。

网络和 IT 运营

您可以轻松地将您的监控工具与图数据库跨您的网络和 IT 运营连接起来。您不仅可以获得有价值的性能洞察,还可以更好地衡量漏洞、排除解决方案故障、进行容量规划,并根据用户指南更好地为您的组织准备影响分析。

身份和访问管理 (IAM)

您可以使用图数据库识别和管理不断变化的授权、组、角色和产品。随着这些相互关系变得越来越复杂,您可以跟踪所有数据并更好地控制对您的原生图的访问,并获得实时结果。凭借图数据库的互连性质,您可以支持直观的访问管理关系。您可以更快、更准确,同时确保整个组织更高的效率。

推荐引擎

您可以使用图数据库轻松存储客户的朋友、兴趣和购买历史记录。根据您对这些变量之间关系的分析,您可以提供一个推荐引擎,该引擎将提供用户喜欢和偏好的想法。例如,您可以高度准确地推断出,如果/当另一个用户具有相同的购买历史和行为时,客户可能会喜欢与另一个用户购买的产品类似的产品。

为什么要使用图数据库?

图数据库允许您快速轻松地存储数据并分析数据之间的关系,因此您可以更好地理解无数种可能的结果。

图表无处不在

图数据库最明显的例子是社交网络,但您可以在业务交易、基于连接的推荐、路由以及与供应链管理等相关的最佳路径所涉及的物流中看到它们。

支持简单的建模

借助图数据库,您可以根据对问题的理解进行建模,因此它更加清晰和简化。这是一个易于理解的模型,您可以使用它来表示和存储复杂数据。

使用结构化或非结构化数据

借助图数据库,您可以支持各种数据需求,包括结构化、非结构化甚至混合解决方案,以满足您的需求。

简单的查询

虽然几乎任何图查询都可以在使用 SQL 的关系数据库上执行,但查询将非常复杂。大多数图数据库都具有围绕使用边和节点以及遍历图结构的思想构建的查询语言。结果是更简单的查询,编写速度更快且更易于理解。

这是一个示例,显示了标准 SQL 与 Neo4J 图数据库使用的 Cypher 查询语言之间查询复杂性的差异。该查询通过使用公司雇用的销售代表的姓名来抓取区域描述。

SQL

SELECT e.LastName, et.Description
FROM Employee AS e
JOIN EmployeeTerritory AS et ON (et.EmployeeID = e.EmployeeID)
JOIN Territory AS t ON (et.TerritoryID = t.TerritoryID);

Cypher

MATCH (t:Territory)<-[:IN_TERRITORY]-(e:Employee)
RETURN t.description, collect(e.lastName);

使用 Cypher 的查询只有 2 行,而 SQL 则为 4 行。当您想要从更多关系中获取信息时,行数和复杂性的差异只会越来越大。

连接在性能方面也非常昂贵,尝试连接多个表之间的值将导致大型数据集的查询速度非常慢。相比之下,即使在大规模情况下,使用图数据库的这些类型的查询仍然很快。

直接从关系查询

借助图数据库,您可以直接从一个关系查询。因此,您可以更快地获得答案,而无需多个步骤的麻烦,而不是创建三个查询。

实现更好的性能

图数据库使用简单的索引,因此您可以看到查询性能的效率提高。由于查询被分解为子查询,它们并发运行以实现高吞吐量和低延迟。而且由于图数据库专为运行图遍历而设计,因此它们在所需硬件资源方面更有效。

获得可视化

借助图数据库,可视化数据以更好地理解数据并得出结论非常重要。您可以看到存储的关系和实体以及相关的属性。大多数图数据库将提供各种工具或集成,使可视化您的数据变得容易。

合格的关系

您可以使用图数据库快速轻松地将属性添加到关系中。虽然您可以选择其他数据库模型,但图数据库仍然提供您按时按预算交付所需的高质量解决方案。它们也是避免弄清楚如何使用其他方法获得相同结果的巨大难题的好方法。

图数据库有哪些类型?

图数据库通常按其数据模型分为两种主要类型:RDF 图和属性图。RDF 图侧重于数据集成,而属性图涉及查询和分析。这些数据库类型是相似的,因为它们都由点(顶点)和这些点之间的相互关系(边)组成。

RDF 图

RDF 图(RDF 代表资源描述框架)旨在符合 W3C(万维网联盟)标准。这是从将数据存储为关系数据库的转变。它使用 3 个部分在图中表达信息:对象、谓词和主语。

属性图

属性图是更通用的表示形式,因此它们在各个行业中更常用。属性图对数据点之间的关系进行建模,其中包含关于主题以及该数据如何相互关联的详细信息。

图和图数据库如何工作?

图和图数据库基于关系原则工作。您可以遵循数据生命周期中的这些连接,因为您的连接数据与任何单个数据点同等重要甚至更重要。您从想法开始,转到设计,然后使用您的查询语言实施和操作。由于您没有推断数据连接,因此您的数据比其他关系数据库结构更具表现力且更简单。

图数据库的组成部分

图数据库有 3 个主要组成部分。第一个是节点,它代表一个实体,如产品、用户、事件或地点。图数据库的第二个组成部分是属性,可以添加到这些节点以提供更多上下文,例如,用户节点可能具有用户名、电子邮件地址、兴趣和许多其他潜在属性等属性。第三个组成部分是边或关系,它们连接图中的节点。这些边可以是定向的或非定向的。例如,如果您要连接经理及其直接下属,则使用定向边可能更有意义。边也可以附加值,例如,在地图中,边表示城市之间的道路,边可以表示两个城市之间的英里数。

Example of graph nodes with properties and edges

带有属性和边的图节点示例。 来源

图数据库架构和设计

从设计的角度来看,与更通用的数据库相比,图数据库由于各种优化而提供更好的性能。最明显的是数据在内存中的映射方式与存储在磁盘上的方式相比。

原生图数据库使用所谓的无索引邻接。这意味着在磁盘上,每个节点实际上都存储指向连接节点的指针。结果是,为了获得出色的性能,数据库不需要在 RAM 中存储大型索引,因为它已通过节点本身可用。这也意味着性能保持不变,而与您的图有多大无关。它仅取决于您正在遍历的节点数

相比之下,如果您使用关系数据库,则必须在查询时将表连接在一起,并且随着表变得越来越大,这将变得更慢。另一种选择是在内存中拥有一个巨大的索引,但这也很昂贵。

图数据库的优势是什么?

性能

当您处理本质上高度关系型的数据时,图数据库可提供更高的性能,并且随着数据的不断增长,其一致性至关重要。当您有涉及大数据分析的实时查询时,即使您的数据不断扩展,图数据库也是一个出色的解决方案。

更好的问题解决

借助图数据库,您能够以关系数据库不切实际的方式更好地解决问题。在您锁定互连数据之前,请考虑假设的情况,这将为您的互连数据提供最实用的图数据库情况。

对人工智能和机器学习友好

图数据库自然适合与机器学习和人工智能一起使用。通过使用图数据库,您可以通过查找数据之间可能被忽略的模式和连接来找到有价值的业务洞察。通过使用图数据库,您拥有一个可扩展的数据存储,可以快速用于训练模型并根据您的数据创建预测。

将图数据库与机器学习相结合可以解决的一些问题包括:查找客户获取旅程中的有价值的步骤、个性化服务和平台、跨多个平台查找用户、通过查找非显而易见但相互关联的行为来预防欺诈等等。

面向对象的思维

借助图数据库,没有隐藏的假设。语义清晰而明确。通过面向对象的思维,您可以精细控制以将数据保持在原位,而没有隐藏的假设。

灵活性

借助图数据库,您拥有一个灵活的平台来发现连接。您可以根据质量或强度分析您的数据,而不是数据库中的其他数据。您还可以简单地随着应用程序的增长添加更多属性或节点类型,而无需担心模式更改。

可访问的递归路径查询

您可以使用图数据库查找数据之间的直接和间接连接,并获得真实的查询结果。当您将查询捆绑在一起并查找与您的产品及其与您的受众数据如何互连相关的模式时,这种级别的可访问性非常重要。

多维度

您可以通过组合和分层多个维度来使用图数据库管理大数据。因此,您可以根据不同的维度细分一个组:时间、人口统计、地理维度等等。

聚合查询

借助图数据库,您可以轻松地聚合和分组相关数据,这对于关系数据库来说是不切实际的。因此,业务分析师和数据科学家几乎可以在图数据库上进行任何分析查询。

图数据库的缺点是什么?

任何技术都存在权衡。它不是完美的,您应该了解使用图数据库的缺点和局限性。以下是您可能不想使用图数据库的一些原因。

没有标准的查询语言

对于图数据库,没有标准化的查询语言。语言取决于所使用的平台,这可能是优点,也可能是缺点,具体取决于您的情况。这通常意味着开发人员需要学习一种新的查询语言,这会增加采用图数据库的时间,并会增加新员工的入职时间。

这种情况在不久的将来可能会改变,2019 年,有人提出了一个名为 GQL(图查询语言)的标准语言提案,并获得了 ISO/IEC 委员会的批准。GQL 旨在成为一种类似于 SQL 的声明性语言,但借鉴了当前图查询实现(如 Cypher 和 GSQL)的功能。

没有事务

对于需要事务的应用程序来说,图不是正确的选择。它们在处理大量事务数据时效率不高。它们也难以处理跨越整个数据库的查询。

较小的社区

与关系数据库相比,图数据库的用户群相对较小,因此当您的公司继续发展时,可能很难找到您需要的支持来进一步优化、维护或扩展您的图数据库。

图数据库示例

Neo4J

Neo4J 是目前市场上最流行的图数据库。它是开源的,提供出色的性能以及非常高效的 Cypher 查询语言,使处理您的数据变得容易。Neo4J 除了其开源产品外,还提供云和自托管企业版数据库。他们还与数据科学生态系统紧密集成,并提供一个数据科学平台,使您能够构建自定义模型或使用 65 种预构建的算法和模型来深入了解您的数据。

TigerGraph

TigerGraph 是由同名公司提供的专有图数据库。TigerGraph 内置了对创建可视化、执行与处理图数据相关的常见任务的支持,并且还具有用于常见数据科学任务的功能。它有自己的查询语言 GSQL 用于访问您的数据。性能是 TigerGraph 的主要卖点,声称支持可以遍历 10 个或更多跳并扩展到万亿条边的查询。

AWS Neptune

AWS Neptune 是 Amazon Web Services 提供的托管图数据库。它支持两种类型的图数据模型:属性图和 RDF 图。它自动提供跨数据中心的只读副本、备份和复制。对于查询,Neptune 支持 Gremlin 和 SPARQL。

图数据库常见问题解答

图数据库和图分析如何工作?

图数据库与图分析完美同步。图分析或网络分析探索客户、设备、运营和产品之间的关系。然后,您可以利用这些信息来收集洞察,这些洞察在您的销售和营销工作中以及您如何通过社交媒体与您的受众互动方面提供有价值的见解。

预计到 2024 年,图分析市场将达到 20 亿美元以上。随着如此显着的市场增长,图分析比以往任何时候都更加重要。您可以使用图分析来推断您公司的增长潜力项目,并与您供应链的影响直接关联。

图数据库与关系数据库

图数据库和关系数据库之间的根本区别在于它们的数据存储和格式化方式。最重要的是要记住,一个不一定比另一个更好,它们都做出权衡以更好地服务于其预期的用例。

关系数据库的一个优势是数据库知道其列的结构,这带来了许多好处。另一方面,这也意味着与图数据库或任何其他无模式数据库相比,更改该结构并不容易。

对于您经常查找特定值或搜索符合某种类别或值的数据的工作负载,关系数据库会更好。在您将执行涉及在关系数据库中连接表的查询的情况下,图数据库将很有用。

为什么图数据库越来越受欢迎?

随着图数据库成为现代数据分析能力的基础,它们继续变得越来越受欢迎。一些专家预测,它们可能占当前数据和分析创新的 80%。随着组织继续寻找通过数据点或节点之间关系或边来更好地利用数据优势的方法,这种趋势预计将继续下去。

凭借其跨网络的有效性和可扩展性,图数据库、图技术和图关系将继续证明其价值,并在技术领域中变得越来越根深蒂固和不可或缺以供商业使用。图数据库非常适合您存储数据,因此您可以更轻松地检索独立但仍以多种方式相关的数据。

关于其他数据库类型的资源

InfluxDb-cloud-logo

最强大的时间序列
数据库即服务

免费开始使用
Influxdbu

开发者教育

时间序列应用开发者的培训。

查看所有教育