有奖捉虫:行业应用 & 管理与支持文档专题 HOT

特性描述

原生 ClickHouse 的 MergeTree 系列引擎数据删除操作需要重建底层数据,操作执行代价高,无法在生产环境频繁使用。
LibraDB 提供了轻量级的标记删除,无需重建底层数据,查询时根据删除的 bitmap 快速过滤删除数据,在基本不影响查询效率的情况下,大量降低了删除操作的执行代价。
轻量级删除语句:
ALTER TABLE [db.]table LIGHT WEIGHT DELETE WHERE filter_expr;

使用限制

需要使用轻量级删除特性的 MergeTree 系列引擎在建表时需要增加allow_fast_delete_column = 1 参数(默认 CDC 同步的表已经添加此参数)。

使用说明

以下将构造数据测试轻量级删除和原生 ClickHouse DELETE 的删除性能。

创建库表

1. 创建数据库。n


2. 创建表 t_1 时增加 allow_fast_delete_column = 1 参数。n


3. 创建随机表。n


4. 创建表 t_2 时不增加 allow_fast_delete_column = 1 参数。n


5. 分别将随机表中的数据写入 t_1 和 t_2 中。n



删除数据

轻量级删除:删除 t_1 中数据。
ALTER TABLE [db.]table LIGHT WEIGHT DELETE WHERE filter_expr;
示例:n


原生 Clickhouse 删除:删除 t_2 中数据。
ALTER TABLE [db.]table DELETE WHERE filter_expr;
示例:n


测试结果轻量级删除耗时0.296sec,原生 ClickHouse DELETE 语句删除耗时2.473sec,整体性能提升8倍以上