图数据库介绍及应用场景| 学习笔记

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介: 快速学习图数据库介绍及应用场景。

开发者学堂课程【阿里云图数据库 GDB 入门与应用 :图数据库介绍及应用场景】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/623/detail/9443


图数据库介绍及应用场景

 

目录

一、 什么是数据库?

二、 自建图数据库的挑战

三、 应用场景

 

一、什么是数据库?

1.典型的图结构由点,边和点边对应属性构成,圈数据库则是针对能这种结构的独有特点而专门设计的一种数据库,非常适合高度互连数据集的存储和查询。

左边示例中描述的是一个极度简化的社交关系图,圆圈代表顶点( Vertex/node),有方向的线条代表边(Edge),顶点或者边都可以有属性(Property)。

image.png

有三个点,表示三个人物。ID 为1的表示一个年龄为18岁的名字叫 Alice 的人,这些点表示人,上面的属性表示人的属性人与人之间的联系通过边来表示,比如 Alice 和 Bob 之间的关系是认识,边上面还有属性,比如 ID 为100的边上的属性就是2001/10/03,说明是从这一天认识,这个图是明显的结构,由点,边和相关属性构成,而图数据库就是专门为图设计的一种结构,比较适合高度互连数据集的存储和查询。

2.阿里云图数据库

图数据库( Graph Database,简称GDB)是一种支持属性图模型,用于处理高度连接数据查询与存储的实时可靠的在线数据库,支持 TinkerPop Gremlin 查询语言,可以帮助用户快速构建基于高度连接的数据集的应用程序。

image.png

产品的 GDB 分为三层,最底层是引擎层,上面是 database 计算层,在上面支持查询语言 API 的 class 端,用户在 GDB 上面可以构建自己的程序。

纵向是运维的功能,包括产品的高可用,性能管理,备份/恢复,自动扩展,只读副本,安全加密,计费。

3.图数据库 vs 关系数据库

在传统的关键性数据库和图数据库上有明显的区别。

image.png

用户 Userld-xxx 发起“查询自己2度好友中名字叫 james 的人”这样个查询请求,以传统关系数据库的做法,你可能会写出如下查询语句:

select" from t as t3 where t3.uid in(

