The Brief FactStack이 되었습니다

FactStack

BigQuery란, Apache Iceberg로 Snowflake와 데이터 연합하는 법

데이터 인프라

한마디로

BigQuery와 Snowflake가 데이터 복제 없이 같은 테이블을 공유하는 레이크하우스 구조가 나왔어요

한눈에

BigQuery는 Google Cloud의 서버리스 데이터 웨어하우스인데요, 이번에 Apache Iceberg라는 공개 테이블 포맷으로 Snowflake와 데이터를 복제하지 않고 직접 공유하는 연합(federation) 구조가 정리됐습니다. Snowflake Horizon Catalog와 Google Cloud의 Lakehouse Runtime Catalog가 각각 카탈로그(메타데이터, 접근 통제) 역할을 맡아, BigQuery 작업이 Snowflake가 관리하는 테이블을 읽거나 Snowflake 쿼리가 Google Cloud 카탈로그의 테이블에 접근하는 게 가능해졌어요.

AS-IS: 엔진마다 데이터를 복제해야 했던 문제

조직마다 분석 엔진을 하나만 쓰던 시절에는 문제가 없었지만, 요즘 데이터 팀은 Apache Spark, BigQuery, Snowflake 같은 여러 서비스를 같은 파이프라인 안에서 함께 씁니다. 이때 팀마다 선호 엔진을 쓰게 하면 데이터를 여러 시스템에 복제해야 해서 중복과 불일치, 위험이 생기고, 반대로 하나의 엔진으로 강제하면 멀티 엔진이 주는 전문성과 자율성을 포기해야 하는 딜레마가 있었어요. 업계는 이 딜레마를 데이터가 있는 곳으로 연산을 가져가는 방식, 즉 각 엔진의 컴퓨트를 데이터로 보내는 패턴으로 풀었습니다.

이번 내용: Iceberg 포맷과 카탈로그가 만드는 연합 구조

Netflix에서 페타바이트급 테이블 관리용으로 개발되어 Apache Software Foundation에 기증된 Apache Iceberg는 Spark, Trino, Flink, BigQuery, Snowflake를 포함한 여러 엔진이 지원하는 공유 테이블 포맷이에요. 모든 데이터는 고객 자신의 스토리지 버킷에 있고, 각 엔진이 같은 테이블을 직접 읽고 쓸 수 있습니다. 다만 누가 스키마와 접근 권한, 동시 쓰기를 관리할지 정하는 카탈로그가 필요한데, Snowflake Horizon Catalog는 모든 Snowflake 계정에 별도 설정 없이 Apache Polaris 기반의 IRC(Iceberg REST Catalog) 엔드포인트를 내장하고, Google Cloud의 Lakehouse Runtime Catalog는 BigQuery, Google 관리형 Spark, Apache Spark, Trino, Snowflake가 같은 데이터 사본에 접근하게 하는 서버리스 메타스토어입니다. 두 카탈로그는 서로 배타적이지 않고 카탈로그 페더레이션으로 공존할 수 있어요. Google Cloud가 카탈로그를 관리할 때 Snowflake는 Catalog-Linked Database(CLD)로 IRC 엔드포인트를 자동 탐색, 동기화해서 SELECT, INSERT, UPDATE, DELETE 같은 표준 SQL로 Google Cloud의 Lakehouse Iceberg 테이블을 마치 네이티브 테이블처럼 다루고, Snowflake의 RBAC, 마스킹, 리니지 거버넌스를 그 위에 그대로 적용합니다. 반대로 Snowflake가 Horizon으로 카탈로그를 관리할 때는 BigQuery, Managed Service for Apache Spark 등이 Horizon의 IRC 엔드포인트에 연결해 Snowflake 관리 Iceberg 테이블을 직접 읽고 씁니다.

실무 적용 포인트

데이터 팀이 BigQuery와 Snowflake를 동시에 쓰는 조직이라면 다음을 체크해볼 만합니다.

  • 테이블을 여러 시스템에 복제해서 관리 중이라면, Iceberg 포맷으로 전환해 ETL 없이 같은 버킷을 여러 엔진이 직접 읽고 쓰게 바꿀 수 있는지 검토해보세요
  • 카탈로그를 직접 운영(Apache Polaris DIY)할지, 관리형 카탈로그(Horizon 또는 Lakehouse Runtime Catalog)를 쓸지 결정해야 하는데, DIY는 서버리스가 아니라 사용하지 않아도 운영 비용이 계속 든다는 점을 감안해야 해요
  • AI 에이전트가 데이터를 직접 조회하게 하려면 BigQuery와 Snowflake 둘 다 제공하는 MCP(Model Context Protocol) 서버를 활용할 수 있어요. Gemini Enterprise나 커스텀 에이전트 프레임워크가 같은 프로토콜로 연결됩니다

자주 묻는 질문

bigquery란 무엇인가요

BigQuery는 Google Cloud가 제공하는 서버리스 데이터 웨어하우스예요. 이번 내용에서는 Apache Iceberg 포맷을 지원하는 엔진 중 하나로, Snowflake Horizon Catalog가 관리하는 테이블을 직접 읽고 쓸 수 있는 연합 구조의 한 축으로 소개됩니다.

cdp란 무엇이고 이 구조와 무슨 관계인가요

CDP(Customer Data Platform)는 고객 데이터를 통합 관리하는 플랫폼을 말하는데, 이번 원문에는 CDP 관련 내용이 없어요. 다만 Iceberg 레이크하우스처럼 여러 도구가 하나의 데이터 저장소를 공유하는 구조는 CDP를 별도로 두지 않고도 데이터 중복을 줄이는 방향과 맞닿아 있습니다.

bigquery와 snowflake 중 어떤 걸 써야 하나요

원문은 둘 중 하나를 고르라는 비교가 아니라, 둘을 같이 쓰는 조직을 위한 연합 구조를 설명합니다. Iceberg 포맷과 IRC 프로토콜 덕분에 팀마다 선호하는 엔진(BigQuery 또는 Snowflake)을 골라 쓰면서도 같은 데이터에 접근할 수 있어요.

ai 에이전트가 이 데이터에 어떻게 접근하나요

Snowflake와 BigQuery 모두 MCP 서버를 제공해서 MCP 호환 클라이언트가 레이크하우스 데이터를 탐색하고 질의할 수 있습니다. 직접적인 프로그래밍 제어가 필요한 오케스트레이션이나 커스텀 파이프라인은 REST API로도 접근할 수 있어요.

에디터 노트

멀티 엔진을 이미 쓰는 대형 조직에는 데이터 복제 비용을 줄이는 실질적인 방향이지만, 카탈로그를 직접 운영할지 관리형을 쓸지 결정하는 과정 자체가 신규 운영 부담이 될 수 있어요. AI 에이전트 연동(MCP)은 원문에서 방향성만 제시된 수준이라 구체적인 도입 효과는 조직별 검증이 더 필요합니다.

참고 출처 | 원문 보기

태그

용어 풀이
bigquery
빅쿼리
apache-iceberg
아파치 아이스버그
snowflake
스노우플레이크
데이터-레이크하우스
데이터 레이크하우스

이 노트는 자동 검증을 거쳐 발행되었습니다. 오류 제보는 편집팀이 즉시 확인합니다.

공유

관련 마테크