行业科普
越来越火的图数据库,到底是什么?|NebulaGraph 星球说
在当今的数字化世界中,数据已经成为了我们生活和工作的重要组成部分。传统数据库已经无法支持所有的业务场景,特别是在存储海量复杂数据、结构动态变化、需要深度关联查询的场景下,关系型数据库往往速度极慢甚至根本无法计算。
图数据库的出现打破了这种局限。实践证明,图数据库非常适合用来在系统中实时探索、持久化海量数据间的复杂关系。人们习惯于借助图的方式来思考问题,而图数据库以人类的思维模式在高维空间中映射实际世界中的关联,这能帮助业务人员更快地将行业经验转化为数据表示,减少技术与业务之间的沟通成本,同时也让计算结果更具有可解释性。
据 Gartner 预测,随着图的使用、普及和成熟度不断提高,到 2025年图技术市场将增长到 32 亿美元,复合年增长率为 28.1%。而根据世界知名的数据库排名网站 DB-Engines.com 的统计,图数据库在近十年是受到最广泛关注、发展趋势最迅猛的数据库类型。
那么,到底什么是图数据库?它与传统的关系型数据库或者 SQL 数据库有哪些不同?为什么它如此重要?下面不妨跟 NebulaGraph 一起来探讨。
什么是图数据库
简单来说,图数据库是一种非关系型的数据库,它使用图来表示数据之间的关系,而不是使用表格或者 JSON 文档。
在图数据库中,数据以节点和边的形式存在,节点代表数据实体,而边则表示节点之间的关系。
图数据库的把数据间的关联关系也作为数据的一部分进行存储,边上还可添加标签、方向以及属性,这使得图数据库非常适合存储和处理复杂的关联数据。因为图可以直观地可视化关系,并且无须大量具体化操作即可快速探索海量数据深度关联关系。
例如,在社交网络中真实用户通常被表示为「点」,用户之间的点赞、关注、评论等行为则被表示为「边」。与此同时,边上还可以体现时间、空间(地理位置)等维度信息。
使用传统的关系型数据库很难处理这种复杂的关系,而图数据库则可以直观展示这些关联,并能够轻松存储和管理上亿级别的数据,极大程度地提高查询效率,也打开了数据应用的想象空间。
案例参考:美团是怎样使用 NebulaGraph 图数据库对 6 亿用户进行实时美食、医美商家推荐的
为什么要用图数据库
相比于传统的关系型数据库和 NoSQL 数据库,图数据库具有很多独特的优势。
1、图数据库更擅长处理大规模数据之间的关联关系
图数据库可以处理大规模的数据,包括亿级别的数据。传统的关系型数据库和 NoSQL 数据库虽然可以存储大量的数据,但是在处理复杂的关系时往往会变得非常低效,而图数据库通过使用节点和边的形式,无需大量的 Join 操作即可轻松地处理节点之间的复杂关系。
测试显示:在一个包含 100 万人,每个人约有 50 个朋友的社交网络中找最大深度为 5 的朋友,图数据库在 2 度以上查询效率将明显超过关系型数据库,而且在关系型数据库无法执行的深度查询场景下仍能实现秒级执行。
2、图查询语言相较于 SQL 更高效
图数据库支持高效的查询。传统的关系型数据库通常使用 SQL 语言进行查询,而 NoSQL 数据库则使用各种不同的查询语言,但是它们都很难处理复杂的查询。相比之下,图数据库使用图查询语言(例如 Cypher),这种语言可以用更简洁的查询语句轻松地处理复杂的图结构查询。
3、图数据结构更灵活、更直观、更易于理解
图数据库采用非结构化的数据格式,以人类的思维模式在高维空间中映射实际世界中的关联,相较于表结构的数据更直观易懂。它可以轻松地扩展以支持新的节点和边类型,并且可以轻松地适应数据模式的变化。这意味着,图数据库可以应对不断变化的业务需求,并且可以很容易地进行数据模式迁移。
图数据库有哪些类型
1、属性图
属性图模型由顶点、边及其属性构成。顶点和边都可以带有属性,节点可以通过“标签(Label)”进行分组。表示关系的边总是从一个开始点指向一个结束点,而且边是一定是有方向的,这使得图成为了有向图。关系上的属性可以为节点的关系提供额外的元数据和语义。
2、RDF 图
RDF 图(Resource Description Framewor)的顶点和边上没有属性,只有一个资源描述符,这是 RDF 与属性图模型间最根本的区别。在 RDF 中每增加一条信息都要用一个单独的节点表示。比如,在图中给表示人的节点添加姓名。在属性图中只需要在节点添加属性即可,而在 RDF 中必须添加一个名字的单独节点,并用 hasName 与原始节点相连。
RDF 可以水平扩展但不能快速横向扩展关系,因为它们将三元组存储为单独的元素,所以必须从独立事实创建连接并增加延迟以执行图查询。由于其在延迟和规模方面的缺点,主要应用于离线分析。
图数据库适用于哪些场景
图数据库可以应用于很多领域,特别是当需要处理的场景符合以下几点特征时,建议首选图数据库——
1.需要处理海量、复杂的关联数据
2.需要快速实现深度关系查询
3.需要灵活调整数据模型以响应业务变化
4.需要立体的可视化呈现
另外,图数据库也可以与人工智能技术相结合,实现更加智能化的数据管理和应用。许多行业领先的知名企业正在通过图数据库与深度学习技术相结合,实现智能推荐和预测功能。
目前,我们在金融、政府、互联网、医疗、运营商、制造等多个行业的社交网络、知识图谱、欺诈检测、药物图谱、供应链管理和物联网等场景中都可以看到图数据库的身影。
如果你对图数据库感兴趣,但还不知道从哪里入手,选择一款有开源版本的图数据库是个不错的起点,比如 NebulaGraph。
NebulaGraph 拥有完整的图数据生态,包括社区、文档、培训支持。不仅可以 免费下载 开源版本直观感受图数据库的特性,而且 NebulaGraph 还拥有国内最大的开源图技术社区,可以随时随地和 数千名真实使用者进行经验交流、技术分享和使用咨询。
当然,如果有更高的应用需求或者需要专业技术团队支持的话,支持万亿级存储,毫秒级查询延时的 NebulaGraph 企业版将是不二之选——100% 自主研发支持信创,目前还有最长 30 天云上免费试用,快来近距离感受超原生分布式图数据库的魅力吧!
报告来源:Jim Webber,Emil Eifrem,Ian Robinson,Graph Database(2nd Edition).O'Reilly Media,Inc.2013:chapter 2