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

機能詳細

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でのリネームはサポートされていません。実行すると、viewが動作を停止する可能性があります。

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 tabletable-levelジョブはdatabase-levelジョブをサポートしません2.1.8/3.0.4SQL上記と同じtable-levelジョブのリネームはCCRジョブを停止させます
replace tableSupported2.1.8/3.0.4SQL/Full Sync上記と同じdatabase-level同期ではSQLを使用、table-levelではfull synchronizationをトリガーします
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 columnの追加/削除には、テーブル作成時にプロパティ"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.4SQLlightning schema changeの有効化が必要
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

Inverted 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 SupportedSameBackupは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実装の制限により、view内のカラム名/view名はデータベース名と同じにできません。

:::

Materialized Views

Materialized viewの同期

OperationSupportedDoris VersionSync MethodRemarks
create materialized viewSupported2.1.8/3.0.4Partial Syncupstreamとdownstreamで同じ名前の場合に動作可能。異なる名前の場合、downstreamでviewの手動再構築が必要です。
drop materialized viewSupported2.1.8/3.0.4SQL

非同期materialized view

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