在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

Nebula 架构剖析系列(二)图数据库的查询引擎设计

125次阅读
没有评论

共计 1736 个字符,预计需要花费 5 分钟才能阅读完成。

自动写代码机器人,免费开通
摘要

上文(存储篇)说到数据库重要的两部分为存储和计算,本篇内容为你解读图数据库 Nebula 在查询引擎?Query Engine?方面的设计实践。

在 Nebula 中,Query Engine 是用来处理 Nebula 查询语言语句(nGQL)。本篇文章将带你了解 Nebula Query Engine 的架构。

Nebula 架构剖析系列(二)图数据库的查询引擎设计

上图为查询引擎的架构图,如果你对 SQL 的执行引擎比较熟悉,那么对上图一定不会陌生。Nebula 的 Query Engine?架构图和现代 SQL 的执行引擎类似,只是在查询语言解析器和具体的执行计划有所区别。

Session Manager

Nebula 权限管理采用基于角色的权限控制(Role Based Access Control)。客户端第一次连接到 Query Engine?时需作认证,当认证成功之后 Query Engine?会创建一个新 session,并将该 session ID?返回给客户端。所有的?session?统一由 Session Manger 管理。session?会记录当前 graph space 信息及对该 space 的权限。此外,session?还会记录一些会话相关的配置信息,并临时保存同一?session 内的跨多个请求的一些信息。

客户端连接结束之后 session?会关闭,或者如果长时间没通信会切为空闲状态。这个空闲时长是可以配置的。br / 客户端的每个请求都必须带上此?session ID,否则?Query Engine 会拒绝此请求。

Storage Engine 不管理 session,Query Engine 在访问存储引擎时,会带上 session 信息。

Parser

Nebula 架构剖析系列(二)图数据库的查询引擎设计

Query?Engine 解析来自客户端的 nGQL 语句,分析器 (parser) 主要基于著名的 flex / bison 工具集。字典文件(lexicon)和语法规则(grammar)在 Nebula 源代码的?src/parser? 目录下。设计上,nGQL 的语法非常接近 SQL,目的是降低学习成本。图数据库目前没有统一的查询语言国际标准,一旦 ISO/IEC 的图查询语言(GQL)委员会发布 GQL 国际标准,nGQL 会尽快去实现兼容。br / Parser 构建产出的抽象语法树(Abstrac Syntax Tree,简称?AST)会交给下一模块:Execution Planner。http://m.qd8.com.cn/yiyao/xinxi21_3709996.html

Execution Planner

Nebula 架构剖析系列(二)图数据库的查询引擎设计

执行计划器(Execution Planner)负责将抽象树 AST 解析成一系列执行动作 action(可执行计划)。action 为最小可执行单元。例如,典型的 action 可以是获取某个节点的所有邻节点,或者获得某条边的属性,或基于特定过滤条件筛选节点或边。当抽象树 AST 被转换成执行计划时,所有 ID 信息会被抽取出来以便执行计划的复用。这些?ID 信息会放置在当前请求 context 中,context 也会保存变量和中间结果。焦作国医胃肠专科医院:http://jz.lieju.com/zhuankeyiyuan/37845056.htm/

Optimization

Nebula 架构剖析系列(二)图数据库的查询引擎设计

经由 Execution Planner 产生的执行计划会交给执行优化框架 Optimization,优化框架中注册有多个 Optimizer。Optimizer?会依次被调用对执行计划进行优化,这样每个 Optimizer 都有机会修改(优化)执行计划。最后,优化过的执行计划可能和原始执行计划完全不一样,但是优化后的执行结果必须和原始执行计划的结果一样的。郑州治疗不孕不育医院:http://rgsj.zzfkyy120.com/

Execution

Nebula 架构剖析系列(二)图数据库的查询引擎设计

Query Engine?最后一步是去执行优化后的执行计划,这步是执行框架(Execution Framework)完成的。执行层的每个执行器一次只处理一个执行计划,计划中的 action 会挨个一一执行。执行器也会一些有针对性的局部优化,比如:决定是否并发执行。针对不同的 action 所需数据和信息,执行器需要经由 meta service 与 storage engine 的客户端与他们通信。

向 AI 问一下细节

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-18发表,共计1736字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 神马午夜影院 | 中文字幕在线视频网 | 在线电影亚洲 | 久久棈精品久久久久久噜噜 | 亚洲网站免费 | 特黄级 | 一个人看www在线高清免费看 | 在线观看免费人成视频 | 国产精品自在线拍国产 | 牛仔裤美女国产精品毛片 | 国产在线观看黄色 | 久久精品久| 天天天天躁天天爱天天碰 | 成人人免费夜夜视频观看 | 欧美精品日日鲁夜夜 | 国产在线精品福利大全 | 中字幕视频在线永久在线观看免费 | 精品小视频 | 久久精品国产亚洲av嫖农村妇女 | 欧美日本在线 | 国产理伦 | 欧美精品h在线播放 | 精品国产成人在线 | 美女和男人免费网站视频 | 内射人妻少妇无码一本一道 | 成年女人免费视频播放体验区 | 国产伦精品一区二区三区视频小说 | 久久91久久91精品免费观看 | 久久久久久九九精品久小说 | 女女女女bbbbbb毛片在线 | 日本在线观看网站 | 四虎亚洲 | 黄色免费视频网站 | 欧洲无码精品a码无人区 | 午夜刺激爽爽视频免费观看 | 成人福利视频在线观看网址 | 免费一级生活片 | 国产第六页 | 乱人伦人妻精品一区二区 | 91女神视频| 国内精品久久久久久久999下 |