하둡(Hadoop) 성능 향상을 위한 컬럼 기반 파일 포맷 경쟁 (ORC vs Parquet)
Source
Evernote/IFTTT Feedly/하둡 속도 높여라...파일 포맷 대권레이스.md
Summary
하둡(Hadoop) 환경에서 HDFS의 텍스트 기반 저장 방식의 한계를 극복하고 쿼리 속도를 높이기 위해 컬럼 기반 파일 포맷이 등장했다. 주요 경쟁 포맷은 호튼웍스(Hortonworks)가 주도하는 ORCfile과 트위터(Twitter)가 오픈소스로 공개한 Parquet이다. ORCfile은 하이브(Hive)와 밀접하게 통합되어 높은 압축률을 자랑하지만 자바/하이브 의존성이 높다. 반면 Parquet은 플랫폼 독립적이며 임팔라(Impala) 등 다양한 엔진과 호환되어 널리 채택되고 있다. 두 포맷 모두 중첩(Nested) 데이터 구조 지원과 높은 압축률을 특징으로 하며, 업계는 성능보다는 생태계 호환성을 고려해 Parquet을 선호하는 경향이 있다.
Key Points
- 하둡 HDFS는 기본적으로 텍스트 기반 저장으로 컬럼 스토어 구현이 어려워 성능 병목이 발생함
- 성능 개선을 위해 RCfile 이후 ORCfile과 Parquet이라는 고도화된 컬럼 기반 포맷이 대두됨
- ORCfile: 호튼웍스 오웬 오말리 제안, 하이브 전용, 자바 기반, 높은 압축률 및 중첩 구조 지원
- Parquet: 트위터 개발, 플랫폼 독립적(Java/C++ 등), 임팔라 등 다양한 엔진 지원, 중첩 구조 및 다양한 인코딩 지원
- 경쟁 구도: 호튼웍스(ORC) vs 클라우데라(Parquet/Impala) 간의 기술 주도권 경쟁
- 업계 동향: 성능 차이는 미미하나, 플랫폼 독립성과 생태계 확장성 때문에 Parquet이 더 널리 채택되는 추세