Schema
Schema 주제의 핵심 개념과 적용 포인트를 정리합니다.
Schema
스키마가 필요한 이유
Kafka 입장에서 메시지는 단순한 bytes다.
“이 값이 어떤 필드인지”를 해석하려면 생산자/소비자가 공통 데이터 구조를 공유해야 한다.
이 공통 구조가 스키마다.
자주 쓰는 스키마 형식
- JSON
- XML
- Avro
JSON/XML도 널리 쓰이지만, 타입 엄격성·호환성·직렬화 효율 측면에서는 Avro가 유리한 경우가 많다.
Avro의 장점
- 조밀한 바이너리 직렬화
- 데이터 본문과 스키마의 분리 관리
- 스키마 진화 시 호환성 규칙 적용 가능
핵심은 “읽기/쓰기 애플리케이션을 분리 배포해도 데이터 계약을 유지할 수 있다”는 점이다.
실무에서 중요한 관점
스키마를 도입하면 생산자와 소비자의 결합도가 낮아진다.
반대로 스키마 없이 임의 포맷으로 운영하면, 버전 증가와 함께 배포 순서 의존성이 급격히 커진다.
따라서 Kafka를 이벤트 플랫폼으로 오래 운영할수록 스키마 정책은 필수에 가깝다.
This post is licensed under CC BY 4.0 by the author.