带你读《Elastic Stack 实战手册》之45:——3.5.4.Graph (上)

简介: 带你读《Elastic Stack 实战手册》之45:——3.5.4.Graph (上)

3.5.4.Graph


创作人:杨丛聿

审稿人:朱荣鑫

 

Graph 介绍

 

图作为一种现实中广泛存在的结构,与我们的生活息息相关,如社交网络、交通网络等。如何抽象的描述这些结构,并对其进行分析,获取潜在价值是一个普遍存在的问题。

 

相比于我们熟悉的关系数据库的建模方式,从 Graph 的角度出发,可以让一些复杂问题和场景的处理变得简单,如行为分析、个性化推荐、知识图谱等。

 

通常来讲,对于图的研究,分为图存储和图计算分析两个场景,二者解决的问题不同,相应的技术栈也有一些差异。

 

图存储

 

更强调图结构的建模,以及解决诸如邻居、路径等查询问题。

 

图计算

 

则是从全局或子图的角度为出发点,经过大量计算,来发现更深层次的问题,其关注的技术点,更多的是资源调度,以及各类经典图分析算法的实现。

 

Elasticsearch 的 Graph 功能介于二者之间,其定位是对已有的结构化数据进行分析,从图的角度去审视已有数据,并发现潜在价值。

 

图通常是以 vertex 和 edge 的模型管理数据,Elasticsearch 也不例外,只是区别于图数据库的先建模后存储,Elasticsearch 中 Graph 的建模逻辑,是在查询中动态填入的,其底层实现


逻辑是基于 Elasticsearch 的 terms 和 aggregations 相关功能。

 

相比于图数据库通常只提供基于 vertex 和 edge 的基础查询,Elasticsearch 由于本身在构建倒排索引时会统计词频,这使其在查询层面,兼具一定的分析能力。可见 Elasticsearch

Graph 本身的定位并不是图结构数据的管理(如知识图谱),而是在已有的结构化数据中,以图的视角来发现一些问题。如库中已存在用户的听歌记录,则可以根据听众偏好,为其进行歌曲的推荐。

 

其他图数据库概览

 

由于 Elasticsearch 本身从逻辑上更接近图数据库,不管是 vertices + connections 的数据模型还是查询模式,本节先介绍下目前主流图数据库的类别和实现逻辑,具体细节不进行展开。

 

目前主流的图数据库,以属性图和 RDF 模型为主;

RDF 相对小众,仅有 DGraph 属于此范畴;

属性图是由节点、边、属性三者构成的有向图,相比于其他数据库,其关键特征之一是边(或连接)与顶点一同被视为模型的核心组件


基于这些理念,一般属性图数据的结构可以归纳如下:

 

每个顶点(vertex)包括:

 

l 唯一标识符

l 一组出边

l 一组入边

