Open by Design: 개방형 중심 설계, Iceberg와 상호운용성에 대한 Snowflake의 약속

Snowflake는 개방형 데이터 형식이 진정한 가치를 발휘하려면 개방형 상호운용성이 함께해야 한다고 믿습니다. Apache Iceberg와 같은 형식은 엔진, 클라우드, 공급업체 간의 선택권과 이동성, 협업을 지원하기 위해 만들어졌습니다. 이러한 원칙은 Snowflake에게 매우 중요합니다.
Snowflake가 Iceberg REST Catalog를 통한 완전한 양방향 상호운용성을 지원하는 이유도 여기에 있습니다. Snowflake가 다른 시스템에서 관리되는 Iceberg 테이블을 사용하든, 다운스트림 시스템을 위한 데이터 소스로 작동하든, 데이터의 사용 방식과 위치는 플랫폼이 아닌 고객이 직접 결정해야 한다고 믿기 때문입니다.
양방향 상호운용성이 실제로 의미하는 것
Iceberg REST Catalog는 Iceberg 메타데이터를 위한 중립적이고 공급업체 독립적인 제어 영역을 정의합니다. 이를 개방적으로 구현하면, 별도의 독점적 통합이나 강한 결합, 특수한 예외 로직 없이도 서로 다른 시스템 간 상호운용이 가능해집니다. Snowflake는 양방향 모두에서 이 모델을 지원합니다. Snowflake는 Iceberg REST Catalog를 준수하는 어떤 엔드포인트로도 아웃바운드 연동이 가능합니다. 또한 Snowflake 자체의 Iceberg 테이블을 Iceberg REST Catalog 엔드포인트로 노출해, 다운스트림 시스템이 표준 Iceberg 클라이언트를 통해 이를 소비할 수 있도록 합니다.
이는 단방향 구조가 아니며, 대칭성과 개방성을 지원하기 위한 의도적인 선택입니다. 개방형 상호운용성을 수용함으로써 마찰을 줄이고 시간을 절약할 수 있기 때문입니다. 고객은 사용 중인 형식이나 카탈로그 간에 존재하는 비호환성을 우려할 필요가 없습니다. Snowflake는 개방형 생태계를 지원하고 있으며, 이는 곧 상호운용성을 위한 새로운 표준이 될 것이라 믿고 있습니다.
Iceberg 소비자로서의 Snowflake: 아웃바운드 연동

Snowflake가 아웃바운드 연동을 수행할 때, Snowflake는 표준을 준수하는 Iceberg 플랫폼으로서 작동합니다. 따라서 고객은 다른 시스템이 운영하는 Iceberg REST Catalog 엔드포인트를 Snowflake에 지정함으로써, Iceberg 테이블을 즉시 쿼리하거나 데이터를 쓸 수 있습니다. 이 과정에서 원격 카탈로그가 제공하는 자격 증명을 사용하므로, 독점 어댑터나 공급업체 종속을 피할 수 있습니다.
또한, 이 모델을 통해 Snowflake는 카탈로그 자체에 대한 소유권이나 제어를 전제로 하지 않으면서도, 개방형 Iceberg 생태계에 참여할 수 있습니다. 외부 소스로의 연동에 제약을 두는 것은 개방형 상호운용성의 목적을 크게 훼손하는 일이기 때문입니다. 이는 Iceberg의 정신에 어긋나는 것이기도 합니다.
데이터 소스로서의 Snowflake: 다운스트림 연동 지원

Iceberg 데이터를 다루는 데 있어 Snowflake는 개방성을 경쟁 관점의 리스크로 보지 않습니다. 오히려 이를 상호운용성을 위한 기본 요건으로 인식합니다. 이러한 관점에서 Snowflake는 다운스트림 연동을 위한 데이터 소스로서의 역할을 네이티브하게 지원합니다.
Snowflake가 Iceberg REST Catalog를 통해 Iceberg 테이블을 노출하면, 다운스트림 엔진은 표준 Iceberg 메타데이터 API를 사용해 테이블을 탐색하고, Iceberg 시맨틱에 따라 데이터를 읽고 쓸 수 있으며, Snowflake Horizon Catalog가 제공하는 자격 증명을 안전하게 사용하고, Snowflake 실행 엔진과 독립적으로 작동할 수 있습니다.
Iceberg REST Catalog를 사용한 외부 연동 지원을 통해, 고객은 Snowflake 데이터를 지정한 플랫폼으로 가져갈 수 있는 선택권을 확보하게 됩니다.
현재 구도에 대한 명확한 이해

다음은 임의의 서드 파티 Iceberg REST Catalog 엔드포인트로 외부 연동이 가능한 제품 현황을 정리한 요약입니다.

개방형 형식에 대한 Snowflake의 입장
Snowflake의 견해는 단순합니다. 개방형 형식은 열린 방식으로 구현되어야 하며, 상호운용성은 양방향이어야 합니다. 고객은 자신의 데이터를 이동하거나 공유하기 위해 권한을 요청할 필요가 없습니다. Snowflake는 Iceberg, Iceberg REST Catalog, Apache Polaris 및 개방형 표준에 지속적으로 투자할 것입니다. 또한 생태계 전반이 개방형 형식을 단순한 데이터 수집 메커니즘이 아닌, 진정한 상호운용성을 위한 기반으로 다뤄주기를 기대합니다.
개방형 데이터는 모든 사람이 개방형 규칙을 따를 때 가장 효과적으로 작동합니다.
외부 엔진 및 카탈로그를 통해 Snowflake Iceberg 테이블에 액세스하기: Snowflake 설명서
Snowflake에서 원격/외부 Iceberg 테이블에 액세스하기: Snowflake 설명서


