클라우드 데이터 웨어하우스는 대규모 데이터를 클라우드에서 저장하고 SQL 기반 분석을 수행하는 플랫폼입니다. 기존 온프레미스 DW보다 확장성, 관리 편의성, 비용 효율이 좋아서 대부분 기업이 클라우드 기반으로 전환하고 있습니다.
주요 클라우드 데이터 웨어하우스 종류
1.Google BigQuery
Bigquery란 Google Cloud Platform에서 제공하는 완전 관리형의 엔터프라이즈 데이터 웨어하우스이다.
대용량의 데이터를 저장하고 쿼리 및 분석하는 데 사용되며, 최근에는 Bigquery ML을 통해서 머신러닝 모델도 제공하고 있다.
완전 관리형이기 때문에 사용자가 인프라 관리에 대한 부담감 없으며,
가격의 경우에는 컴퓨팅(분석), 스토리지, 추가 서비스, 데이터 수집 및 추출을 기준으로 책정이 된다.
Bigquery는 GoogleSQL이라는 Google Standard SQL을 통하여 쿼리를 작성하여 결과를 얻는데,
확장 가능한 분산형 분석 엔진을 통해 테라파이트 급 쿼리를 초 단위로 수행하고, 페타바이트 급 쿼리를 분 단위로 쿼리 할 수 있다.
빅쿼리 특성
Bigquery가 이러한 성능을 낼 수 있는 기반에는 아래와 같은 특성 때문이다.
스토리지와 컴퓨팅의 분리된 아키텍쳐

Biquery 아키텍쳐는 위 사진과 같이 스토리지와 컴퓨팅이 분리되어있다. 이에 따라 필요시에 각각의 요소를 독립적으로 확장이 가능하다.
쿼리 실행 시에 쿼리 엔진이 여러 작업자에게 작업을 동시에 분산하여 스토리지에 분산되어 있는 데이터를 스캔하고 쿼리 하여 결과를 수집한다.
열 기반 형식의 스토리지 레이아웃
데이터를 열 기반으로 각 열을 개별적으로 저장하여, 특정 칼럼 조회 시 데이터 조회 양이 최소화 된다.
이러한 특성으로, 쿼리에 특정 열만 명시한 경우에 Bigquery는 모든 행의 모든 필드를 읽지 않고, 해당 열 데이터만 읽을 수 있다.
데이터 저장 관점에서도 행 보다 열 내의 데이터가 중복성이 높기 때문에 데이터 압축 효율도 좋아진다.


파티셔닝과 클러스터링
Partitioning(파티셔닝)
테이블을 파티션이라는 세그먼트로 분할하여 테이블 쿼리 시에 일치하는 파티션을 스캔하고 남은 파티션을 건너뜀으로 읽기 바이트 수를 줄일 수 있다.
파티션을 나눈 테이블에서 데이터는 데이터의 한 파티션을 포함하는 각 물리적 블록에 저장된다.
일반적으로 날짜, 시간 등으로 파티션을 하여 특정 기간의 데이터만 필터링하여 빠르게 쿼리 할 수 있다.
파티셔닝 된 테이블에서는 쿼리 실행 전에 쿼리 비용 추정치를 계산하여 알 수 있다.
Clustering(클러스터링)
클러스터링 된 열을 기준으로 스토리지 블록(데이터)을 정렬하여, 쿼리의 성능을 높여준다.
클러스터링 열 기준으로 필터링 또는 집계하는 쿼리의 경우,
전체 테이블 혹은 파티션 대신 클러스터링 된 열 기준으로 해당하는 블록만 스캔하여, 바이트 수를 줄 일 수 있다.
일반적으로 특정 열 기반으로 필터링하는 경우가 많거나, 필터링 열에 카디널리티(고유성)가 높다면 클러스터링 하는 것이 좋다.
파티셔닝 된 테이블과 달리 클러스터링 된 테이블 쿼리 시 정확한 쿼리 비용 예상치가 제공되지 않는다.
파티셔닝과 클러스터링은 함께 사용하여 쿼리 성능을 최적화할 수 있다.

