OushuDB 体系架构概览-阿里云开发者社区

开发者社区> 彦小哲> 正文

OushuDB 体系架构概览

简介: 图1给出了一个典型的OushuDB集群的主要组件。计算部分和存储部分完全分离,可以独立扩容。在图中有多个OushuDB Master节点。元数据管理服务和资源管理服务位于OushuDB Master内部。其他节点为Slave节点。每个Slave节点上安装有一个OushuDB Segment。Segment实现OushuDB的计算。OushuDB Segment在执行查询的时候会启动多个QE (Query Executor, 查询执行器)。查询执行器运行在资源容器里面。在这个架构下,节点可以动态的加入集群,并且不需要数据重新分布。当一个节点加入集群时,他会向OushuDB Master节点发送心
+关注继续查看

图1给出了一个典型的OushuDB集群的主要组件。计算部分和存储部分完全分离,可以独立扩容。在图中有多个OushuDB Master节点。元数据管理服务和资源管理服务位于OushuDB Master内部。其他节点为Slave节点。每个Slave节点上安装有一个OushuDB Segment。Segment实现OushuDB的计算。OushuDB Segment在执行查询的时候会启动多个QE (Query Executor, 查询执行器)。查询执行器运行在资源容器里面。在这个架构下,节点可以动态的加入集群,并且不需要数据重新分布。当一个节点加入集群时,他会向OushuDB Master节点发送心跳,然后就可以接收未来查询了。

image.png
图1

在OushuDB master节点内部有如下几个重要组件:查询解析器(Parser/Analyzer),优化器,资源管理器,容错服务,查询派遣器,元数据服务。在查询执行时,针对一个查询,弹性执行引擎会启动多个虚拟Segment同时执行查询,节点间数据交换通过Interconnect(高速互联网络)进行。如果一个查询启动了1000个虚拟Segment,意思是这个查询被均匀的分成了1000份任务,这些任务会并行执行。所以说虚拟Segment数其实表明了查询的并行度。查询的并行度是由弹性执行引擎根据查询大小以及当前资源使用情况动态确定的。下面我逐个来解释这些组件的作用以及它们之间的关系:
● 查询解析器:负责解析查询,并检查语法及语义。最终生成查询树传递给优化器。
● 优化器:负责接受查询树,生成查询计划。针对一个查询,可能有数亿个可能的等价的查询计划,但执行性能差别很大。优化器的作用是找出优化的查询计划。
● 资源管理器:资源管理器负责整个集群的资源管理。资源管理器需要在并发的查询之间分配资源,并保证查询不使用超过分配给该查询的资源,否则查询之间会相互影响,可能导致系统整体不可用。
● 元数据缓存:用于OushuDB确定哪些Segment扫描表的哪些部分。OushuDB需要把计算派遣到数据所在的地方,所以我们需要匹配计算和数据的局部性。这些需要底层存储数据(比如HDFS块,Magma Range等)的位置信息。位置信息一般在底层存储中,每个查询都访问底层存储中的元数据,会形成瓶颈。所以我们在OushuDB Master节点上建立了元数据缓存。
● 容错服务:负责检测哪些节点可用,哪些节点不可用。不可用的机器会被排除出资源池。
● 查询派遣器:优化器优化完查询以后,查询派遣器派遣计划到各个节点上执行,并协调查询执行的整个过程。查询派遣器是整个并行系统的粘合剂。
● 元数据服务:负责存储OushuDB的各种元数据,包括数据库和表信息,以及访问权限信息等。另外,元数据服务也是实现分布式事务的关键。
● 高速互联网络:负责在节点之间传输数据。使用软件实现,基于UDP协议。UDP协议无需建立连接,从而可以避免TCP高并发连接数的限制。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10084 0
使用NAT网关轻松为单台云服务器设置多个公网IP
在应用中,有时会遇到用户询问如何使单台云服务器具备多个公网IP的问题。 具体如何操作呢,有了NAT网关这个也不是难题。
26793 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13890 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
9161 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
4660 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
7365 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
4506 0
+关注
彦小哲
基础软件新鲜事
55
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载