メインコンテンツまでスキップ

機能詳細

DorisのCross-クラスター Replication(CCR)機能は、複数のクラスタ間でデータを効率的に同期するために主に使用され、ビジネス継続性と災害復旧機能を強化します。CCRはDorisの様々な操作をサポートし、異なるクラスタ間でデータの一貫性を確保します。以下は、CCRでサポートされる主要なDoris操作の詳細です。

注記
  1. Doris Versionの-は、Doris version 2.0以降のCCRの全バージョンを示します。Doris version 2.0.15または2.1.6以降の使用を推奨します。
  2. CCR SyncerとDorisのバージョン要件:Syncer Version >= Downstream Doris Version >= Upstream Doris Version。そのため、最初にSyncer、次にdownstream Doris、最後にupstream Dorisをアップグレードしてください。
  3. CCRは現在、ストレージとコンピュートの分離をサポートしていません。

Database

Database プロパティ

データベースレベルのジョブは、Full Sync中にデータベースのプロパティを同期します。

PropertySupportedDoris VersionSync Method詳細
replication_allocationSupported-Full Sync
data quotaNot Supported
replica quotaNot Supported

Modify Database プロパティ

CCRジョブは、データベースプロパティを変更する操作を同期しません。

PropertySupportedCan Upstream OperateCan Downstream Operate詳細
replication_allocationNot SupportedNoNo両側での操作はCCRジョブの中断を引き起こします
data quotaNot SupportedYesYes
replica quotaNot SupportedYesYes

Rename Database

upstreamとdownstreamでのリネームはサポートされていません。実行するとビューが動作しなくなる可能性があります。

table

table プロパティ

PropertySupportedDoris VersionSync Method詳細
table Model (duplicate, unique, aggregate)Supported-SQL
パーティション and BucketingSupported-SQL
replication_numSupported-SQL
replication_allocation (resource group)Supported-SQLupstreamはdownstreamと一致する必要があり、BEタグが一致する必要があります。そうでなければCCRジョブは失敗します
colocate_withNot Supported
storage_policyNot Supported
dynamic_partitionSupported-SQL
storage_mediumSupported-SQL
auto_bucketSupported-SQL
group_commit seriesSupported-SQL
enable_unique_key_merge_on_writeSupported-SQL
enable_single_replica_compactionSupported-SQL
disable_auto_compactionSupported-SQL
compaction_policySupported-SQL
time_series_compaction seriesSupported-SQL
binlog seriesSupported-SQL
variant_enable_flatten_nestedSupported-SQL
skip_write_index_on_loadSupported-SQL
row_store seriesSupported-SQL
seq columnSupported-SQL
enable_light_schema_changeSupported-SQL
compression_typeSupported-SQL
indexSupported-SQL
bloom_filter_columnsSupported-SQL
bloom_filter_fppSupported
storage_cooldown_timeNot Supported
generated columnSupported-SQL
auto-increment idNot Supported問題があります

Basic table 操作

OperationSupportedDoris VersionSync MethodCan Downstream Operate Independently詳細
create tableSupported-SQL/Partial SyncCCRジョブで同期されるテーブルでは操作できませんテーブル作成のプロパティを参照してください。ほとんどの場合SQLで同期を使用します。ユーザーが特定のセッション変数を設定した場合やcreate table文に転置インデックスが含まれている場合など、一部の操作ではPartial Syncを使用します
drop tableSupported-SQL/Full Sync上記と同様2.0.15/2.1.6以前:Full Sync、以降:SQL
rename tableテーブルレベルのジョブはデータベースレベルのジョブをサポートしません2.1.8/3.0.4SQL上記と同様テーブルレベルジョブのリネームはCCRジョブの停止を引き起こします
replace tableSupported2.1.8/3.0.4SQL/Full Sync上記と同様データベースレベル同期ではSQLを使用し、テーブルレベルではfull syncをトリガーします
truncate tableSupported-SQL上記と同様
restore tableNot Supported上記と同様

Modify table プロパティ

同期方法はSQLです。

PropertySupportedDoris VersionCan Upstream OperateCan Downstream Operate詳細
colocateNot SupportedYesNodownstream操作でfull syncをトリガーするとデータ損失が発生します
distribution typeNot SupportedNoSame
dynamic partitionNot SupportedYesSame
replication_numNot SupportedNoNo
replication_allocationNot SupportedNo
storage policyNot SupportedNoNo
enable_light_schema_changeNot SupportedCCRは軽量スキーマ変更のみ同期できます。
row_storeSupported2.1.8/3.0.4Partial Syncを通して
bloom_filter_columnsSupported2.1.8/3.0.4Partial Syncを通して
bloom_filter_fppSupported2.1.8/3.0.4Partial Syncを通して
bucket numNot SupportedYesNodownstream操作でfull syncをトリガーするとデータ損失が発生します
isBeingSyncedNot SupportedNoNo
compaction series propertiesNot SupportedYesNodownstream操作でfull syncをトリガーするとデータ損失が発生します
skip_write_index_on_loadNot SupportedYesSame
seq columnSupported-YesNodownstream操作でfull syncをトリガーするとデータ損失が発生します
delete sign columnSupported-YesSame
commentSupported2.1.8/3.0.4YesNodownstream操作でfull syncをトリガーするとデータ損失が発生します

Column 操作

テーブル内のBase Indexでの列操作。