결론
Bigquery는 고성능의 엔터프라이즈 데이터 웨어하우스이다.
Bigquery의 특성을 이해하고 적절한 파티션과 클러스터링을 통해 쿼리 성능을 높일 수 있다.
2.SnowFlake
Snowflake는 클라우드 기반의 데이터 웨어하우스 서비스로, 데이터를 저장, 처리, 분석하는 현대적인 방법을 제공.
전통적인 데이터 웨어하우스와 달리, Snowflake는 클라우드 인프라 위에 구축되어 있어, 사용자는 하드웨어 관리나 소프트웨어 업데이트에 신경 쓸 필요 없이 데이터에 집중할 수 있다. 또한, Snowflake의 가장 큰 특징 중 하나는 '스토리지(storage)'와 '컴퓨트(compute)' 리소스의 분리입니다. 이는 데이터를 저장하는 공간과 데이터를 처리하는 데 필요한 컴퓨팅 파워를 독립적으로 확장하거나 축소할 수 있음을 의미한다.
이러한 유연성 덕분에 사용자는 필요에 따라 비용을 효율적으로 관리하면서 데이터를 더 빠르고 쉽게 분석할 수 있다. 간단히 말해, Snowflake는 기업이 데이터를 보다 효율적으로 관리하고 활용할 수 있도록 지원하는 혁신적인 클라우드 데이터 웨어하우스 솔루션.
Snowflake는 글로버 클라우드 (AWS, GCP, Azure) 위에서 모두 동작 가능한 멀티 클라우드 솔루션이며, 데이터 판매를 통한 매출을 가능하게 해주는 Data Sharing / Marketplace 를 제공한다. 그리고 ETL 등 다양한 데이터 통합기능을 제공한다.
현재 Snowflake는 데이터 클라우드 라고 말할 수 있을 정도로 발전한 솔루션이라고 할 수 있다.
SnowFlake의 특징
1.클라우드기반
Snowflake는 완전히 클라우드 상에서 작동한다. 이는 사용자가 어디서든 인터넷만 있다면 데이터에 접근하고 작업할 수 있음을 의미하며 사용자는 하드웨어 관리나 소프트웨어 업데이트 걱정을 하지 않아도 된다.자체 스토리지 이외에도 클라우드 스토리지를 외부 테이블로 사용 가능하다.
2.스토리지 컴퓨팅 인프라가 별도로 설정되는 가변 비용 모델.
앞서 말했듯이 멀티 클라우드를 지원하며, 다른 지역에 있는 데이터를 공유하는 Cross-Region-Replication 기능을 지원한다.
스토리지와 컴퓨팅의 분리 Snowflake의 가장 큰 특징 중 하나는 데이터 저장 공간과 데이터 처리 능력을 분리한다는 것이다.
이는 사용자가 필요에 따라 저장 공간과 컴퓨팅 능력을 독립적으로 확장하거나 축소할 수 있게 해, 매우 유연한 비용 관리와 높은 처리 성능을 가능하게 한다.
3.자동 확장성
사용자의 요구에 따라 자동으로 리소스를 확장하고 축소할 수 있다. 이는 갑작스러운 데이터 분석 요구가 있을 때도 빠른 분석이 가능하게 한다.
4.다양한 데이터 지원
Snowflake는 구조화된 데이터뿐만 아니라 반구조화된 데이터(예: JSON, XML 파일)도 지원. 이는 다양한 형태의 데이터를 저장하고 분석할 수 있게 해줍니다.S3, GC 클라우드 스토리지, Azure Blog Storage 도 지원하며 매우 폭 넓은 데이터를 지원한다.
5.보안
Snowflake는 업계 표준에 맞는 강력한 보안 기능을 제공한다. 데이터는 암호화되어 저장되며, 접근 관리와 보안 설정은 사용자가 쉽게 관리할 수 있다.
6.다양한 데이터 처리
SQL 기반으로 빅데이터 저장, 처리, 분석이 가능하다. 또한 비구조화된 데이터 처리와 머신러닝 기능도 제공한다.
배치데이터 처리가 중심이지만, 실시간 데이터 처리도 지원한다.Time Travel 이라는 과거 데이터 쿼리 기능으로 트렌드 분석을 쉽게 할 수 있다.
7.Data Marketplace 와 Data Sharing
Data Marketplace 란 사용자가 다양한 데이터 제공자로부터 데이터를 쉽게 찾고 접근할 수 있는 플랫폼이다. 이 시장에서는 금융, 헬스케어, 공공 데이터 등 다양한 산업 분야의 준비된 데이터 세트를 제공하고. 사용자는 이 데이터를 자신의 Snowflake 환경으로 직접 가져와 분석할 수 있어, 데이터를 획득하는 과정을 훨씬 간편하게 수행 가능하다.
Data Sharing 란 사용자가 자신의 데이터를 다른 Snowflake 사용자와 안전하게 공유할 수 있도록 한다. 이는 복잡한 데이터 복사나 이동 과정 없이 즉 네트워크를 타지 않고, 실시간으로 데이터를 공유할 수 있게 해준다. ( 권한을 열어줘 데이터를 가져갈 수 있게끔 한다거나.. ) 데이터 제공자는 공유할 데이터의 범위를 정확히 제어할 수 있으며, 데이터 수신자는 공유받은 데이터를 자신의 Snowflake 환경에서 바로 사용할 수 있다. 이로 인해 기업 간 협업과 데이터 기반 의사결정이 훨씬 빠르고 효율적으로 이루어질 수 있다.

Snowflake 주요 기능 6가지

