首页/数据/NoSQL 速查/ReplicatedMergeTree 副本表
本包目录(322 条)
MongoDB99 条Elasticsearch89 条
ClickHouse56 条
时序与列式28 条选型与架构50 条

ReplicatedMergeTree 副本表

ReplicatedMergeTree 借助 ZooKeeper/Keeper 做多副本同步:建表时给出该表的协调路径与副本标识,或使用 Replicated 数据库自动生成路径;查询可读任一可用副本。

NoSQL 速查数据更新于 2026-10-12
引擎写法ReplicatedMergeTree('/clickhouse/tables/{shard}/tbl', '{replica}')
路径宏{shard}、{replica} 来自 config.xml 的 macros 配置,保证每台机器取值不同
Replicated 库库引擎为 Replicated 时可直接写 ReplicatedMergeTree,无需手写路径

示例

示例
CREATE TABLE events_local ON CLUSTER prod
(
    ts DateTime,
    id UInt64
)
ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/events_local', '{replica}')
PARTITION BY toYYYYMM(ts)
ORDER BY (id, ts);

-- 等待副本追平
SYSTEM SYNC REPLICA events_local;
写任意一个副本即可,其余副本通过复制日志拉取;相同 INSERT 块按哈希去重,重试写入通常不会产生重复数据。

易错点

  • 同一分片的两个副本必须使用相同的表结构,改表结构要用 ON CLUSTER 保证一致
  • 协调路径拼错或不同表共用同一路径会导致副本冲突,建表前规划好命名

数据来源与参考

  • ClickHouse Docs: ReplicatedMergeTree
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