l 一组属性(键值对

 

每条边(edge)包括:

 

l 唯一标识符

l 边的起点


l 边的终点

l 描述两个顶点间关系类型的标签

l 一组属性(键值对)

 

对于各类图数据库而言,数据建模的核心便是如何组织这些数据,从存储和索引的角度来看,目前主要分为自行实现和 Graph 层两种:

 

自行实现存储索引

 

代表如 neo4j,其使用了免索引邻接,即每个节点都会维护其相邻节点的引用,免去了基于索引查找相邻节点的开销,这个设计理念在很多图数据库中都可以看到;

 

以 Graph 层的形式构建,使用外置 Nosql 存储和外置索引

 

代表 JanusGraph、HugeGraph,对于此类图数据库,Elasticsearch 便可作为其索引层存在。

除此以外,如何在分布式场景下,对存储和计算进行优化,是各类图数据库遇到的最大问题,针对诸如分布式场景下的分片、删除等问题,逐步诞生了 NebulaGraph、 Dgraph 等。


《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.4.Graph (下) https://developer.aliyun.com/article/1228724

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
5月前
|
存储 人工智能 弹性计算
2026阿里云活动汇总:最新云服务器抢购、AI焕新季、云产品组合购及优惠券活动
2026年阿里云推出多项优惠活动,涵盖轻量应用服务器与云服务器特价抢购、AI焕新季礼包、云产品组合特惠及优惠券等多重福利。活动面向个人开发者、学生、初创企业及中小企业,提供从入门到高性能计算的全场景云资源需求解决方案。用户可根据需求选择不同配置的云服务器,如38元/年的轻量2核2G服务器、99元/年的经济型e实例等,并享受安全加速、数据分析、建站推广等一站式服务。灵活运用优惠券可进一步降低成本,助力业务创新与增长。
|
11月前
|
数据采集 算法 前端开发
AR眼镜在安防领域人脸识别技术方案|阿法龙XR云平台
基于AR眼镜的移动安防人脸识别系统,采用端-边-云协同架构,集成高清红外采集、轻量级人脸检测与多模式识别计算,实现毫秒级身份核验。支持本地、云端及执法终端协同比对,结合动态置信度优化与AR信息叠加,适用于大型场馆、边境巡检等场景,提升执法效率与精准度。(238字)
|
6月前
|
数据可视化 关系型数据库 MySQL
PhpStudy2018怎么用?完整安装与使用指南(新手必看)
PhpStudy2018是一款Windows下PHP集成开发环境,一键安装Apache、MySQL、PHP,免去逐个配置的麻烦。支持多版本PHP切换、可视化服务管理,根目录(WWW)即放即用,适合初学者学习与本地网站调试。(239字)
|
7月前
|
数据采集 人工智能 运维
2026年优质数据治理厂商及产品深度解析,助力企业数字化转型
在数字经济时代,数据治理成为释放数据价值的关键。本文深度解析瓴羊Dataphin、字节Dataleap、奇点云DataSimba等主流数据治理产品,从场景适配、技术实力、合规安全等维度提供选型建议,助力企业破解数据孤岛、质量与合规难题,实现数字化转型科学决策。
|
8月前
|
前端开发 安全 Java
集成Knife4j
knife4j是Java MVC框架集成Swagger的增强工具,前身swagger-bootstrap-ui,旨在提供更美观、易用的API文档界面。轻量如匕首,功能强大,支持全局参数设置、离线文档下载、友好测试界面。集成简便,通过引入starter依赖并访问/doc.html即可使用,助力前后端高效协作,提升接口调试与维护体验。
AVL树(平衡二叉树)的介绍以及相关构建
AVL树(平衡二叉树)的介绍以及相关构建
|
传感器 人工智能 自然语言处理
《DeepSeek MoE架构下,动态专家路由优化全解析》
DeepSeek的混合专家模型(MoE)架构以其独特的设计理念和卓越性能在大模型领域崭露头角。MoE架构模拟人类分工协作,由多个专精于特定任务的“专家”模型组成,通过门控网络调度,确保每个数据得到最专业的处理。其核心亮点——动态专家路由优化技术,仅激活与任务相关的专家,减少计算开销,提升效率。这一机制显著提高了资源利用率和推理速度,并在自然语言处理、图像识别等场景中展现出巨大潜力。未来,MoE架构有望在医疗、自动驾驶等领域发挥重要作用,推动AI技术迈向新高度。
1032 0
|
机器学习/深度学习 算法 C++
数据结构之鲸鱼算法
鲸鱼算法(Whale Optimization Algorithm,WOA)是由伊朗研究员Seyedali Mirjalili于2016年提出的一种基于群体智能的全局优化算法,灵感源自鲸鱼捕食时的群体协作行为。该算法通过模拟鲸鱼的围捕猎物和喷出气泡网的行为,结合全局搜索和局部搜索策略,有效解决了复杂问题的优化需求。其应用广泛,涵盖函数优化、机器学习、图像处理等领域。鲸鱼算法以其简单直观的特点,成为初学者友好型的优化工具,但同时也存在参数敏感、可能陷入局部最优等问题。提供的C++代码示例展示了算法的基本实现和运行过程。
1657 0
|
安全 机器人
Nature子刊:人机融合即将成真!纳米机器人杀死癌细胞,肿瘤生长抑制70%
【7月更文挑战第9天】DNA纳米机器人成功抑制小鼠体内癌细胞生长70%,展示出人机融合治疗癌症的前景。卡罗林斯卡学院科学家利用DNA构造的纳米机器人,识别并选择性攻击癌细胞,其pH敏感设计确保只在肿瘤微环境中激活,减少对健康细胞的影响。尽管需进一步研究优化设计及进行临床试验,这一创新为癌症疗法带来新希望。[链接](https://www.nature.com/articles/s41565-024-01676-4)**
731 1

热门文章

最新文章