【发布时间】:2019-04-30 16:08:00
【问题描述】:
我将 ClickHouse 用于带有ReplacingMergeTree 的“一种可更新的大型(数亿行)表”。我需要批量更新并做一些非聚合选择。它工作正常。
即使它有点 hack 并且远非最佳(我的意思是与 OLAP 的 Clickhouse 不同),它可以很好地扩展并且仍然比 HBase 或 RDBM 等或多或少专用于此的系统更快(满足我的需要)。
我使用带键的ReplacingMergeTree 表:
CREATE TABLE Things (Key Int32, ValueA Int32, ValueB Int32)
ENGINE = ReplacingMergeTree() ORDER BY Key
我更新:
INSERT INTO Things (Key,ValueA,ValueB) ...
并使用“FINAL”修饰符进行选择:
SELECT Key,ValueA,ValueB FROM Things FINAL WHERE ...
我可以使用名为“Killed”的列“删除”对象。但有时,我需要清理“Killed”对象以防止表无休止地增长。
我发现的唯一方法是重新创建一个新表并在其中插入非终止行。 有更聪明的方法吗?
【问题讨论】:
标签: clickhouse