写点什么

图数据库在社交方向上的应用

用户头像
tanekf
关注
发布于: 54 分钟前

图数据库在处理关联关系上具有完全的优势,特别是在我们这个社交网络得到极大发展的互联网时代。

如果我们希望知道谁 LIKES(喜欢)谁(喜欢可以是单向或双向),也想知道谁是谁的 FRIEND_OF(朋友),谁是所有人的 LEADER_OF(领导)。通过搜索来查找,便需要耗费巨量的时间来一一对比,但通过图数据库的子图查询,则可以对这些各异的需求进行更精准的响应。

 

子图查询最直接的优点就是对数据需求的表达能力很强。假设我们有一个查询需求:“查询小明的哪个朋友,既是小刚的领导,又喜欢小红”。已有的查询理解方式往往只是从查询中抽取关键字来进行,而子图的方式则更为精准,如下图所示。

子图能够理解查询的目标是个顶点,顶点有三条关联的边,分别是对“小红”的喜欢关系,小明的朋友关系,和小刚的领导关系,当下的搜索引擎的主干技术均在于对语句分词,得到关键字后通过关键字对目标网页进行召回排序并反馈,关键字序列的信息相比原句是有不少信息损失的。同时,搜索引擎所获取的信息也是非结构的复杂的数据,如果直接按排序提供给用户,用户需要另外浏览选择过滤得到目标的结果,用户可能在无关的网页中进行费时的筛选。

 

如上所述,以关键字理解查询需求存在不少信息损失,以网页文本集反馈用户,对用户来说其实也存在额外的信息获取成本,而通过图数据库子图同构的查询,能够对查询需求进行更为精准地响应。

 

除了在社交关联查询中尤为明显的优越性,图数据库还有如下优势:

1.         用户可以面向对象的思考,用户使用的每个查询都有显式语义,使得用户不必纠结于代码如何编写。

2.         用户可以实时更新和查询图数据库,灵活应对海量的关系变化,如增加删除关系、实体等。

3.         图数据库有利于实时的大数据挖掘结果可视化。

 

以下推荐一些不错的图数据分析引擎:

 

1. GraphScope:

GraphScope 是阿里巴巴达摩院智能计算实验室研发并开源的一站式图计算平台。依托于阿里海量数据和丰富场景,与达摩院的高水平研究,GraphScope 致力于针对实际生产中图计算的上述挑战,提供一站式高效的解决方案。GraphScope 提供 Python 客户端,能十分方便地对接上下游工作流,具有一站式、开发便捷、性能极致等特点。它具有高效的跨引擎内存管理,在业界首次支持 Gremlin 分布式编译优化,同时支持算法的自动并行化和支持自动增量化处理动态图更新,提供了企业级场景的极致性能。在阿里巴巴内部和外部的应用中,GraphScope 已经证明在多个关键互联网领域(如风控,电商推荐,广告,网络安全,知识图谱等)实现重要的业务新价值。

 

2. GDB:

GDB(Graph Database)是阿里云上一款标准图数据产品,目前正在公测中,官网提示正式商业化时间是 2019 年 12 月 31 日。GDB 是一种支持属性图模型,用于处理高度连接数据查询与存储的实时可靠的在线数据库,支持 TinkerPop Gremlin 查询语言;高度优化的自研图计算层和存储层,云盘多副本保障数据超高可靠,支持 ACID 事务;支持高可用实例,节点故障迅速转移,保障业务连续性;提供备份恢复,自动升级,监控告警,故障切换等丰富的运维功能,大幅降低运维成本。

 

3. Neo4j:

Neo4j 是一个嵌入式的、基于磁盘的、具备完全的事务特性的 Java 持久化引擎,但是它将结构化数据存储在网络上而不是表中。Neo4j 提供了大规模可扩展性,在一台机器上可以处理数十亿节点/关系/属性的图,可以扩展到多台机器并行运行。相对于关系数据库来说,图数据库善于处理大量复杂、互连接、低结构化的数据,这些数据变化迅速,需要频繁的查询——在关系数据库中,这些查询会导致大量的表连接,因此会产生性能上的问题。Neo4j 重点解决了拥有大量连接的传统 RDBMS 在查询时出现的性能衰退问题。通过围绕图进行数据建模,Neo4j 会以相同的速度遍历节点与边,其遍历速度与构成图的数据量没有任何关系。此外,Neo4j 还提供了非常快的图算法、推荐系统和 OLAP 风格的分析,而这一切在目前的 RDBMS 系统中都是无法实现的。

用户头像

tanekf

关注

还未添加个人签名 2021.06.11 加入

还未添加个人简介

评论

发布
暂无评论
图数据库在社交方向上的应用