表格存储服务 CLOUDTABLE-ClickHouse表引擎概述:概述

时间:2024-10-11 10:34:12

概述

表引擎即表的类型,在云数据库ClickHouse中决定了如何存储和读取数据、是否支持索引、是否支持主备复制等。云数据库ClickHouse支持的表引擎,请参见下表。

表1 表引擎

系列

描述

表引擎

特点

MergeTree

  • MergeTree系列引擎适用于高负载任务,支持大数据量的快速写入并进行后续的数据处理,通用程度高且功能强大。
  • 该系列引擎的共同特点是支持数据副本、分区、数据采样等特性。

MergeTree

  • 基于分区键(partitioning key)的数据分区分块存储。
  • 数据索引排序(基于primary key和order by)。
  • 支持数据复制(带Replicated前缀的表引擎)。
  • 支持数据抽样。

在写入数据时,该系列引擎表会按照分区键将数据分成不同的文件夹,文件夹内每列数据为不同的独立文件,以及创建数据的序列化索引排序记录文件。该结构使得数据读取时能够减少数据检索时的数据量,极大的提高查询效率。

RelacingMergeTree

用于解决MergeTree表引擎相同主键无法去重的问题,可以删除主键值相同的重复项。

CollapsingMergeTree

CollapsingMergeTree它通过定义一个sign标记位字段记录数据行的状态。如果sign标记为1,则表示这是一行有效的数据。如果sign标记为-1,则表示这行数据需要被删除。

VersionedCollapsingMergeTree

在建表语句中新增Version列,用于解决CollapsingMergeTree表引擎乱序写入导致无法正常折叠(删除)的问题。

SummigMergeTree

用于对主键列进行预先聚合,将所有相同主键的行合并为一行,从而大幅度降低存储空间占用,提升聚合计算性能。

AggregatingMergeTree

AggregatingMergeTree是预先聚合引擎的一种,用于提升聚合计算的性能。AggregatingMergeTree引擎能够在合并分区时,按照预先定义的条件聚合数据,同时根据预先定义的聚合函数计算数据并通过二进制的格式存入表内。

GraphiteMergeTree

用于存储Graphite数据并进行汇总,可以减少存储空间,提高Graphite数据的查询效率。

Replicated*MergeTree

ClickHouse中的所有MergeTree家族引擎前面加上Replicated就成了支持副本的合并树引擎。

Replicated*MergeTree系列

Replicated系列引擎借助ZooKeeper实现数据的同步,创建Replicated复制表时通过注册到ZooKeeper上的信息实现同一个分片的所有副本数据进行同步。

Distributed

-

Distributed

本身不存储数据,可以在多个服务器上进行分布式查询。

support.huaweicloud.com/devg-cloudtable/cloudtable_01_0312.html