《图数据库》——1.3 图数据库的威力

简介:

本节书摘来自异步社区出版社《图数据库》一书中的第1章,第1.3节,作者: 【美】Ian Robinson , Jim Webber , Emil Eifrem,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.3 图数据库的威力

图数据库
虽然事实上我们可以将任何东西都建模成图,但我们生活在一个很现实的世界里,它充满了预算限制、项目限期、企业标准,还有商业化的技术选型。图数据库提供了强大而新颖的数据建模方法,但它本身却无法为其能够替换那些已经享有盛誉并被用户充分认识的数据平台提供足够的理由。必须要有一个直接而明显的好处,人们才会使用它。对于图数据库来说,这个动机可以用一系列用例和数据模式来说明:采用图的方案,性能可以提升一个甚至几个数量级,而且比起聚合的批处理,其延迟也小很多。除此之外,图数据库还提供极其灵活的数据模型,这也和当今敏捷软件交付实践推崇的交付模式相一致。

1.3.1 性能

其中一个充分的理由就是,与关系型数据库和NoSQL存储处理关联数据相比,选择图数据库会有绝对的性能提升。随着数据集的不断增大,关系型数据库处理密集join(join-intensive)查询的性能也会随之变差,而图数据库则不然。在数据集增大时,它的性能趋向于保持不变,这是因为查询总是只与图的一部分相关。因此,每个查询的执行时间只和满足查询条件的那部分遍历的图的大小(而不是整个图的大小)成正比。

1.3.2 灵活性

作为开发者和数据架构师,我们希望根据问题域决定如何连接数据。这样,就不需要在对数据的真实模样和复杂度了解最少的时候,被迫预先做出决定。随着我们对问题域了解的加深,结构和schema会自己浮现出来。图数据库正中我们下怀。正如我们在第3章中将要展示的,图数据模型表示和适应业务需求的方式,使IT部门终于可以跟得上业务的变化速度。

图天生就是可扩展的,这意味着我们可以对一个已经存在的结构增加不同种类的联系、新节点和新子图,而不用担心破坏已有的查询或应用程序的功能。这些特点对于开发者的生产力和项目风险一般都有积极的意义。同时由于图模型的灵活性,我们不必在项目最初就穷思竭虑地把领域中的每一个细枝末节都考虑到模型中—这种做法在不断变化的业务需求面前,简直就是蛮干。图的天然可扩展性也意味着我们会做更少的数据迁移,从而降低维护开销和风险。

1.3.3 敏捷性

通过使用与当今增量及迭代的软件交付实践相吻合的技术,我们希望能够就像改进应用程序的其他部分一样改进我们的数据模型。现代图数据库还让我们拥有平滑的开发方式,配以优雅的系统维护。尤其是图数据库天生不需要schema,再加上其API和查询语言的可测性,使我们可以用一个可控的方式来开发应用程序。

同时,正是因为图数据库不需要schema,所以它缺少以schema为导向的数据管理机制,即在关系世界中我们已经熟知的机制。但这并不是一个风险,相反,它促使我们采用了一种更可见的、可操作的管理方式。正如我们在第4章会讲到的,图数据库的管理通常作用于编程方式,利用测试来驱动数据模型和查询,以及依靠图来断言业务规则。这不再是一个有争议的做法,事实上这已经比关系型开发应用更广了。图数据库开发方式非常符合当今的敏捷软件开发和测试驱动软件开发实践,这使得以图数据库为后端的应用程序可以跟上不断变化的业务环境。

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

