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