10.1 스키마의 개념과 유용성
- 스키마란
- 정보를 구성하고 해석하는 것을 도와주는 프레임워크나 개념
- 특히 데이터베이스의 구조를 정의하고 제약을 기술하는 표준 언어로 활용된다.
- 카프카에서의 스키마 레지스트리
- 카프카에선 스키마 레지스트리라는 애플리케이션을 통해 데이터 스키마를 정의, 활용할 수 있다.
- 각 데이터의 구조와 타입을 중앙에서 관리하며 데이터 포멧 불일치로 인한 오류를 방지할 수 있다.
- 카프카에 스키마가 없을 때의 위험
- 하나의 토픽에는 수많은 사용자가 접근하기에 누군가 사전에 정의하지 않은 형태의 데이터를 전송하면 연결된 모든 시스템이 영향을 받게 된다.
- 카프카는 프로듀서의 데이터를 여러 컨슈머에게 브로드캐스트하는 방식이기에 컨슘하는 조직이 많다면 데이터 구조를 설명하는 일은 쉬운 일이 아니다.
- 스키마 레지스트리의 역할
- 데이터에 대한 정확한 정의와 의미를 명세
- 스키마의 변화, 진화를 지원하여 수많은 애플리케이션들이 별다른 영향 없이 스키마를 변경할 수 있다.
- 데이터를 파싱하고 에러를 처리하는데 유용
- 스키마 정의의 용이성
- 데이터 트러블슈팅 감소
- 용이한 데이터 포맷 확인
- 데이터 스키마 관련 커뮤니케이션 감소