스키마와 바이너리 자료
바이너리 자료 자체에는 필드 이름과 자료형 정보가 포함되지 않는다. 따라서 값을 올바르게 해석하려면 자료를 쓸 때 사용한 스키마가 필요하다.
객체 컨테이너 파일
컨테이너 파일은 파일의 스키마에 맞춰 쓴 객체들을 블록에 저장한다. 블록을 압축할 수 있고 동기화 표식을 사용해 MapReduce 같은 처리에서 파일을 나누어 읽도록 돕는다.
읽기와 쓰기 스키마의 차이
읽는 프로그램이 기대하는 스키마와 저장 당시 스키마가 다를 수 있다. Avro는 이 차이를 해석하는 규칙을 두며, 필드의 기본값이나 호환되는 자료형 등 정해진 조건에 따라 읽기 결과를 결정한다.
관련 문서
Apache Parquet / Apache ORC / Apache Arrow / MapReduce / 데이터베이스 스키마 / 데이터 압축