728x90
728x90
Snowflake란?
- 클라우드 기반 전용 데이터 웨어하우스 플랫폼 (AWS, Azure, GCP 전용)
- On-premise 버전은 없음
- 모든 산업에서 채택이 증가하고 있는 플랫폼
Snowflake 특징
- Worklaod Isolation: 서로 다른 작업(Workload)이 서로 성능에 영향을 주지 않도록 격리된 환경에서 실행
- Snowflake에서는 Virtual Warehouse 사용
- 각각의 Virtual Warehouse는 독립적인 컴퓨터 리소스를 가지며, 하나의 작업군이 리소스를 많이 사용해도 다른 Warehouse에는 영향이 없음
ex)
업무 | Warehouse 이름 | 용도 |
데이터 적재 | ETL_WH | ETL 배치 처리 |
BI 분석 | BI_WH | Tableau/Power BI 쿼리 실행 |
ML 실험 | ML_WH | 대규모계산 |
- Time Travel: 과거의 데이터 복원 기능 (보조 기간 - 기본 1일, Enterprise 이상은 최대 90일까지 설정 가능)
- Zero Copy Clone: 물리적 복사 없이 데이터 복제 (pointer 기반 가상 복제)
- Data Sharing: 외부 사용자용 Reader Account 제공
- 보안 기능 내장: RBAC, DAC, 암호화, Column/Row 수준 보안
보안 항목 | 설명 |
RBAC(Role-Based Access Control) | 사용자 역할에 따라 권한 제어 |
DAC (Discretionary Access Control) | 개별 객체에 대해 권한 부여 |
Data Encryption | 저장 중 및 전송 중 데이터 전면 암호화 (AES-256) |
Column-level Masking | 특정 컬럼 값을 마스킹 (ex. 주민번호, 카드 번호) |
Row-level Security | 유저 조건에 따라 접근 가능한 Row 필터링 |
- Pay-per-second 과금 모델: 사용한 만큼만 요금 부과 (초 단위 과금, 미사용 시 자동 일시 중지, 과금 없음)
- 다양한 커넥터 지원: JDBC, ODBC, Spark, Python, .NET, Node.js 등
- 표준 ANSI SQL 지원: 기존 SQL 기반 시스템과 호환 쉬움
Snowflake의 역사
- 2012년 설립, 캘리포니아 산 마테오
- 창립자: Benoit Dagevile, Thierry Cruanes, Marcin Zukowski
- Snowflake라는 이름은 세 창립자의 snow sport 애호에서 유래
- 2015년 GA(Gneral Availability), 80개 조직이 초기 도입
- Gartner Cool Vendor 선정(2015)
클라우드 데이터 플랫폼의 진화
- 전통적 온프레미스 Data Warehouse
- 기업 내부 서버에 설치도니 물리적 인프라 기반으로 대규모 분석용 MPP (Massively Parallel Processing) 구조 채택
- 대부분 SQL 기반
- 한계점
- 유연성 부족: 새로운 데이터 소스 추가/제거 어려움
- 비정형 데이터 미지원: JSON, XML, 로그, 이미지 등 처리 어려움
- 확장성 한계: 용량 늘리려면 물리적 하드웨어 증설 필요 (비용 & 시간 증가)
- 초기비용 과다
- 느린 배포
- 클라우드 기반의 1세대 Data Warehouse (Rehosted DW)
- 예) AWS RDS에 Oracle 설치, MS SQL on Azure VM
- 기존의 Data Warehouse를 그대로 클라우드 환경에 Lift & Shift (이식)
- 일부 확장성은 클라우드로 개선됨
- 한계점
- 클라우드 최적화 부족: 원래 OnPremise용이라 클라우드 장점 활용 못함
- 비정형 데이터 미지원: 기존 구조화 데이터 외 처리 어려움
- 여전히 수동 관리
- Hadoop 기반 Data Lake
- 예) Hadoop, HDFS, Hive, Pig, Spark
- 저렴한 스토리지 기반의 대용량 데이터 처리 가능
- 비정형 데이터 수용 가능 (로그, JSON, 이미지 등)
- 분산 처리 프레임워크 (MapReduce -> Spark)
- 한계점:
- 쿼리 응답 속도 느림 (특히 MapReduce 기반)
- SQL 아닌 복잡한 코드(HiveQL, Spark 등) 필요
- 운영 복잡성
- SQL 비지원 -> 전통적인 SQL 사용자들이 적응하기 어려움
- 일관성 부족: 데이터 무결성, 카탈로그 관리가 느슨함
- 클라우드 네이티브 데이터 플랫폼
- 예) Snowflake, Google BigQuery, AWS Redshift Serverless
- Snowflake
- 클라우드 전용 설계
- 구조화/반구조화 데이터 모두 지원
- 모든 사용자에게 SQL 제공
- 관리 자동화
- 빠른 응답
Hadoop 기반 Data Lake는 저장 중심이고 복잡한 엔지니어링이 필요하지만, Snowflake는 사용(분석) 중심이고 간편하면서도 고성능을 제공. (Hadoop Data Lake는 일단 데이터를 싸게 쌓고 나중에 필요하면 해석하자. Snowflake는 읽기 쉽도록 미리 구조화 하자)
현대적 데이터 아키텍처
예전에는 데이터가 하나의 형식(예: RDBMS)으로 한 번에 수집되고 분석되었다면, 오늘날에는 다양한 형식, 다양한 속도, 다양한 목적으로 데이터가 생성·수집·활용된다.
- 다양한 데이터 소스
- Snowflake는 OLTP 시스템, 웹 로그, 모바일 앱 로그, IoT 센서 데이터, 3rd-party 데이터와 같은 소스로 부터 Data Ingestion을 지원 -> S3, Azure Blob, GCS, Kafka, API 등 다양한 통로로 유입 가능
- 다양한 데이터 형태와 속도 수용
- Snowflake는 정형+반정형을 완전 지원하고, 비정형은 외부 Stage를 통해 연동 가능함
- 다양한 워크로드 목적 지원 (단순한 BI 분석 외에도 다양한 목적을 처리할 수 있어야 함)
- Data Warehouse(DW): BI, 리포팅용 정형 분석
- Data Lake: 다양한 형태의 원천 데이터 저장소
- Data Engineering: ETL, ELT, 정제 변환 등
- Data Application: 백엔드 앱 연동용 API 데이터
- Data Science/ ML: 모델 학습/예측용 데이터 제공
- Data Exchange: 외부 기관과 데이터 공유, 상품화
- Snowflake는 모든 워크로드 지원하는 단일 플랫폼
- ETL: Snowflake Streams + Tasks + Procedures
- App 연동: REST API 또는 Snowflake Connector
- ML: Snowpark for Python / external model integration
- Data Exchange: Reader Account + Secure Share
Snowflake의 클라우드 최적화 특징
- Storage와 Compute 분리 -> 독립적 확장
- SaaS: 설치, 업데이트, 유지보수 필요 없음
- 멀티 클라우드 지원: AWS, Azure, GCP
- 스케일 무제한, 탄력적 확장
- 비용 효율적: Storage만 할 경우 Compute 비용은 없음
One Platform, One Copy of Data, Many Workloads
하나의 통합 플랫폼에서, 하나의 데이터 복사본만으로, 여러 업무 목적(워크로드)를 동시에 지원한다.
- One Platform
- Snowflake는 하나의 SaaS 기반 플랫폼 안에 모든 기능을 통합 제공
- 사용자 입장에서는 여러 시스템을 따로 구성할 필요가 없음
- One Copy of Data
- 기존에는 각 팀이 각자 복사본을 가져가서 사용하였음 -> 데이터 중복, 버전 불일치, 보안 위험
- Snowflake는 물리적 복사 없이 Zero Copy Clone 기능으로 가상 복제하여 여러 팀이 동일한 데이터를 보면서도 격리된 작업 가능
- Many Workloads
- 다양한 부서/팀이 각자의 목적으로 동시에 활용 가능
- 보안성을 유지하면서 내부/외부 공유도 가능
728x90
300x250
'Snowflake' 카테고리의 다른 글
Snowflake 주요 특징 (0) | 2025.06.17 |
---|---|
Snowflake와 기존 클라우드 데이터 웨어하우스 차이 (0) | 2025.06.17 |
Snowflake Snowsight (Modern Web UI) (0) | 2025.06.17 |
Snowflake Legacy Web UI (1) | 2025.06.16 |
Snowflake Architecture (1) | 2025.06.14 |