跳到主要内容

功能详情

Doris 中的跨集群复制 (CCR) 功能,主要用于在多个集群之间高效同步数据,从而增强业务连续性和容灾能力。CCR 支持 Doris 中的多种操作,确保数据在不同集群间保持一致性。以下是 CCR 支持的主要 Doris 操作的详细情况。

备注

- 表示 Doris 2.0 及以上版本,CCR 所有版本。建议使用 Doris 使用 2.0.15 或者 2.1.6 或者更新的版本。

库属性

库级别任务在 Full Sync 时会同步库的属性。

属性是否支持Doris versionCCR version同步方式说明
replication_allocation支持--FULL SYNC
data quota不支持
replica quota不支持

修改库属性

CCR 任务不同步修改库属性操作。

属性是否支持上游是否可以操作下游是否可以操作说明
replication_allocation不支持不可以不可以上下游各自操作会导致 CCR 任务中断
data quota不支持可以可以
replica quota不支持可以可以

重命名库

不支持对上下游做重命名,如果做了,可能导致视图不能工作。

表属性

属性是否支持Doris versionCCR version同步方式说明
表模型(duplicate,unique,aggregate)支持--SQL
分区分桶支持--SQL
replication_num支持--SQL
replication_allocation (resource group)支持--SQL上游必须与下游一致,BE tag 必须一致,否则 CCR 任务会失败
colocate_with不支持
storage_policy不支持
dynamic_partition支持--SQL
storage_medium支持--SQL
auto_bucket支持--SQL
group_commit 系列支持--SQL
enable_unique_key_merge_on_write支持--SQL
enable_single_replica_compaction支持--SQL
disable_auto_compaction支持--SQL
compaction_policy支持--SQL
time_series_compaction 系列支持--SQL
binlog 系列支持--SQL待确认
variant_enable_flatten_nested支持--SQL
skip_write_index_on_load支持--SQL
row_strore 系列支持--SQL
seq 列支持--SQL
enable_light_schema_change支持--SQL
compression_type支持--SQL
index支持--SQL
bloom_filter_columns支持--SQL
bloom_filter_fpp不支持
storage_cooldown_time不支持
generated column支持--SQL
自增 id不支持有问题

基础表操作

操作是否支持Doris versionCCR version同步方式下游是否可以单独操作说明
create table支持--SQL不支持操作 CCR 任务同步的表。属性参考创建表部分
drop table支持--2.0.15/2.1.6 前:Full Sync,之后:SQL同上
rename table表级别任务不支持库级别任务支持master(2.0/2.1还不支持)SQL同上表级别任务 rename 会导致 CCR 任务停止
replace table不支持同上
truncate table支持-SQL同上
restore table未知同上

修改表属性

同步方式为 SQL。

属性是否支持Doris versionCCR version上游是否可以操作下游是否可以操作说明
colocate不支持可以不可以,触发full sync 下游操作会丢失
distribution type不支持不可以同上
dynamic partition不支持可以同上
replication_num不支持不可以不可以
replication_allocation不支持不可以
storage policy不支持不可以不可以
enable_light_schema_change不支持CCR 只能同步轻量级 schema change 的表。
row_store未知
bloom_filter_columns未知
bucket num不支持可以不可以,触发full sync 下游操作会丢失
isBeingSyced不支持不可以不可以
compaction 系列属性不支持可以不可以,触发full sync 下游操作会丢失不可以
skip_write_index_on_load不支持可以同上
seq 列支持--可以不可以,触发full sync 下游操作会丢失不可以
delete sign 列支持--可以同上
comment不支持可以不可以,触发full sync 下游操作会丢失不可以

列操作

表中 Base Index 上的列操作。

操作是否支持Doris versionCCR version同步方式下游是否可以操作备注
add key column支持--库级别任务 Partial Sync, 表级别任务 Partial Sync不可以,会导致 CCR 任务中断
add value column支持--SQL不可以,会导致 CCR 任务中断
drop key column支持--库级别任务 Partial Sync, 表级别任务 Partial Sync同上
drop value column支持--SQL同上
modify column支持--Full Sync / Partial Sync同上在开始前会尝试删除下游的表
order by支持--Full Sync / Partial Sync同上在开始前会尝试删除下游的表
rename同上
comment不支持同上

表中 Rollup Index 上的列操作。

操作是否支持备注
add column未知导致 CCR 任务中断
drop column未知同上
modify column未知同上
order by未知同上

Rollup

操作是否支持备注
add rollup不支持
drop rollup不支持
rename rollup不支持CCR 任务中断

索引

Inverted Index

操作是否支持备注
create index不支持影响未知
drop index未知影响未知

Bloom Filter

操作是否支持备注
add bloom filter不支持影响未知
alter bloom filter不支持影响未知
drop bloom filter不支持影响未知

数据

导入

导入方式是否支持Doris versionCCR version同步方式下游是否可以操作说明
stream load支持(临时分区除外)--TXN不可以,如果下游导入了,后续触发full或者Partial Sync,下游导入的数据会丢失上游事务可见,即数据可见时生成binlog,下游开始同步。
broker load支持(临时分区除外)--TXN同上同上
routine load支持(临时分区除外)--TXN同上同上
mysql load支持(临时分区除外)--TXN同上同上
group commit支持(临时分区除外)2.12.1TXN同上同上

数据操作

操作是否支持Doris versionCCR version同步方式下游是否可以操作说明
delete支持--TXN不可以,如果下游操作,后续触发full或者Partial Sync,下游操作会丢失上游事务可见,即数据可见时生成binlog,下游开始同步。
update支持--TXN同上同上
insert支持--TXN同上同上
insert into overwrite支持(临时分区除外)2.1.6Partial Sync同上同上
insert into overwrite支持(临时分区除外)2.0full sync同上同上
显式事务(3.0)begin commit不支持

分区操作

操作是否支持Doris versionCCR version同步方式下游是否可以单独操作说明
add partition支持--SQL不能,后续触发Full Sync 或者 Partial Sync 会导致下游操作丢失cooldown time 属性及其行为未知
add temp partition不支持同上
drop partition支持--2.0.15/2.1.6 前:Full Sync之后:SQL同上
replace partition支持Partial Sync同上Partial Sync 只支持 strict range 和 non-tmp partition 的 replace 方式,否则会触发 Full Sync。
modify partition不支持未发版本未发版本SQL同上
rename partition表级别任务不支持库级别任务支持未发版本未发版本SQL同上表级别任务 rename 会导致 CCR 任务停止

视图

操作是否支持Doris versionCCR version同步方式备注
create view支持--SQL上下游同名时可以工作。
alter view不支持没有binlog
drop view不支持

物化视图

同步物化视图

操作是否支持备注
create materialized view未知上下游同名时可以工作,不同名时需要下游手动重建 view。
drop materialized view未知

异步物化视图

操作是否支持
create async materialized view不支持
alter async materialized view不支持
drop async materialized view不支持
refresh不支持
pause不支持
resume不支持

统计信息

上下游之间不同步,独立工作。

其它

操作是否支持
external table不支持
recycle bin不支持
catalog不支持
workload group不支持
job不支持
function不支持
policy不支持
user不支持
cancel alter job支持