Columnar Database Storage
Parquet, ORC, Avro
Columnar Database Storage
Columnar Database Storage Formats
ORC, Parquet, Avro 는 데이터를 저장하는 방식에 차이가 있다. Parquet와 ORC를 데이터를 column 기반으로 저장하기 때문에 특정 필드에 자주 접근할 때 유용하다. Avro는 Row 기반으로 저장하기 때문에 모든 필드에 골고루 접근할 때 유용하다. ORC는 Hive에, Parquet는 Spark에 최적화된 포맷이다.
CSV 파일을 예로 Row기반 저장포맷과 Column기반 저장 포맷을 비교해보자.
Row 기반 저장 포맷
people
Column 기반 저장 포맷
Column 기반 저장 포맷은 다음과 같은 형식이다.
people
Column기반 저장 포맷 이점
LAST_NAME이 "이" 인 데이터를 검색할 때 Row 기반 저장 포맷은 모든 Row를 스캔하여 찾는다. 반면 Column 기반 저장 포맷은 2개 필드는 스킵하고 LAST_NAME 필드에서 찾기 때문에 검색 성능이 빠르다.
참고자료
https://blog.matthewrathbone.com/2019/11/21/guide-to-columnar-file-formats.html
Last updated