• 데이터 엔지니어링(Data Engineering)
정형/비정형/반정형 데이터 형태 모두 지원, 탄력적 파이프라인 설계을 통해 성능은 높이고 비용은 절감
SQL 및 Snowpark를 통해 확장 가능한 파이프라인 구축
데이터 엔지니어링에서 가장 주목할 부분은 데이터 형태 지원이다. 정형/비정형/반정형 데이터 형태를 모두 지원한다. 소셜 미디어, 이미지 파일, 문서 스캔본, 콜센터 녹음 같은 데이터도 저장할 수 있다고 한다.
• 데이터 레이크(Data Lake)
모든 데이터를 단일 플랫폼에서 관리하기 때문에 데이터 사일로에서 자유롭다
데이터 레이크는 사용하는 모든 데이터를 저장하는 장소이다. Snowflake는 정형/비정형/반정형 데이터를 저장할 때, 분리된 플랫폼이 아니라 단일 플랫폼에서 관리한다. 따라서 일반적으로 각 플랫폼에서 동시에 데이터를 사용하려고 할 때 발생하는 데이터 사일로 문제가 생기지 않는다.
• 데이터 웨어하우스(Data Warehouse)
JSON, XML등 모든 데이터 형태를 즉시 쿼리 가능한 원본 형태로 저장 가능
웨어하우스의 크기를 즉시 확장하거나 축소 가능
데이터 웨어하우스로써의 역할을 보면, 가장 매력적인 부분은 웨어하우스 크기 조정이다. 웨어하우스의 크기를 원하는 즉시 변경 가능하다. 이를 통해 유동적으로 작업 조건에 따라 웨어하우스를 변경해가며 최적의 사이즈로 작업할 수 있다. 리소스와 작업 효율 사이의 균형을 자유롭게 조절할 수 있는 것이다.
• 데이터 사이언스(Data Science)
Snowflake 직접 사용하면서 데이터 사이언스 관련된 기능을 자주 사용하진 않았다. 내가 매력적으로 본 기능은 쿼리 결과를 간단한 플롯이나 히스토그램으로 바로 볼 수 있는 기능이었다. 이 기능을 통해 쿼리나 테이블에 문제가 있거나, 대략적인 분포를 파악해야 할 때 매우 빨리 해결할 수 있었다.
• 데이터 어플리케이션(Data Applications)
멀티 클러스터를 사용하여 동시 사용자나 워크로드에도 성능 저하 없음
인프라 복잡성에 대해 고민할 필요 없음
멀티 클러스터라는 기능으로 동시에 작업을 병렬적으로 처리할 수 있다. 멀티 클러스터를 3개 사용하면, 3명의 동시 사용자가 각각 작업을 수행해도 전혀 성능 문제가 발생하지 않는다. 멀티 클러스터를 많이 사용하면 그만큼 비용 문제가 생기긴 하지만, Snowflake는 리소스를 투자하기만 하면 무궁무진한 성능을 보여준다는 생각이 들었다.
• 데이터 교환(Data Sharing)
Snowflake는 매우 파워풀한 공유 기능을 가지고 있다고 한다. 앞서 말한 중앙집중식 관리를 사용하여 데이터를 공유하기 때문이다. 기존의 데이터 공유 방식은 대부분 A가 B에게 데이터를 공유하면 B는 데이터의 복사본을 갖게 되는 형식이었다. 이렇게 되면 원본 데이터가 업데이트 되어도 B가 가진 복사본에는 영향을 줄 수 없다. 하지만 Snowflake에서는 A가 B에게 데이터를 공유하면 B는 원본 데이터에 대한 접근 권한을 갖게 되는 형식으로 공유가 이루어진다. 따라서 A와 B가 같은 데이터를 보고 있는 것이다. 사실 우리나라에는 아직 Snowflake로 데이터를 공유하기에는 어려움이 있지만, 추후에 점유율이 높아지고 파트너사가 많아지면 아주 유용한 기능일 것 같다.
결론
Snowflake는 새로운 세대의 데이터 플랫폼으로 정말 많은 장점을 가지고 있다. 빠르고 유연한 데이터 스토리지부터 중앙집중식 관리, 멀티 클러스터, 파워풀한 공유 기능까지 데이터 실무에서 겪고있는 이슈들에 대한 실질적인 솔루션이다. 개인적으로 사용성도 좋다고 느꼈다. AWS와 Google Bigquery가 많은 자리를 차지하고 있지만 Snowflake도 점점 자리를 잡을 수 있을 거라고 생각한다.
'데이터 엔지니어링' 카테고리의 다른 글
| [데이터 엔지니어링] - Data Lake House (0) | 2026.03.09 |
|---|---|
| [데이터 엔지니어링] - BigQuery 해부하기 (0) | 2026.03.08 |
| [데이터 엔지니어링] - Cloudera (1) | 2026.03.01 |
| [토스] - 전천후 데이터 분석을 위한 DW 설계 및 운영하기 (0) | 2026.03.01 |
| [데이터 엔지니어링] - 데이터엔지니어로서 SQL 실력을 향상시키는법 (1) | 2026.01.24 |