On-premise 스토리지 데이터를 Snowflake에서 사용하기

Hyuna J
Snowflake Korea
Published in
3 min readAug 23, 2022

Snowflake는 데이터가 Snowflake 외부에 위치하든지 내부에 위치하든지 Snowflake 엔진을 사용해서 데이터를 사용할 수 있도록 external table이라는 기능을 제공하고 있습니다.

External Table
일반적으로 테이블의 데이터는 데이터베이스 내부에 저장되어야 하지만, snowflake는 데이터가 외부의 클라우드 스토리지에 있는 경우 데이터를 데이터베이스 내부에 가져오지 않더라도 external table 기능을 활용하여 외부의 데이터에 쉽게 접근하고 쿼리할 수 있도록 해줍니다.
예를 들어 1)외부 데이터에 대한 분석을 수행할 수도 있고, 2)snowflake 내부로 데이터를 로딩시키기 전에 데이터 세트를 탐색하기 위한 용도로도 사용할 수 있습니다.
현재 CSV, XML, ORC, Parquet, Avro, JSON 등의 파일 형식을 모두 지원하고 있습니다. (Iceberg 테이블도 private preview로 지원하고 있으며 다음 포스팅에서 더 자세히 다루도록 하겠습니다!)
Snowflake는 external Table에 대한 기능과 성능을 지속적으로 발전시키고 있습니다.

온프레미스 스토리지로 확장
2022년 Summit에서는 자신들의 데이터를 퍼블릭 클라우드로 이동할 수 없는 회사들을 위해 온프레미스 스토리지 내의 데이터를 external table로 사용할 수 있는 기능을 발표했습니다.

아래 공급업체는 Snowflake에 자사 제품 중 S3 compatible을 만족시키는 제품들이 Snowflake와 함께 작동함을 확인했다고 밝혔습니다.

  • Cloudian
  • Dell
  • Hitachi Content Platform
  • MinIO
  • NetApp (StorageGRID)
  • PureStorage

사용방식은 아주 간단합니다.
1. 데이터들이 저장되어 있는 온프레미스 스토리지를 snowflake에 stage로 생성해줍니다.

2. external 테이블을 생성합니다. 이 때 location으로 방금 생성한 stage를 지정해줍니다.

3. 일반 테이블처럼 데이터를 쿼리할 수 있습니다.

이 기능을 활용하면 고객은 S3 API 거버넌스를 만족하는 온프레미스 스토리지 데이터(Dell, Purestorage, MinIO 등)를 snowflake에서 제공하는 사용 편의성, 탄력성, 복원성의 장점과 함께 사용할 수 있습니다. 현재는 private preview 상태로 지원하고 있습니다.

더 자세한 내용은 아래 블로그를 참고하실 수 있습니다.
https://www.snowflake.com/blog/external-tables-on-prem/?lang=ko

--

--

Hyuna J
Snowflake Korea

Interested in working with DATA | Sales Engineer at Snowflake. Previously at AWS and Oracle