嬴图Ultipa | 一文了解关于图数据库的一点儿干货

news2024/11/26 10:40:53

本篇包括以下内容点:
·  数据库主要技术分类
·  图是什么?
·  图的模式
·  图数据库 VS.关系型数据库
· 图数据库VS.其他NOSQL的对比
·  并非所有的图数据库都一样!

根据Gartner预测,“到2025年,使用图技术进行数据和分析创新的比例将由2021年的10%提升至80%,这将大大促进企业进行快速决策。”

图:数据库分类图

上图是笔者将数据库的主要技术轨迹做了个简单的分类,大家还可以结合我上篇的一个整理【嬴图 |一文了解数据库发展的里程碑事件都有哪些? - 知乎 (zhihu.com)】一起看。不难发现,在数据库技术50多年的发展历史中,它蓬勃的生命力以及新型数据库对传统数据库发出的挑战——其背后的推动因素主要是工业界和学术界亟需一种新型的、高效的、灵活的、高维的架构出现,以满足数据量的迅猛增长(Volume)、数据种类的多样性(Volume),数据产生速度的飞速提升(Volume)以及人们对数据价值的关注性(Volume)——也因此能够理解GQL为何成为了自1983年以来唯一一个继SQL后的国际标准,这也有力说明了图数据库技术对未来的影响力和重要性。

图:按数据复杂性排序的数据库引擎类型

表1:5类主流数据库产品分析

分类

性能

可扩展性

灵活性

复杂性

键值存储数据库

文档数据库

可变

列存储数据库

可变

一般

图数据库

可变

关系型数据库

可变

可变

一般

图数据库(Graph Database)是基于图论实现的一种NoSQL数据库,可以存储实体的属性信息和实体之间的关系信息,且建模简单,性能强劲,搜索功能丰富,扩展性强。

图(Graph)由点和连接每对点的边所构成:

点(node):称之为顶点(Vertex)或点(node),也可以称作实体(Entity)。

边(edge):连接两个点(node)的边,在知识图谱范畴内也常被称作关系(relation、relationship)。

举例来说,当你查达芬奇与卢浮宫之间的关系时,你就可以关联出一张非常简单的人与物之间的图谱——“六度分隔理论”就源于图。

文艺复兴(代表人物)——达芬奇——(代表作品) 蒙娜丽莎——(收藏)卢浮宫博物馆——金字塔玻璃入口(建筑师)贝聿铭——弗朗索瓦一世(收藏)——梦娜丽莎(画作)——文艺复兴(影响)】

​再如,我们日常生活中几乎天天都会使用的通勤工具——地铁。如果将车站作为“点”,相邻的两站用“边”相连,那么,这也可以连成一张典型的“图”。

​我们可以随着自己的思考进行无限延展,通过节点和节点相关联,就能信手拈来地通过图数据去直接地构建真实世界中的属性和关系【更多阅读,见文库 | 什么是图?】。

图的模式共分为三种,分别是属性图、超图和三元组,因为图数据是需要存储到具体的图数据库中才能最终落实为具体的数据文件,而这个过程就自然涉及到了要采用什么实现方式来保存图数据。以Ultipa Graph 为例,它跟Nejo4一样,都是属性图(Property Graphs)——属性图模型更易于理解,能描述绝大部分图使用场景。

为什么图数据库的优势越来越突出? 比如在传统关系型数据库中,一旦涉及到多表关联查询时,计算量与表内数据量的笛卡尔乘积等比例增长,数据量越大,表关联越多、越复杂,效率越低。因为它是通过外键在主表中寻找匹配的主键记录来进行搜索、匹配计算操作,如果使用多对多的关系时,则必须还要再添加中间表来保存两个参与表的外键对应关系,这就进一步增加了链接(join)操作的成本。

而图数据库,非常灵活,不仅能能够通过点和边就能简洁地让人们面料数据之间的关系,而且采用的计算逻辑是近邻关联计算(查询)模式,计算复杂度低,效率指数级提升。见下图所示。

图:图数据库与关系型数据库的架构差异

​如用关系型数据库与图数据库做一个深度穿透,从第2—5层,性能的差异其实是指数级上升的。如在做1层穿透的时候,两者可能并没有本质的区别,从2层开始会出现指数级(10倍以上)的变化,直到用传统数据库做4—5层的穿透时,其已经不能返回任何结果了,也就是说,已经超出了机器的运算范畴从而罢工了。(感兴趣的读者可以详细阅读:图数据库与关系型数据库的区别⁴)。

从目前各大类型数据库的市场占有情况来看,关系型数据库仍是主流,但这是处于过去缺乏可替代方案的时代背景下,随着它无法hold住的场景越来越多,图数据库因为其天然的基因优势将成为弯道超车的利器。

表2:主流图数据库对比

Nejo4j

JanusGraph

Ultipa Graph

知名度

最高

一般

开源生态

社区版开源,但限制较多;商业版闭源:

