腾讯云CDW-ClickHouse云原生实践

腾讯云CDW-ClickHouse演进为云原生服务,采用存算分离架构,实现计算资源与存储资源独立扩展,提供高效弹性能力。文章介绍了元数据管理、计算节点分组隔离、自研表引擎等功能,并展望了未来在存储查询效率、计算节点容灾和更新能力上的改进。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 前言

开源列式数据库ClickHouse以极致的性能、超高的性价比获得了广泛好评。在PB级查询分析场景下ClickHouse是最佳解决方案之一。开源ClickHouse集群采用SHARED-NOTHING架构,增加计算节点非常容易。

02cbd6e26b07e4dedaebe91c0a25d0aa.png

图1:开源ClickHouse架构

但是,开源ClickHouse也有明显的不足之处:

  • 采用存算一体架构,计算与存储耦合。
    存储与计算资源无法独立扩展。用户对计算与存储资源非对称需求越发强烈,并且希望云服务商能够提供更为灵活的资源编排能力。

  • 不具备弹性能力。
    开源ClickHouse集群没有数据均衡功能(rebalance)。在云托管ClickHouse阶段,通过业务层来均衡数据,代价大,耗时长。弹性效率十分低。

  • 运维成本高。
    开源ClickHouse运维成本高。例如,当集群扩容后,增量计算节点无法自动同步存量节点的SCHEMA信息,需要人工介入。

随着云原生理念深入人心,利用云原生架构对开源ClickHouse进行改造,计算资源池化,存储与计算分离,势在必行。业界对云原生ClickHouse并没有明确的定义。云原生ClickHouse至少需要具备以下特征:

  • 采用存算分离架构,计算资源与存储资源独立扩展,按需付费;

  • 高效弹性,计算资源扩容时数据Zero-copy;

  • 计算资源池化,根据业务需求灵活编排计算资源;

  • 易运维,甚至免运维,只关注业务本身;

腾讯云数仓服务CDW-ClickHouse已从云托管演进为云原生服务,下文简称云原生ClickHouse。本文叙述开源ClickHouse云原生改造过程中的难点、方案设计、关键技术、以及未来规划。

2. 云原生架构

为了解决开源ClickHouse的痛点,腾讯云CDW-ClickHouse采用了全新存算分离架构,将服务分为元数据服务层、计算层 和存储资源层。

7dd2fcdf0db7b4b6c343db0ee33dd47a.png

图2:云原生ClickHouse架构图

元数据服务层:元数据服务层包含集群管理节点clickhouse-admin 以及 元数据持久化存储。元数据管理节点clickhouse-admin负责管理集群的元数据元数据包括集群的数据分布表、SCHEMA信息等。同时,clickhouse-admin 还负责计算节点的保活功能。集群管理节点clickhouse-admin为无状态设计,可水平扩展。

计算层:云原生ClickHouse计算层由计算组构成,计算组为计算节点集合。在计算层计算节点可以分组隔离。部署clickhouse-server节点为无状态存在,数据存储剥离到分布式存储系统或对象存储之中。用户可以根据业务合理编排计算资源。

存储资源层:云原生ClickHouse对存储资源做了统一抽象,用户无需关注底层存储。架构层方便集成更多云上分布式存储服务。可以集成低成本无限容量的对象存储,也可以集成低延迟高吞吐的分布式文件系统。

目前,已经集成了对象存储COS,以及分布式文件系统CFS。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值