当前位置:网站首页>华为云图引擎服务
华为云图引擎服务
2022-06-24 06:41:00 【程思扬】
前言
本文将分为以下3个部分进行介绍:
第1章 什么是图计算
第2章 图引擎服务介绍
第3章 查询和分析功能介绍
本文主要介绍了图计算定义及特点,希望通过本文能够让你了解图计算及华为云图引擎服务,掌握使用图引擎进行查询和分析
一、什么是图计算
1.图.无处不在
在现实生活中,人与人,物品与物品,人与物品之间存在着多样性的关系,我们会获得多种多样的图,如下所示,可以看出图在我们现实生活中是无处不在的。
通信网络
顶点: devices, routers; 边: network flow

社交网络
顶点: users, posts; 边: relations, Likes

用户商品图
顶点: users, items; 边: Ratings

天气变化的Wiki文章
顶点: Wiki articles; 边: Links

2. 什么是图计算
• 定义:“图计算”是以“关系”为基础对现实世界的一种“图”结构的抽象表达,以及在这种数据结构上的计算模式
• 描述: G = (V,E,D) V = vertex (顶点或者节点) E = edge (边) D = data (属性&权重)
• 擅长: 擅长处理具备连接关系的、海量的、多变的数据的查询、分析;
特点:
• 不依赖数据的结构化,数据多样
• 多数据关联,具备传播能力
• 数据动态变化,实时交互式分析
• 可解释
天然就是图数据关系:
• 社交关系
• 资讯传播网络
• 通信网络
• 组织结构
• ……
适合场景:
• 意见领袖挖掘
• 好友推荐
• 用户分群
• 组织结构分析
• ……
3. 图计算优势
• 表达能力强,适合表达多种复杂关系、支持丰富语义
从表达能力上看,传统数据库表达数据相对单一,图计算可以支持N对N的表达,形式更加多样,表达能力更强
丰富的数据表达,可扩展性支持
关系数据库 图计算
(1:1或1:N) (N:N)

• 大数据量下,潜在关系挖掘 快速高效
从性能上看,图计算对于多重关系的查询速度远远高于传统的数据库,同时图具备高性能的并行计算能力
无论从表达能力上还是性能上均可以看出,图计算具有更大的应用优势,
快速的多跳关系查询
跳数 | 关系数据库 | 图引擎服务 | 返回的记录数 |
2 | 0.162 | 0.025289 | 213597 |
3 | 63.589 | 0.779019 | 1031115 |
4 | 1368.662 | 1.452095 | 1227152 |
5 | 未完成 | 1.474496 | 1230000 |

• 图计算可能成为AI下一跳的关键基础技术
图计算在高维稀疏场景性能有望提升百倍

NIPS/SIGMOD/NDSI等数据库、图计算和AI领域顶会观点总结:
• 数学上,在AI计算中,图计算和深度学习是硬币两面,具有等价性、可互换
4. 图计算 ∙ 稳步上升到顶峰阶段

5. 图计算发展-技术日趋完善,生态日趋稳定
图计算功能如今技术已日趋完善,很多公司都发布了自己的图计算产品,生态也已趋稳定
2、 图引擎服务介绍
1. 图引擎服务:超大规模一体化图分析与查询
华为云图引擎服务是一种超大规模一体化图分析与查询平台,内部具有丰富的图分析算法库,高性能的图计算内核,分布式高性能存储引擎,支持属性图的扩展,同时开源接口兼容,并且结果呈现格式上多样化,具有大规模,高性能,查询分析一体化,简单易用等优点


2. 图引擎服务整体解决方案
用户可以将自己的历史数据批量式的导入图引擎服务,同时还提供了增量式的数据导入方式,方便用户进行实时的数据更新,也可以通过图引擎提供的SDK轻松访问图引擎服务,使用方便,操作简单。

3. 图引擎服务使用页面

• 图查询区:支持标准图查询语言Gremlin,兼容您的使用习惯
• 图分析区:提供丰富的图分析算法,简单易用
• 可视化区:支持,所见即所得可视化展示
• 结果记录区:操作记录可见,支持JSON格式结果导出, 轻松获取
4. 使用场景
华为云图引擎服务使用场景也非常丰富
互联网
好友/商品/资
讯推荐
异常行为分析舆情分析

知识图谱
智能问答知识消歧
学习路径推荐

金融风控
实时欺诈检测失联人员追踪信度分析

智慧城市
路径规划
管道压力调节城市路网调控

3、 查询功能
什么是Gremlin?

Gremlin是Apache TinkerPop 框架下的图遍历语言Gremlin是一种函数式数据流语言,可以使得用户使用简洁的方式表述复杂的属性图
(property graph)的遍历或查询每个Gremlin遍历由一系列步骤
(step,可能存在嵌套)组成,每一步都在数据流(data stream) 上执行一个原子操作
除了华为图引擎服务,TA们也用的是Gremlin,已经成为业界的事实标准