select friend uid from t as t2 where t2. uid in(

select friend _uid from t as t1 where t1.uid='Userld-xxx

and t3.name='James'

图数据库中查询2度好友:

g. V(Userld-

xxx').repeat(both(). simplePath () times().dedup().has('name

'James')

常用的场景如上,t 表表示用户信息,用户字段 friend uid 表示朋友的 uid,可以看到查询2度好友,有两次的自连操作,需要条件过滤。

图数据库:

g是把所有数据拿出来,找到 User Id-xxx 的点,然后从这个点出发游走,2跳,去重,对属性进行过滤。这只是一个2度查询,可以看到区别。

通过一些性能上的分析可以看到,高度连接的数据查询复杂,效率低下,SQL 语句也复杂。图数据解决了这些复杂的需求,在二度查询平均耗时上,关系型数据库是图数据库的十倍,在三度查询平均耗时上,关系型数据库是图数据库的二十倍。

image.png

在关系型数据库中,高度连接的数据查询复杂且效率低下,而图数据库从基因层面提供了高效解决方案。

面对高度联系的应用场景,选择图数据库。

 

二、自建图数据库的挑战

1. 运维复杂

构建生命周期管理、监控等一系列服务,整体成本很高。

2. 缺乏企业级支持

对于产品的数据集成、产品优化、数据管理,产品Bug等没有完整的支持体系。

3. 可靠性差

需要自己构建高可用系统、自建搭

建监控服务等,成本很高。

4. 价格贵

Neo4j Enterprise Base $189,188 (3 instance)

需要将近十九万美元的成本。

 

三、应用场景

1. 社交网络

在例子讲解,传统数据库对超过三度的查询非常低效,不支持,但图数据库相对容易。

image.png

2. 欺诈检测

通过分析贷款,分期付款的联系人相关信息,进行信用平分。

image.png

3. 搜索引擎

将用户的购买行为,位置关系收藏,实时存储在图数据中,利用图数据库对于高度连接的数据查询高效特点,对用户进行个性化评价。

image.png

4. 其他应用场景

知识图谱、网络/T运营、生命科学等其他领域。

5.社交网络场景:

从用户 A 出发搜索用户 B,甚至搜索跟用户 A 有关系的用户 B,进行一层过滤。前面的案例,关系型数据库表达会非常困难。

A. B 两个用户是如何连接的?

查询最短路径,和短路径之间的阶段

用户推荐

一般有两个实现:

1.两度的人面找, path 多的第一,边最多,可能有很强的关系。

2.如果某个 feature 有很强的识别性,那么直接 featuar 找出相同的用户。

实时推荐场景:

image.png

某 APP,当用户 A 来到商场 B 的时候,如何进行推荐?

根据用户当前的行为、位置等进行实时推荐,最大化数据的商业价值

1.根据朋友,朋友的朋友购买行为进行实时推荐

2.从用户出发,遍历所有朋友、朋友的朋友

3.计算发生“购买”关系最多的商铺,进行推荐

4.“购买”的关系可以替代为“Like”、“打分”等

5.优化:对朋友之间的关系进行亲密度”计算,从而增加“更亲密”朋友的权重

6.实时推荐类似的场景还有

7.用在线进入某个商铺之后,如何进行推荐

金融欺诈场景:

用户A在申贷款额度,或名申请信用支付时:

根据通信录联系人计算个人信用参考值。如果联系中有信用较差的用户,则考虑提高利率或省贷款

从消费者出发,检索贷款分期等金融信息,然后根据金融企业所注册用户的信用信息进行分析,根据消费者通信录联系人,计算个人信用的参考值,或联系人有信用较差的用户,会考虑是否有欺诈行为存在自己。

相关实践学习
阿里云图数据库GDB入门与应用
图数据库(Graph Database,简称GDB)是一种支持Property Graph图模型、用于处理高度连接数据查询与存储的实时、可靠的在线数据库服务。它支持Apache TinkerPop Gremlin查询语言,可以帮您快速构建基于高度连接的数据集的应用程序。GDB非常适合社交网络、欺诈检测、推荐引擎、实时图谱、网络/IT运营这类高度互连数据集的场景。 GDB由阿里云自主研发,具备如下优势: 标准图查询语言:支持属性图,高度兼容Gremlin图查询语言。 高度优化的自研引擎:高度优化的自研图计算层和存储层,云盘多副本保障数据超高可靠,支持ACID事务。 服务高可用:支持高可用实例,节点故障迅速转移,保障业务连续性。 易运维:提供备份恢复、自动升级、监控告警、故障切换等丰富的运维功能,大幅降低运维成本。 产品主页:https://www.aliyun.com/product/gdb
相关文章
|
1月前
|
存储 缓存 NoSQL
在Python Web开发过程中:数据库与缓存,Redis在Web开发中的常见应用场景有哪些?
Redis在Python Web开发中常用于缓存、会话管理、分布式锁、排行榜、消息队列和实时分析。作为内存数据存储,它提供高效的数据结构(如字符串、哈希、列表、集合、有序集合),支持会话存储、互斥操作、计数与排名、队列实现及实时数据处理。其高速性能和丰富功能使其成为多场景下的理想选择。
31 5
|
1天前
|
SQL 存储 数据挖掘
探索数据库技术的奥秘:核心原理、应用场景与实践技巧
一、引言 数据库技术作为现代信息系统中不可或缺的一部分,扮演着存储、管理和检索数据的重要角色
|
1天前
|
边缘计算 Cloud Native 物联网
探索数据库技术的未来:前沿发展与应用场景
一、引言 数据库技术作为信息时代的基石,承载着存储、管理和分析海量数据的重要任务
|
1天前
|
存储 SQL 人工智能
揭秘数据库技术:核心原理、应用场景与未来趋势
一、引言 在数字化和智能化的今天,数据库技术已经成为企业和组织不可或缺的基础设施
|
1天前
|
存储 SQL 数据库
数据库技术探索:基础架构、应用场景与未来展望
一、引言 数据库技术是信息时代的基石,为企业和组织提供了数据存储、检索、分析和管理的核心支撑
|
3天前
|
SQL 存储 数据处理
数据库技术:核心原理、应用场景与未来趋势
一、引言 数据库技术作为现代信息科技的重要支柱,为企业和组织提供了稳定、高效的数据管理手段
|
5天前
|
存储 监控 NoSQL
深入数据库世界:原理、前沿技术与应用场景
一、引言 数据库作为现代信息技术的核心组成部分,承载着各种关键数据,支持着各种复杂的业务操作
|
5天前
|
存储 SQL 多模数据库
深度剖析数据库技术:核心原理、应用场景及未来趋势
一、引言 在信息化时代,数据库技术已成为各行各业不可或缺的一部分
|
5天前
|
存储 SQL NoSQL
解锁数据库奥秘:核心技术、应用场景与未来演进
一、引言 在数字化浪潮中,数据库技术作为数据管理的核心,其重要性不言而喻
|
11天前
|
存储 缓存 NoSQL
MongoDB数据库的主要应用场景是什么?
【6月更文挑战第5天】MongoDB数据库的主要应用场景是什么?
47 1