全部产品
Search
文档中心

云数据库 ClickHouse:基本概念

更新时间:Dec 11, 2024

本文为您介绍云数据库ClickHouse产品中涉及的一些基本术语和概念,以便于您更好地理解云数据库ClickHouse产品。

通用概念

地域(Region)

云数据库ClickHouse的服务器的地理位置。在购买云数据库ClickHouse服务时,您需指定服务地域,并且地域一旦指定后,无法进行更改。

可用区(Zone)

在同一地域下,电力和网络隔离的物理区域。可用区之间内网互通,且内网络延时更小。

数据库(Database)

数据库是云数据库ClickHouse集群中的最高级别对象,其由表(Table)、列(Column)、视图(View)、函数、数据类型等组成。

社区兼容版

ClickHouse集群(Cluster)

在物理构成上,ClickHouse集群由多个ClickHouse Server实例组成,形成一个分布式数据库。这些ClickHouse Server根据采购规格的不同,可能包含一个或多个副本(Replica)以及一个或多个分片(Shard)。

在逻辑构成上,一个ClickHouse集群可以包含多个数据库(Database)对象。

副本配置(Edition)

ClickHouse集群包含如下副本。

  • 双副本版:每个节点包含两个副本,当某个副本的服务不可用时,同一分片的另一个副本仍可持续提供服务。

  • 单副本版:每个节点只有一个副本,当该副本的服务不可用时,将导致整个集群的不可用。若要集群继续提供稳定服务,只能等待该副本完全恢复服务状态。

说明
  • 双副本版的资源以及对应的购买成本都是单副本版的2倍。

  • 由于底层云盘提供高可靠保证,即便是单副本版也能确保数据不会丢失。

分片(Shard)

在超大规模海量数据处理场景下,单台服务器的存储与计算资源可能会成为瓶颈。为了进一步提高服务效率,云数据库ClickHouse将海量数据分散存储至多台服务器上,每台服务器只存储和处理海量数据的一部分。在这种架构下,每台服务器被称为一个分片(Shard)。

副本(Replica)

为了在异常情况下保证数据的安全性和服务的高可用性,云数据库ClickHouse提供了副本机制,将单台服务器的数据冗余存储在两台或多台服务器上。

表(Table)

表用于存储数据的基本结构。它由行和列组成,其中每一列表示一个字段,每一行表示一条记录。

从数据分布角度来看,云数据库ClickHouse的表可以分为两种类型:本地表和分布式表。

表类型

说明

区别

本地表(Local Table)

数据只会存储在当前写入的节点上,不会被分散到多台服务器上。

  • 本地表的写入和查询,受限于单台服务器的存储、计算资源,不具备横向拓展能力。

  • 分布式表的写入和查询,可以利用多台服务器的存储、计算资源,具有较好的横向拓展能力。

分布式表(Distributed Table)

本地表的集合。

它将多个本地表抽象为一张统一的表,对外提供写入和查询功能。当写入数据时,数据会被自动分发到集合中的各个本地表中;当查询数据时,集合中的各个本地表都会被分别查询,并且把最终结果汇总后返回。

从存储引擎角度来看,云数据库ClickHouse的表也可以分为两种类型:单机表和复制表。

表类型

说明

区别

单机表(Non-Replicated Table)

数据只会存储在当前服务器上,不会被复制到其他服务器,即只有一个副本。

  • 单机表在异常情况下无法保证服务高可用。

  • 复制表在至少有一个正常副本的情况下,能够对外提供服务。

复制表(Replicated Table)

数据会被自动复制到多台服务器上,形成多个副本。

Data part

Data part是指存储在硬盘上的一个数据片段,它是ClickHouse表数据存储的基本单位。每次向ClickHouse表写入数据时,都会生成一个新的数据分片。每个数据分片都是自包含的,包括了该部分数据的所有列和索引,且保持着数据的有序性。数据分片的设计支持了高效的合并和压缩操作,这对于ClickHouse的高性能查询处理至关重要。

企业版

ClickHouse集群

ClickHouse集群包含若干单位计算资源和存储资源,能够提供ClickHouse引擎数据存储和分析服务的PAAS服务。

Worker节点

Worker节点是ClickHouse集群内部的副本节点,参与引擎计算的实际资源。

CCU

CCU(ClickHouse Compute Unit)是ClickHouse集群计算资源的计量和计费单位,1 CCU对应资源为1 Vcpu 4 GiB。标准计费单位:CCU/分钟。

计算资源自动弹性

计算资源自动弹性(Autoscaling)是计算资源按照CCU粒度进行资源弹性扩展,根据Mem的使用情况进行自动的CCU扩展。

弹性资源设置区间

弹性资源设置区间是用户设置CCU使用区间,弹性扩缩必须保持在用户设置的资源区间内,不能小于最小值且不能大于最大值。

存储资源

存储资源是企业版本采用的共享存储方案,按需付费。