开源;兼容Apache Tinkerpop 生态,主要由AWS和IBM提供云服务

闭源主要由Ultipa Cloud 提供云服务

图查询语言

Cypher

Gremlin

UQL

支持数据规模

社区版十亿级;企业版千亿级以上

百亿级以上

千亿级以上

大规模数据写入性能

在线导入速度慢

较慢

在线导入速度快

大规模数据查询性能

快,较稳定

较快

快,超稳定

功能完善程度

完善

完善

完善

数据导入工具

支持CSV在线导入;支持格式丰富

未提供支持

Ultipa Transporter 支持全平台运行,支持格式丰富,提供文件例如TSV,CSV、Mysql,BigQuery 等数据导入能力以及 CSV 导出能力。

可视化界面

支持,功能丰富,支持可视化的数据建模、导入、分析等

不支持,需用户集成第三方界面

支持,功能丰富,支持2D、3D转换;支持可视化的数据建模、导入、分析等

内置常用图算法

提供安装算法包,提供了丰富的基本图算法

不支持

提供安装算法包,建有丰富的算法库,能以独立算法包的形式提供给用户。

基础功能(属性图的增删查改、持计划鵆、元数据、事务、缓存、查询优化、增量更新图等)

支持

支持

支持

ACID事务

支持

部分支持,根据后端存储而定。

支持

chema约束

商业版支持,同时也支持Schema-Free

支持,同时也支持Schema-Free

支持,同时也支持Schema-Free

图存储类型

支持本地存储,支持分布式存储,支持云托管存储

飞本地存储,支持分布式存储

图分区

支持

支持

支持

高可用HA

商业版支持

未提供支持

支持

从上文我们已知,NoSQL数据库能够流行起来的因素就是因为其能解决多数数据种类、大规模数据集合等等挑战,但是它们之间(简单将键值对、文档展开聊聊)又有哪些对比呢?

文档存储属于层次化结构,可以轻松地将数据存储为树结构,但正因此,它只能表达一种从上到下的从属关系,而树状在图数据库中只是其中的一种而已,其表现更为丰富。此外,树存储结构,会出现多次被嵌入的冗余数据,这就会增加更新数据的难度,也无法确保数据一致性的问题。

键值数据库,更适合少量数据关系的应用,因为它是按照键值对的形式进行组织、索引和存储,在数据量少的情况下,能有效地减少读写磁盘的次数,性能很高,但反之,一旦数据量大时,明显图就更能表现数据之间的复杂关系了。

最后,要说明的是,并非所有的图数据库都是一样的!有的图数据库只有存储能力而缺乏计算能力,有的可以计算,但是因为涉及到数据迁移效率又非常低下。还有一些图数据库采用NoSQL或MapReduce的架构实现,但是没有面对图计算的特点做充分的、深度的优化,最终的效果是越水平分布,效率越低。更有的厂家盲目地把所有数据都搬入内存,造成内存使用暴增,同样会产生频繁出现OOM而导致宕机的负面问题。正确的实现道路是“分布式+存算一体化+多级存储优化+图查询深度优化”,这里涉及到图数据库的知识点与挑战非常多,关于如何设计并实现真正的高性能分布式图数据库,感兴趣的读者可详细参阅高并发图数据库系统如何实现?³。【文/ 哪吒Emma】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/949061.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

多个开源姿态检测模型项目,上手即用,实测可行!

编辑:OAK中国 项目来源:oakchina.cn 喜欢的话,请多多👍⭐️✍ ▌前言 Hello,大家好,这里是OAK中国,我是助手君。 我发现今年有不少朋友都想做姿态检测,正好我们也有不少客户做过这…

概念解析 | 认知媒介战:重塑信息战争的新纪元

注1:本文系“概念解析”系列之一,致力于简洁清晰地解释、辨析复杂而专业的概念。本次辨析的概念是:认知媒介战。 认知媒介战:重塑信息战争的新纪元 俄乌网络战争观察与思考:混合战争及其背后的信息战- 安全内参| 决策者的网络安全知识库 一、背景介绍 认知媒介战是一个新…

tsmc12nm innovus加endcap失败的原因分析

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 重新create floorplan时加了flip first row就加上了endcap,所以一些情况下设置core2die也可以解决这个问题。 physical only的cell,endcap是要先加的&a…

零知识证明(zk-SNARK)(一)

全称为 Zero-Knowledge Succinct Non-Interactive Argument of Knowledge,简洁非交互式零知识证明,简洁性使得运行该协议时,即便statement非常大,它的proof大小也仅有几百个bytes,并且验证一个proof的时间可以达到毫秒…

Nature:AI新技术助力面部瘫痪患者思维交流

