Skip to content
Latchkey

Schema Evolution - CI/CD用語集の定義

schema evolutionは、既存の読み手への後方互換性を保ちながら、datasetの構造を時間とともに変更することです。

schema evolutionは、既存の読み手を動作させ続けながら、datasetの構造を時間とともに制御された形で変更すること(列の追加、リネーム、型変更)です。追加的な変更は安全ですが、削除や型変更は互換性を壊します。

シリアライゼーションのframeworkやテーブルフォーマットは、どのschema変更が安全かのルールを提供し、pipelineが消費者を壊さずに進化できるようにします。

安全 vs 互換性を壊す変更

nullableな列を追加するのは後方互換です。列の削除、リネーム、型の狭化は互換性を壊すため、CIでdata-contractのチェックを失敗させるべきです。

関連ガイド