暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ByConity架构介绍

wzf0072 2024-02-28
105

ByConity架构介绍

基于以上使用过程中发现的问题,我们在开源的ClickHouse架构基础上进行了升级,引入了计算与存储分离的架构,将原本计算和存储分别在每个节点本地管理的架构转换为在分布式存储上统一管理整个集群内所有数据的架构,使得每个计算节点成为一个无状态的单纯计算节点,并利用分布式存储的扩展能力和计算节点的无状态特性实现动态的扩缩容。此外,该架构还支持多租户隔离和读写任务的分离。实现了以下优势:

高弹性、高扩展性:计算和存储独立扩缩容

多租户隔离:不同租户使用不同计算组

读写分离:读写使用不同的计算资源

存储计算分离架构

从总体架构上讲,ByConity的存储计算分离架构如图 3所示,主要分为三层:共享服务层、计算层和云存储层。

共享服务层:主要组件是Cloud Service,是所有查询的入口,会对查询进行解析和优化,生成Query Plan然后下发给计算层处理。它同时相当于一个协调者的角色,负责一些服务、组件和事务的管理,也包含元数据的管理--Metadata Storage。

计算层:主要是计算资源组--Virtual Warehouse(简称VW) ,计算资源组件可以动态启停,包括一个 Read VW 和一个 Writer VW。在 Read VW 中,每个 Worker 节点都有一个 Optimizer 和 Runtime 模块,以及一个 Disk Cache 模块来缓存部分数据以减少对分布式存储远端系统的访问,热点数据存储在 Disk Cache 模块中。在 Writer VW 中,数据会先以 ClickHouse 格式写入本地磁盘--Local Disk,然后再批量写入分布式存储,以提高写入性能。

云存储层:是分布式统一存储系统,ByConity所有的数据都存储在这一层,在计算层进行查询时,会从云存储层中读取数据。云存储层的具体实现可以采用各种云存储服务,如HDFS、S3等。

除此之外,ByConity还包括一些共享的服务组件,如TSO、Daemon Manager、Resource Manager、后台任务和服务发现等组件。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论