아이스버그 vs. 델타레이크, 전쟁은 계속 된다
최근 개방형 데이터 테이블 포맷 ‘아파치 아이스버그’ 소식이 연이어 쏟아졌다. 아파치 아이스버그를 지지하는 주요 기업이 지원을 강화하며 업계 표준으로 만들려는 노력을 이어갔다. 반대 진영인 데이터브릭스의 ‘델타레이크’와 아파치 아이스버그의 표준 전쟁은 끝나지 않았다.
최근 아마존웹서비스(AWS), 구글클라우드, 스노우플레이크, 클라우데라 등이 아파치 아이스버그 지원 강화를 발표했다.
데이터 테이블은 특정 값을 포함하는 열, 행, 셀로 구성된 문서다. 데이터를 검색하고 업데이트할 수 있는 정보를 저장한다. 정보를 저장하는 포맷은 데이터 처리 프레임워크마다 다르게 만들어져왔는데, 이 형식을 표준화해 대규모 데이터세트를 어떤 환경에서도 별도 변환없이 사용하도록 하는 게 개방형 데이터 테이블 포맷이다.
대표적인 개방형 테이블 포맷은 아파치 아이스버그(Iceberg), 델타레이크(Delta Lake), 아파치 후디(Hudi) 등이 있다.
아파치 아이스버그는 넷플릭스에서 만들어진 오픈소스 기술로 AWS, 구글클라우드, 스노우플레이크, 클라우데라 등의 지원을 받고 있다. 델타레이크는 데이터브릭스에서 만들어져 오픈소스화됐으며, 마이크로소프트의 지지를 받는다. 아파치 후디(Hudi)는 아파치소프트웨어재단 산하 프로젝트다. 아파치 후디는 신생 프로젝트에 속하며 현 시장은 주로 아이스버그와 델타레이크의 양자구도다.
AWS는 ’아마존 레드시프트 데이터 공유’를 발표했다. 이는 ETL 서비스인 AWS 글루 데이터카탈로그에서 관리되는 아마존 레드시프트 데이터레이크 테이블(레드시프트 스펙트럼 테이블)과 해당 테이블을 참조하는 레드시프트 뷰 간의 안전한 공유를 지원한다. 이를 통해 데이터웨어하우스와 데이터레이크 간에 데이터를 이동하지 않고 데이터를 안전하게 공유할 수 있다.
레드시프트 데이터레이크 테이블은 파케이(Parquet), ORC, JSON, CSV 등의 오픈 파일 포맷과, 아파치 아이스버그 테이블 포맷을 지원하며, 모두 아마존 S3에 저장된다.
아마존 레드시프트는 AWS의 데이터웨어하우스(DW) 서비스다. 레드시프트의 아파치 아이스버그 지원을 통해 레드시프트 내 데이터와 고객의 데이터레이크를 쉽게 통합 활용하게 할 수 있다.
구글클라우드는 아파치 아이스버그를 위한 빅쿼리 테이블을 발표했다. 빅쿼리의 완전관리형 아파치 아이스버그 호환 스토리지 엔진이다. 자율 스토리지 최적화, 클러스터링, 하이스루풋 스트리밍 수집 등의 기능을 제공한다.
아파치 아이스버그 포맷을 사용해 고객 소유 클라우드 스토리지에 데이터를 저장하는 동시에 빅쿼리 기본 테이블과 유사한 고객경험과 기능 세트를 활용할 수 있다. 빅쿼리 테이블에 구글의 SQL 데이터조작언어(DML)로 빅쿼리에서 쓰기 가능하고, 빅쿼리의 Write API로 아파치 스파크 같은 오픈소스 엔진에서 수집도 지원한다.
빅쿼리는 구글클라우드의 DW 서비스다. 구글클라우드는 데이터레이크 서비스인 ‘빅레이크’를 제공하는데, 빅쿼리와 빅레이크 아키텍처 통합을 추진하고 있다. 빅레이크와 빅쿼리를 함께 사용하려면 외부 쿼리 엔진을 사용해 데이터를 변형하고 수동으로 데이터 관리를 조정해야 했다.
클라우데라와 스노우플레이크는 최근 양사 데이터 플랫폼 간 상호 운용성을 개선하기 위해 아파치 아이스버그를 지원한다고 발표했다. 클라우데라 플랫폼과 스노우플레이크 데이터 클라우드를 통합해 개방형 하이브리드 데이터레이크하우스를 구축한다는 게 골자다.
클라우데라와 스노우플레이크는 각자 다른 발전 경로를 달려온 기업이다. 클라우데라는 아파치 하둡을 기반으로 데이터레이크 구축으로 발전했고, 스노우플레이크는 컴퓨팅과 스토리지 계층을 분리한 클라우드 기반 DW에서 출발해 발전했다. 각기 비정형 데이터와 정형 데이터 처리에서 강점을 보였고, 2022년 데이터레이크하우스로 발돋움하는 발판으로 아파치 아이스버그를 선택해 지원해왔다. 두 회사는 각 플랫폼에서 데이터 이동없이 아파치 아이스버그 기반 데이터레이크를 호환운용할 수 있게 해왔다.
클라우데라와 스노우플레이크의 직접 협력으로 양사의 공동 고객사는 아파치 아이스버그 REST API 카탈로그를 통해 클라우데라의 데이터레이크하우스에 접근할 수 있게 된다.
스노우플레이크는 올해 6월 아파치 아이스버그를 기본 테이블 포맷을 선정했다. 스파크, 드레미오(Dremio), 스노우플레이크 등 모든 데이터 처리 엔진에서 호출할 수 있는 아이스버그 테이블용 카탈로그인 ‘폴라리스(Polaris)’도 출시했다.
아이스버그의 경쟁 기술인 델타레이크는 데이터브릭스가 주도적으로 개발하는 데이터 테이블 포맷이다. 데이터브릭스는 델타레이크를 오픈소스화해 리눅스재단에 기부했다. 델타레이크의 대표적인 지원자는 마이크로소프트다. 마이크로소프트는 애저 기반 데이터레이크 구축에서 델타레이크를 추천한다.
아이스버그와 델타레이크의 개발 목표는 유사하다. 데이터를 빠르게 쓰고, 업데이트하고, 삭제할 수 있고, ACID를 준수하며, 스키마 진화와 타임 트레블이 가능한 데이터레이크하우스 포맷이다. 지향점은 같지만, 목표 달성을 위한 데이터 처리 메커니즘에서 차이를 갖는다. 아이스버그가 데이터세트의 메타데이터를 수집해 매니페스트 파일에 저장하는 반면, 델타레이크는 메타데이터를 ‘델타로그’란 디렉토리에 저장한다. 두 테이블은 동일하게 파케이 파일을 지원하는데 아이스버그는 ORC와 아브로(avro) 형식도 지원한다.
델타레이크는 태생적 영향으로 아파치 스파크와 긴밀하게 통합돼 있다. 다양한 데이터 엔진과 호환성에선 아이스버그가 유리하다.
현재 생태계 규모 면에서 아이스버그가 우세를 보인다. IT업계의 유력 기업이 아파치 아이스버그를 선호하고 있고, 데이터브릭스도 아이스버그 지원을 강화하기로 했다. 데이터브릭스는 지난 6월 아이스버그 배포판 개발회사인 ‘타뷸러(Tabular)’를 인수한 것이다. 이로써 데이터브릭스는 델타레이크와 아이스버그 간 상호호환성을 강화하는 작업을 시작했다.
전쟁은 아직 끝나지 않았다. 데이터브릭스는 델타레이크 기술 개발을 멈출 생각이 없다. 아이스버그와 델타레이크의 장점을 혼합해 단일한 표준을 만들겠다는 포부를 밝히고 있다. 1차적으로 델타레이크에 저장된 데이터를 아이스버그나 후디에 쓰인 것처럼 읽게 설계된 ‘유니폼(Unigorm)’ 제품을 선보였다.
데이터 플랫폼으로 시장에서 경쟁하는 스노우플레이크와 클라우데라는 아파치 아이스버그를 새롭게 개발하기보다 폭넓은 생태계를 바탕으로 빠른 발전과 개선을 추구한다는 입장이다. 애플도 아파치 아이스버그 사용자이자 기여자로 참여하는 등 대형 기업의 지지는 더 커지고 있다.
아이스버그 지지기업들은 방대한 개발자 커뮤니티를 보유했고, 폭넓은 사용자 층의 풍부한 피드백을 갖고 있어서 발전성과 호환성에서 앞서 있다고 본다. 이를 통해 아이스버그를 데이터 테이블 표준으로 완전히 자리잡게 한다는 게 목표다. 마이크로소프트도 델타레이크에 올인하기보다 아파치 아이스버그 진영과 협력의 폭을넓혀가는 모습이다.
글. 바이라인네트워크
<김우용 기자>yong2@byline.network