RisingWave의 호스팅된 Iceberg 카탈로그로 데이터 레이크하우스 설정 간소화
🤖 AI 추천
Apache Iceberg와 RisingWave를 사용하여 데이터 레이크하우스를 구축하려는 데이터 엔지니어, 데이터 분석가, 백엔드 개발자에게 추천합니다. 특히, 외부 카탈로그 관리의 복잡성을 줄이고 싶은 사용자에게 유용합니다.
🔖 주요 키워드

핵심 기술: Apache Iceberg는 데이터 레이크하우스의 신뢰성과 시간 여행과 같은 기능을 제공하는 선도적인 오픈 테이블 포맷입니다. RisingWave는 호스팅된 Iceberg 카탈로그 기능을 통해 Iceberg 카탈로그 설정을 단일 설정 파라미터로 간소화하여 데이터 레이크하우스 구축의 진입 장벽을 낮춥니다.
기술적 세부사항:
- 문제점: 기존 Iceberg 카탈로그 설정은 PostgreSQL(JDBC), AWS Glue Catalog, Nessie(REST 서비스)와 같은 별도의 구성 요소를 프로비저닝하고 관리해야 하는 운영 오버헤드가 존재하며, 이는 데이터 파이프라인 구축 지연을 초래합니다.
- 해결책 (RisingWave 호스팅된 Iceberg 카탈로그):
CREATE CONNECTION
명령에서hosted_catalog = true
파라미터를 설정하여 RisingWave 자체 내부 메타스토어를 Iceberg 카탈로그로 사용합니다.- 외부 데이터베이스 URI나 인증 정보 제공이 불필요합니다.
- S3, GCS, Azure 등 다양한 객체 스토어와 호환됩니다.
- 구현 단계:
hosted_catalog = true
옵션을 포함하여 Iceberg 연결을 생성합니다.
sql CREATE CONNECTION my_iceberg_connection WITH ( type = 'iceberg', warehouse.path = 's3://your-bucket/iceberg-warehouse', s3.access.key = 'your-access-key', s3.secret.key = 'your-secret-key', s3.endpoint = 'your-s3-endpoint', s3.region = '<your-region>', s3.path.style.access = 'true', hosted_catalog = true );
SET iceberg_engine_connection = 'public.my_iceberg_connection';
명령으로 세션을 설정합니다.ENGINE = iceberg
옵션을 사용하여 Iceberg 형식으로 데이터를 저장하는 테이블을 생성합니다.
sql CREATE TABLE machine_sensors ( sensor_id INT PRIMARY KEY, temperature DOUBLE, reading_ts TIMESTAMP ) WITH (commit_checkpoint_interval = 1) ENGINE = iceberg;
- 데이터 삽입 및 조회: 일반적인 RisingWave 테이블처럼
INSERT
또는CREATE SINK
를 통해 스트리밍 데이터를 삽입하고,SELECT
문으로 조회할 수 있습니다.
개발 임팩트:
- 카탈로그 설정 복잡성 대폭 감소 및 운영 오버헤드 제거.
- 데이터 파이프라인 구축 시간 단축.
- Spark, Trino 등 다른 도구와의 상호 운용성을 유지하면서 벤더 종속성 해소.
- 표준 JDBC 카탈로그를 통해 Iceberg 데이터에 대한 접근성 보장.
커뮤니티 반응: (원문에 직접적인 커뮤니티 반응 언급은 없으나, Iceberg의 장점과 RisingWave의 새로운 기능 소개를 통해 긍정적인 반응을 기대할 수 있음)
📚 관련 자료
Apache Iceberg
Apache Iceberg 프로젝트의 공식 GitHub 저장소입니다. Iceberg 테이블 포맷의 핵심 사양, 구현체, 관련 도구 등에 대한 정보를 제공하며, RisingWave가 Iceberg를 지원하는 기반 기술입니다.
관련도: 98%
RisingWave
RisingWave의 공식 GitHub 저장소로, 스트리밍 데이터 처리 시스템의 소스 코드를 포함합니다. 이 글에서 소개하는 호스팅된 Iceberg 카탈로그 기능이 구현되어 있으며, 관련 설정 및 사용법에 대한 실제 코드를 확인할 수 있습니다.
관련도: 95%
Nessie
Project Nessie의 GitHub 저장소로, 데이터 레이크를 위한 Git과 유사한 버저닝 및 계층화 기능을 제공하는 카탈로그 서비스입니다. 본문에서 Iceberg 카탈로그 설정의 대안으로 언급되었으므로 관련성이 있습니다.
관련도: 70%