Schema Evolution - CI/CD用語集の定義
schema evolutionは、既存の読み手への後方互換性を保ちながら、datasetの構造を時間とともに変更することです。
schema evolutionは、既存の読み手を動作させ続けながら、datasetの構造を時間とともに制御された形で変更すること(列の追加、リネーム、型変更)です。追加的な変更は安全ですが、削除や型変更は互換性を壊します。
シリアライゼーションのframeworkやテーブルフォーマットは、どのschema変更が安全かのルールを提供し、pipelineが消費者を壊さずに進化できるようにします。
安全 vs 互換性を壊す変更
nullableな列を追加するのは後方互換です。列の削除、リネーム、型の狭化は互換性を壊すため、CIでdata-contractのチェックを失敗させるべきです。
関連ガイド
Data Contract - CI/CD Glossary DefinitionData Contract: A data contract is an explicit, versioned agreement between a data producer and consumer speci…
Data Validation - CI/CD Glossary DefinitionData Validation: Data validation is the automated checking of data against rules (types, ranges, nullability,…
Data Lineage - CI/CD Glossary DefinitionData Lineage: Data lineage is the traceable map of how data flows from sources through transformations to fin…