通过使用人工智能(AI)增强的脑机植入物,已经实现了两名瘫痪患者以前所未有的准确度和速度进行交流。 脑机接口将参与者的大脑信号转换为动画的语音和面部动作。来源:Noah Berger 在分别发表于8月23日的《Nature》(IF20…

C语言:指针的运算

一、指针 或 - 整数 指针 或 - 整数表示指针跳过几个字节(具体跳过几个字节由指针类型决定) 本文不做具体讲解,详解跳转链接: 《C语言:指针类型的意义》 二、指针 - 指针 前提条件:指针类型相同并且指向同…

【C语言】每日一题(除自身以外数组的乘积)

添加链接描述,链接奉上 方法: 暴力循环:前缀积后缀积(分组): 暴力循环: 暴力循换真的是差生法宝,简单好懂,就是不实用,大多数的题目都会超过时间限制(无奈) 思路&…

Go的数据结构-接口

接口的底层 iface记录数据的地址,接口类型,接口装载的数据是什么类型,装载的类型实现了什么方法(类型断言) 空接口

巨人互动|游戏出海游戏出海需要考虑哪些方面?

游戏出海是指将游戏产品推向国外市场,以扩大用户群体和增加盈利空间,那么要成功地进行游戏出海,需要考虑哪些方面呢?本文小编对此来讲讲吧! 1、目标市场选择 选择适合游戏产品的目标市场是出海的首要考虑因素&#xf…

ASEMI逆变器专用整流桥GBU814规格,GBU814大小

编辑-Z GBU814参数描述: 型号:GBU814 最大峰值反向电压(VRRM):1400V 平均整流正向电流(IF):8A 正向浪涌电流(IFSM):200A 工作接点温度和储存温度(TJ, Tstg):-55 to 150℃ 最大热阻(RθJC)&#xff1…

SQL语言-01

SQL Structured Query Language 的简单介绍 SQL 中的书写规则 SQL 中的数据类型

8月28日上课内容 第四章 MySQL备份与恢复

本章结构 前言:日志⭐⭐ MySQL 的日志默认保存位置为 /usr/local/mysql/data ##配置文件 vim /etc/my.cnf [mysqld] ##错误日志,用来记录当MySQL启动、停止或运行时发生的错误信息,默认已开启 log-error/usr/local/mysql/data/mysql_error.l…

【ES6】JavaScript的Proxy:理解并实现高级代理功能

在JavaScript中,Proxy是一种能够拦截对对象的读取、设置等操作的机制。它们提供了一种方式,可以在执行基本操作之前或之后,对这些操作进行自定义处理。这种功能在许多高级编程场景中非常有用,比如实现数据验证、日志记录、权限控制…

银行固定资产怎么管理?如何自查现有资产问题?

银行固定资产的管理涉及到资产的购置、采购、维护、保管和清理等多个环节,为了更好地管理和优化固定资产,银行可以从以下几个方面入手: 建立完善的固定资产清单 银行应该建立一个完善的固定资产清单,包括每一项固定资产的名称、类…

MySQL怎样删除重复数据,只保留一条?

在实际工作开发过程中,常常会遇到数据库表中存在多条数据重复了,此时我们需要删除重复数据,只保留其中一条有效的数据; 针对这种场景,我们用SQL语句该怎么实现呢? 数据准备 建表语句: DROP …

盘点科智立KEZLIY那些工业自动化环节使用的RFID读取设备

在工业自动化领域,射频识别(RFID)技术已成为提高生产效率和降低成本的重要手段。科智立KEZLIY作为国内知名的RFID设备供应商,其产品在多个工业自动化环节中得到了广泛应用。本文将为您盘点科智立KEZLIY那些工业自动化环节使用的RF…

亚马逊店铺出新品时,应该注意什么?

要想提升产品销量的话,产品质量不仅要好,同时还需要做好推广宣传,这样单单还不够,还需要做好买家评论。 现如今,由于开亚马逊店铺的人越来越多,导致开亚马逊店铺的市场竞争力也变得越来越大,以…

INDEMIND:“大+小”多机协同,实现机器人商用场景全覆盖

随着商用清洁机器人进入越来越多的场景中,单一的中型机器人并不能有效覆盖所有区域,更加细分化的产品组合正在成为新的趋势。 产品形态的“新趋势” 在商用场景中,目前的商用清洁机器人几乎均是中大型的产品形态,较大的体型意味…

低粉UP主缔造百万播放,下半年B站内容战怎么打?

都知道有热点要懂得蹭,但是等热点开始火起来的时候,腰部以下没有夯实粉丝基础的账号很难在这个内容浪潮中脱颖而出,除非内容差异化很明显,质量突出才会更容易受到关注,更多的情况是流量平平,或者稍有起伏。…

句子时态四:完成进行态(现在完成进行时、过去完成进行时、将来完成进行时、过去将来完成进行时)

课程目标(掌握前两个) 现在完成进行时(重点掌握) 定义 用法 时态标志词 过去完成进行时(重点掌握) 定义 用法 将来完成进行时 (了解拓展) 定义 用法 过去将来完成进行时&#xf…