に最終更新
MySQL スキーマ変更同期
MySQL スキーマ変更同期は、継続的データロード中に上流 MySQL の列変更を Doris に自動的に適用します。この機能は MySQL CDC 自動テーブル作成同期 にのみ適用されます。SQL マッピングを使用した MySQL CDC ではサポートされません。
ヒント
MySQL スキーマ変更同期は Doris 4.1.4 以降でサポートされています。
サポートされるスキーマ変更
| MySQL の操作 | Doris の動作 |
|---|---|
ADD COLUMN | MySQL データ型マッピング で定義された型で、同じ名前の列を追加し、列コメントをコピーします。DEFAULT と NOT NULL の制約はコピーされず、履歴行へのバックフィルも行われません。後続の行では、MySQL が binlog に書き込んだ実際の値が使用されます。 |
DROP COLUMN | 同じ名前の列を削除します。 |
注意事項
- 追加する列がすでに存在する場合、または削除する列が存在しない場合、Doris は操作をスキップするため、再試行してもジョブは失敗しません。
FIRSTとAFTERで指定した列の位置は Doris に同期されません。新しい列は既存の Doris の列の後に追加されます。CHANGE COLUMN、MODIFY COLUMN、RENAME COLUMN、DEFAULT の変更、およびNULL/NOT NULL制約の変更は自動的に同期されません。これらの操作を実行する前に、継続的データロードジョブを一時停止し、Doris のターゲットテーブルを手動で変更して、両方のスキーマに互換性があることを確認してから、ジョブを再開してください。- 主キー、インデックス、パーティション、テーブル名、その他のテーブルレベルのスキーマ変更は自動的に同期されません。
- 自動テーブル作成同期では、スキーマ変更同期がデフォルトで有効になります。現在、Doris にはこれを無効にする SQL プロパティはありません。
cdc_stream()テーブル関数(SQL マッピング同期)では、スキーマ変更同期が内部的に無効になります。