엔진과 테이블 형식의 관계
Iceberg는 Spark와 Presto 같은 계산 엔진이 자료를 SQL 테이블처럼 다루도록 연결한다. 테이블 형식을 여러 언어와 구현에서 공유하도록 규격을 제공해 저장 자료의 활용 범위를 넓힌다.
테이블 구조의 변경
열의 추가와 삭제 및 이름 변경을 지원하고 자료량이나 조회 방식이 바뀌면 파티션 배치도 변경할 수 있다. 스냅샷을 지정한 조회는 같은 테이블 상태를 다시 분석하거나 변경 내용을 확인하는 데 활용한다.
읽을 파일과 변경 결과의 관리
테이블 메타데이터의 파티션 정보와 열 통계로 읽을 파일을 좁힌다. 테이블 변경은 원자적으로 반영하며 읽는 쪽에 일부만 적용된 변경을 노출하지 않도록 설계됐다. 여러 작성자의 변경은 낙관적 동시성 제어로 조정한다.
관련 문서
Apache Parquet / Apache Avro / Presto 질의 엔진 / Apache DataFusion / SQL / 데이터베이스