2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

Avro

작성: sangseek | 게시 날짜: 2026/03/08 | 조회수: 43
[ 편집불가 ]

Avro는 보통 두 가지 주요 의미로 쓰이지만, 소프트웨어·데이터 분야에서 가장 많이 언급되는 것은 Apache Avro입니다. 1) Apache Avro (데이터 직렬화 프레임워크) - 정의: Apache Avro는 Hadoop 에코시스템에서 널리 쓰이는 데이터 직렬화(serialization) 시스템이자 데이터 교환 포맷입니다. 데이터의 스키마를 JSON으로 정의하고, 데이터를 효율적인 이진 형식으로 직렬화합니다. - 핵심 아이디어: 데이터와 그 데이터의 스키마(메타정보)를 함께 또는 스토리지에 포함시켜(컨테이이너 파일 헤더에 저장) 스키마 기반으로 직렬화/역직렬화를 수행합니다. 스키마 자체는 JSON 문법으로 표현됩니다. - 주요 특징 - 스키마 포함: 데이터 파일(.avro)에는 스키마가 포함되어 있어 소비자가 별도 스키마 관리 없이도 데이터를 해석 가능. - 이진의 콤팩트한 포맷: JSON 같은 텍스트 포맷보다 용량과 처리 속도에서 유리. - 스키마 진화 지원: 필드 추가/제거 등 스키마 변경 시 호환성 규칙(기본값, 별칭 등)을 통해 전/후방 호환성 관리. - RPC 지원: Avro는 RPC 프로토콜을 제공해 스키마 기반 원격 호출에 사용 가능. - 언어 중립성: Java, Python, C, C++, Ruby 등 여러 언어 라이브러리 지원. - Hadoop 친화적: 컨테이너 파일은 sync marker를 사용해 분할(splittable) 가능, 맵리듀스와 잘 맞음. - 사용 사례: 대용량 로그/이벤트 저장, Kafka와 같은 스트리밍 파이프라인에서 메시지 포맷, 서비스 간 스키마 기반 데이터 교환, Hadoop 파일 저장 등. - 다른 포맷과의 비교 간단 정리 - JSON: 사람이 읽기 쉬우나 비효율적(용량/속도). Avro는 스키마가 별도로 필요 없어 해석이 쉬움. - Protocol Buffers/Thrift: 모두 스키마 기반 이진 포맷. Avro는 스키마를 JSON으로 표현하고 파일에 스키마를 포함시키는 점, 런타임에 스키마에 따라 동적으로 처리하기 쉬운 점이 차별점. 반면 Protobuf는 보통 IDL과 코드 생성 중심. - Parquet: Parquet은 컬럼형 저장 포맷(분석에 유리). Avro는 로우 기반(레코드 지향)으로 트랜잭션·메시지 저장에 더 적합. 2) 기타 의미 - Avro(회사): A.V. Roe and Company 같은 옛 영국 항공기 제조사(항공 역사 맥락). - Avro Keyboard: 방글라어 입력(타이핑) 소프트웨어(특히 방글라 키보드 유저에게 잘 알려진 이름). 요약: 일반적으로 기술 문맥에서는 Apache Avro를 가리키며, 이는 JSON 스키마 기반의 이진 직렬화 포맷으로 스키마 포함, 스키마 진화 지원, 다중 언어 및 빅데이터 환경에서의 사용성이 특징입니다.
내용이 부정하다면 싫어요를 누르세요.