Avro 스키마 호환성 검사기
새 독자가 이전 스키마로 작성한 데이터를 읽는지, 이전 독자가 새 데이터를 읽는지를 각각 확인합니다. Apache Avro 1.12의 작성자·독자 해석 규칙을 제한된 범위에서 실제 적용하고 가능한 모든 작성자 유니언 분기·enum 심볼을 검사합니다. 승격·기본값·별칭·불일치마다 경로와 근거를 보여줍니다.
주요 기능
- 이전 작성자→새 독자와 새 작성자→이전 독자를 독립적으로 분석
- 레코드·enum·fixed·배열·map·유니언·이전 정의 이름 참조를 해석
- 독자 기본값·작성자 전용 필드·타입 승격·독자 별칭을 표시
- 모든 작성자 유니언 분기와 enum 심볼의 해석 여부 검사
- 잘못된 기본값과 미지원 논리 타입을 추측하지 않고 거부
- 로컬 분석 후 버전이 붙은 JSON 보고서 저장
사용 방법
- Account 예제를 불러오거나 이전·새 Avro 스키마 JSON을 입력합니다.
- 호환성 분석을 눌러 명시된 제한 범위에서 두 스키마를 해석합니다.
- 양방향 판정과 각 규칙·경로를 확인한 뒤 출시 순서를 검토합니다.
- 검토 자료가 필요하면 JSON 보고서를 다운로드합니다.
활용 예시
- 새 소비자가 저장된 이전 레코드를 읽는지 검사
- 기존 소비자와 새 생산자의 출시 순서 검토
- 이름을 바꾼 필드에 독자 별칭이 필요한 이유 확인
- 유니언 분기와 enum 대체값 변경 검토
자주 묻는 질문
필드를 추가하면 항상 이전 데이터가 깨지나요?
새 독자가 작성자에게 없는 필드를 채우려면 그 독자 필드의 유효한 기본값이 필요합니다. 반대 방향도 따로 계산합니다.
별칭은 방향성이 있나요?
예. 이 도구는 독자 스키마가 선언한 타입·필드 별칭을 작성자 이름에 적용합니다.
유니언 분기 하나만 맞아도 호환되나요?
아니요. 모든 가능한 작성자 분기가 독자 분기 중 하나와 맞아야 전체 데이터에 대한 호환 판정입니다.
Avro 파일 디코딩이나 논리 타입도 지원하나요?
아니요. 제한된 스키마 계약을 비교하며 실제 바이너리/JSON 레코드와 논리 타입은 범위 밖입니다.
호환 판정만으로 운영 배포를 승인할 수 있나요?
아니요. 실제 생산자·소비자 구현, 저장된 작성자 스키마와 대표 데이터를 별도로 검증하세요.
개인정보 안내
스키마 텍스트는 브라우저에서 분석하며 도구 API로 전송하거나 자동 저장하지 않습니다. 다운로드 보고서에는 입력 스키마가 포함되므로 프로젝트 자료로 취급하세요.
댓글과 질문