1. Gremlin基本操作(一)
常用的语句如下所示,通过各个语句的轻松组合可以实现复杂查询功能
• map(x)
select(“a”,”b”) id() mean() count()value(“age”) order()sum() groupCount()
• flatMap(x)
out(“knows”) values(“name”) properties() v()in(“created”) match(x,y,z) outE(“knows”)
• filter(x)
has(“name”,“gremlin”) and(x,y)coin(0.5)dedup(10)where(“a”,eq(“b”)or(x,y)sample(10)
• sideEffect(x)
groupCount(“m”)tree(“m”)subgraph(“m”)store(“m”)group(“m”)
2. Gremlin基本操作(二)
例如: “gremlin” 认识的人的年龄分布
我们可以将其分解为以下五个步骤
(1) 所有人

(2) 然后找到名字为“gremlin”的人

(3) gremlin” 认识的人

(4) 基于上一步,查询这些人的年龄

(5) 获得年龄分布

通过以上五个步骤,我们可以实现gremlin” 认识的人的年龄分布
3. 查询功能总结
支持业界标准图查询语言:Gremlin
Gremlin 遍历由一系列步骤(可能存在嵌套)组成,每一步都在数据流上执行一个原子操作
基本操作:map(x), filterMap(x)、filter(x)、sideEffect(x)等:
举例:”gremlin“认识的人的年龄分布
g.V().has("name","gremlin").cout("knows").values("age").groupCount()
以上是对华为云图引擎做的简要介绍
4、 分析功能
1. 应用场景和算法联系

2.算法实践: 社交网络 — 个体价值发掘
背景:
以新浪微博为例,如何给每个用户评分?
(传统评分=关注数+粉丝数+微博数)

基于PageRank的用户评价
利用各种中心度(centrality),TrustRank之类的算法寻找社交网络中的领袖人物(高价值用户)
3. 算法实践: 社交网络 — 好友推荐
背景:
你在 Facebook 上更新一下联系人,会得到后台很多联系人推送,你会发现Facebook 的推送节制而高效, 既没过分打扰,又能打开你的人脉

基于三元闭包理论的好友推荐

基于三元闭包理论,结合图上的三角计数,聚类系数,最短路径,k度好友,关联预测等算法,进行社交网络紧密度分析,实现好友推荐
4. 算法实践: 社交网络 — 社团推荐
背景:
已知老王的朋友圈里的人相关信息,能否估计老王经济状况、信用风险?

“物以类聚,人以群分”

利用社团算法(K-core, Louvain,Label Propagation等)进行社团/群组分析
5. 算法实践: 社交/多媒体/电商 — 实时推荐
背景:
某电影平台上,拥有庞大的用户群、电影库,如何在用户进行一系列行为时进行实时精准的推荐?
如何解决数据稀疏性问题,如何考虑复杂的关系的影响……?
采用Pixie、GRank等多种算法进行大数据量、复杂场景下的实时推荐
6. 算法实践: 分析功能总结
应用场景:社交网络、精准营销、信贷保险等
功能划分:找关联(链路分析、度/邻居)、找路径、找群体( 社团类、传播类)、找特征
图计算算法:PageRank、最短路、K-hop、聚类系数、三角计数、Centrality、最大关联子图、
Degree Correlation、K-core、标签传播、Louvain、PPR、关系预测、传播模型、node2vec等
算法实践举例:
个体价值发掘:
PageRank、Centrality、TrustRank 等
好友推荐:
基于三元闭包理论
三角计数,聚类系数,最短路径,k度好友等
社团发现:
K-core, Louvain,Label Propagation等社团算法
实时推荐:
Pixie、GRank等
边栏推荐
- Go operation SQLite code error
- Another double win! Tencent's three security achievements were selected into the 2021 wechat independent innovation achievements recommendation manual
- 多传感器融合track fusion
- System design: partition or data partition
- mysql中的 ON UPDATE CURRENT_TIMESTAMP
- Virtual file system
- The cloud monitoring system hertzbeat V1.1.0 is released, and a command starts the monitoring journey!
- 内网学习笔记(4)
- 展锐芯片之GPU频率
- NVIDIA control panel does not open what is NVIDIA control panel
猜你喜欢

Maui uses Masa blazor component library

Functions in setinterval cannot have parentheses

In the middle of the year, I have prepared a small number of automated interview questions. Welcome to the self-test

JVM debugging tool -jvisualvm

JVM调试工具-Arthas

Typora收费?搭建VS Code MarkDown写作环境

机器人迷雾之算力与智能

Database stored procedure begin end

Internet cafe management system and database

Counter attack of flour dregs: MySQL 66 questions, 20000 words + 50 pictures
随机推荐
The P2V and V2V software starwind converter is really easy to use
What is domain name resolution? What if the domain name cannot be resolved?
mysql中的 ON UPDATE CURRENT_TIMESTAMP
Intelligent Vision Group A4 paper recognition example
How do I reinstall the system? How to install win10 system with USB flash disk?
System design: partition or data partition
应用配置管理,基础原理分析
You have a chance, here is a stage
Go breakpoint continuation
SAP实施项目上的内部顾问与外部顾问,相互为难还是相互成就?【英文版】
JVM debugging tool -jvisualvm
Overview of cloud computing advantages of using cloud computing
Localized operation on cloud, the sea going experience of kilimall, the largest e-commerce platform in East Africa
Introduction to game design and development - layered quaternion - dynamic layer
The data synchronization tool dataX has officially supported reading and writing tdengine
JSON formatting method advantages of JSON over XML
[Yugong series] June 2022 asp Basic introduction and use of cellreport reporting tool under net core
JVM debugging tool -jps
浅谈如何运营好小红书账号:利用好长尾词理论
Counter attack of flour dregs: MySQL 66 questions, 20000 words + 50 pictures