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

機能詳細

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

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

データベース

データベースプロパティ

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

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

データベースプロパティの変更

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

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

データベースの名前変更

アップストリームとダウンストリームでの名前変更はサポートされていません。実行すると、ビューが機能しなくなる可能性があります。

テーブル

テーブルプロパティ

PropertySupportedDoris VersionSync Method詳細
table Model (duplicate, unique, aggregate)Supported-SQL
パーティション and BucketingSupported-SQL
replication_numSupported-SQL
replication_allocation (resource group)Supported-SQLアップストリームはダウンストリームと一致している必要があり、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
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問題があります

基本テーブル操作

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を使用し、テーブルレベルでは完全同期をトリガーします
truncate tableSupported-SQL上記と同じ
restore tableNot Supported上記と同じ

テーブルプロパティの変更

同期方法はSQLです。

PropertySupportedDoris VersionCan Upstream OperateCan Downstream Operate詳細
colocateNot SupportedYesNoダウンストリーム操作で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 SupportedYesNoダウンストリーム操作でfull syncをトリガーするとデータ損失を引き起こします
isBeingSyncedNot SupportedNoNo
compaction series propertiesNot SupportedYesNoダウンストリーム操作でfull syncをトリガーするとデータ損失を引き起こします
skip_write_index_on_loadNot SupportedYesSame
seq columnSupported-YesNoダウンストリーム操作でfull syncをトリガーするとデータ損失を引き起こします
delete sign columnSupported-YesSame
commentSupported2.1.8/3.0.4YesNoダウンストリーム操作でfull syncをトリガーするとデータ損失を引き起こします

カラム操作

テーブル内の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

インデックス

転置インデックス

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

データ

インポート

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

データ操作

OperationSupportedDoris VersionSync MethodCan Downstream Operate詳細
deleteSupported-TXNいいえ、ダウンストリームが操作する場合、その後のfullまたはPartial Syncのトリガーでデータ損失が発生しますアップストリームトランザクションが可視、つまりbinlog生成時にデータが可視になると、ダウンストリームが同期を開始します。
updateSupported-TXN同じ同じ
insertSupported-TXN同じ同じ
insert into overwriteSupported(一時パーティションを除く)2.1.6Partial Sync同じ同じ
insert into overwriteSupported(一時パーティションを除く)2.0full sync同じ同じ
明示的トランザクション(3.0)begin commitNot Supported

パーティション操作

OperationSupportedDoris VersionSync MethodCan Downstream Operate Independently詳細
add partitionSupported-SQLいいえ、その後のFull SyncまたはPartial Syncのトリガーでダウンストリーム操作が失われますcooldown timeプロパティとその動作は不明です
add temp partitionNot Supported同じbackupはtemp partitionをサポートしていません。Doris 2.1.8/3.0.4以降、アップストリームFE設定を変更できます:ignore_backup_tmp_partitionsでこの問題を回避
drop partitionSupported-SQL/Full Sync同じ2.0.15/2.1.6より前:Full Sync、以降:SQL
replace partitionSupported2.1.7/3.0.3Partial Sync同じPartial Sync は厳密な範囲と非一時パーティション置換方法のみをサポート、それ以外はFull Syncをトリガーします。
modify partitionNot Supported同じパーティションのプロパティの変更を指します
rename partitionSupported2.1.8/3.0.4SQL同じ

ビュー

OperationSupportedDoris VersionSync MethodRemarks
create viewSupported-SQLアップストリームとダウンストリームが同じ名前の場合に機能します。ダウンストリームに既に存在する場合は、作成前に削除されます
alter viewSupported2.1.8/3.0.4SQL
drop viewSupported2.1.8/3.0.4SQL

::: note

Doris実装の制限により、ビュー内のカラム名/ビュー名をデータベース名と同じにすることはできません。

:::

マテリアライズドビュー

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

OperationSupportedDoris VersionSync MethodRemarks
create materialized viewSupported2.1.8/3.0.4Partial Syncアップストリームとダウンストリームが同じ名前の場合に機能します。名前が異なる場合、ダウンストリームでビューを手動で再構築する必要があります。
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

統計情報

アップストリームとダウンストリーム間で同期されず、独立して操作します。

その他

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