OperationSupportedDoris VersionSync MethodCan Downstream OperateRemarks
add key columnSupported-Partial SyncNo
add value columnSupported-SQLNo
drop key columnSupported-Partial SyncSame
drop value columnSupported-SQLSame
modify columnSupported-Partial SyncSame
order bySupported-Partial SyncSame
renameSupported2.1.8/3.0.4SQLSame
commentSupported2.1.8/3.0.4SQLSame
注記

value列の追加/削除には、テーブル作成時にプロパティ"light_schema_change" = "true"の設定が必要です。

テーブル内のRollup Indexでの列操作。

OperationSupportedDoris VersionSync MethodRemarks
add key columnSupported2.1.8/3.0.4Partial Sync
add value columnSupported2.1.8/3.0.4SQLライトニングスキーマ変更の有効化が必要
drop columnSupported2.1.8/3.0.4Partial Sync
modify columnUnknown2.1.8/3.0.4Partial SyncDorisはRollup列タイプの直接変更をサポートしていません
order bySupported2.1.8/3.0.4Partial sync

Rollup

OperationSupportedDoris VersionSync MethodRemarks
add rollupSupported2.1.8/3.0.4Partial Sync
drop rollupSupported2.1.8/3.0.4SQL
rename rollupSupported2.1.8/3.0.4SQL

Index

転置インデックス

OperationSupportedDoris VersionSync MethodRemarks
create indexSupported2.1.8/3.0.4Partial Sync
drop indexSupported2.1.8/3.0.4SQL
build indexSupported2.1.8/3.0.4SQL

Bloom Filter

OperationSupportedDoris VersionSync MethodRemarks
add bloom filterSupported2.1.8/3.0.4Partial Sync
alter bloom filterSupported2.1.8/3.0.4Partial Syncこれはbloom_filter_columnsの変更を指します
drop bloom filterSupported2.1.8/3.0.4Partial Sync

Data

Import

Import MethodSupportedDoris VersionSync MethodCan Downstream Operate詳細
stream loadSupported(一時パーティションを除く)-TXNNo、downstreamがインポートした場合、その後のfullまたはPartial Syncのトリガーによりデータ損失が発生しますupstreamトランザクションが可視になると、つまりbinlog生成時にデータが可視になると、downstreamが同期を開始します。
broker loadSupported(一時パーティションを除く)-TXNSameSame
routine loadSupported(一時パーティションを除く)-TXNSameSame
mysql loadSupported(一時パーティションを除く)-TXNSameSame
group commitSupported(一時パーティションを除く)2.1TXNSameSame

Data 操作

OperationSupportedDoris VersionSync MethodCan Downstream Operate詳細
deleteSupported-TXNNo、downstream操作した場合、その後のfullまたはPartial Syncのトリガーによりデータ損失が発生しますupstreamトランザクションが可視になると、つまりbinlog生成時にデータが可視になると、downstreamが同期を開始します。
updateSupported-TXNSameSame
insertSupported-TXNSameSame
insert into overwriteSupported(一時パーティションを除く)2.1.6Partial SyncSameSame
insert into overwriteSupported(一時パーティションを除く)2.0full syncSameSame
Explicit transaction (3.0) begin commitNot Supported

パーティション 操作

OperationSupportedDoris VersionSync MethodCan Downstream Operate Independently詳細
add partitionSupported-SQLNo、その後のFull SyncまたはPartial Syncのトリガーによりdownstream操作が失われますcooldown timeプロパティとその動作は不明です
add temp partitionNot SupportedSameバックアップはtemp partitionをサポートしません。Doris 2.1.8/3.0.4以降では、upstream FE設定:ignore_backup_tmp_partitionsを変更してこの問題を回避できます
drop partitionSupported-SQL/Full SyncSame2.0.15/2.1.6以前:Full Sync、以降:SQL
replace partitionSupported2.1.7/3.0.3Partial SyncSamePartial Sync strict rangeと非temp partition replace方法のみサポート、そうでなければFull Syncをトリガーします。
modify partitionNot SupportedSameパーティションのプロパティ変更を指します
rename partitionSupported2.1.8/3.0.4SQLSame

Views

OperationSupportedDoris VersionSync MethodRemarks
create viewSupported-SQLupstreamとdownstreamが同じ名前の場合動作します。downstreamに既に存在する場合、作成前に削除されます
alter viewSupported2.1.8/3.0.4SQL
drop viewSupported2.1.8/3.0.4SQL

::: note

Doris実装の制限により、ビュー内の列名/ビュー名はデータベース名と同じにできません。

:::

Materialized Views

マテリアライズドビューの同期

OperationSupportedDoris VersionSync MethodRemarks
create materialized viewSupported2.1.8/3.0.4Partial Syncupstreamとdownstreamが同じ名前の場合動作します。名前が異なる場合、downstreamでビューを手動で再構築する必要があります。
drop materialized viewSupported2.1.8/3.0.4SQL

非同期マテリアライズドビュー

OperationSupported
create async materialized viewNot Supported
alter async materialized viewNot Supported
drop async materialized viewNot Supported
refreshNot Supported
pauseNot Supported
resumeNot Supported

Statistics

upstreamとdownstream間で同期されず、独立して操作されます。

Others

OperationSupported
external tableNot Supported
recycle binNot Supported
catalogNot Supported
workload groupNot Supported
jobNot Supported
functionNot Supported
policyNot Supported
userNot Supported
cancel alter jobSupported