相关实践学习
阿里云图数据库GDB入门与应用
图数据库(Graph Database,简称GDB)是一种支持Property Graph图模型、用于处理高度连接数据查询与存储的实时、可靠的在线数据库服务。它支持Apache TinkerPop Gremlin查询语言,可以帮您快速构建基于高度连接的数据集的应用程序。GDB非常适合社交网络、欺诈检测、推荐引擎、实时图谱、网络/IT运营这类高度互连数据集的场景。 GDB由阿里云自主研发,具备如下优势: 标准图查询语言:支持属性图,高度兼容Gremlin图查询语言。 高度优化的自研引擎:高度优化的自研图计算层和存储层,云盘多副本保障数据超高可靠,支持ACID事务。 服务高可用:支持高可用实例,节点故障迅速转移,保障业务连续性。 易运维:提供备份恢复、自动升级、监控告警、故障切换等丰富的运维功能,大幅降低运维成本。 产品主页:https://www.aliyun.com/product/gdb
相关文章
|
4月前
|
存储 NoSQL 数据库
知识图谱之图数据库如何选型:知识图谱存储与图数据库总结、主流图数据库对比(JanusGraph、HugeGraph、Neo4j、Dgraph、NebulaGraph、Tugrapg)
知识图谱之图数据库如何选型:知识图谱存储与图数据库总结、主流图数据库对比(JanusGraph、HugeGraph、Neo4j、Dgraph、NebulaGraph、Tugrapg)
知识图谱之图数据库如何选型:知识图谱存储与图数据库总结、主流图数据库对比(JanusGraph、HugeGraph、Neo4j、Dgraph、NebulaGraph、Tugrapg)
|
2天前
|
存储 NoSQL 搜索推荐
探索新一代数据库技术:基于图数据库的应用与优势
传统关系型数据库在处理复杂的关系数据时存在着诸多限制,而基于图数据库的新一代数据库技术则提供了更为灵活和高效的解决方案。本文将深入探讨图数据库的核心概念、应用场景以及与传统数据库相比的优势,带领读者一窥未来数据库技术的发展趋势。
|
7月前
|
存储 弹性计算 NoSQL
悦数图数据库 x 阿里云计算巢:打造云上超大规模图数据库
近年来,图数据库的概念被越来越多的企业反复提及。图(Graph)是一种存储实体,及实体之间关系的数据结构,而图数据库(Graph Database)则是一个使用图数据进行存储,同时使用图结构进行语义查询的数据库。
|
8月前
|
NoSQL 安全 Java
如何实现一个数据库的 UDF?图数据库 NebulaGraph UDF 功能背后的设计与思考
大家好,我是来自 BOSS 直聘,主要负责安全方面的图存储相关工作。作为一个从 v1.x 用到 v3.x 版本的忠实用户,在见证 NebulaGraph 发展的同时,也和它一起成长。
52 0
|
8月前
|
存储 NoSQL 安全
如何实现一个数据库的 UDF?图数据库 NebulaGraph UDF 功能背后的设计与思考
UDF 允许用户自定义函数来扩展数据库管理系统的功能,如何实现一个数据库的 UDF 功能呢?先从一条查询语句开始,我们来分析下它的生命周期,再…
183 0
如何实现一个数据库的 UDF?图数据库 NebulaGraph UDF 功能背后的设计与思考
|
9月前
|
存储 NoSQL 搜索推荐
图数据库有哪些:知名图数据库产品和应用场景介绍
图数据库是一种专门用于存储和处理图数据模型的数据库管理系统。图数据模型以节点和边的形式组织数据,用于表示实体之间的关系。相比传统的关系型数据库,图数据库更加适合处理复杂的关联关系,如社交网络、推荐系统、地理信息系统等领域的数据。图数据库的兴起,得益于现代应用场景对于数据处理和分析能力的不断增强需求。
|
11月前
|
存储 弹性计算 自然语言处理
悦数图数据库 x 阿里云计算巢:打造云上超大规模图数据库
30 天免费试用限时开启!「悦数图数据库」正式入驻阿里云计算巢,为用户带来了云端一键部署企业级图数据库集群的全新体验。
|
存储 SQL NoSQL
一种新型的NoSQL数据库,图数据库------Neo4J
一种新型的NoSQL数据库,图数据库------Neo4J
|
存储 SQL NoSQL
知识图谱与数据库技术:RDF三元组库和Neo4j图数据库
知识图谱与数据库技术:RDF三元组库和Neo4j图数据库
925 0
|
存储 分布式计算 NoSQL
聊聊图数据库和图数据库的小知识 Vol.02
在第二期的图数据库小知识中,我们回顾了图数据库的兴起契机,聊了聊【传统数据库通过设计良好的数据结构是不是可以实现图数据库的功能】、【图数据库会出于什么考虑做存储计算分离】等图数据库设计问题…
1251 0