Data Engineering/Governance

SnowFlake on Azure Cloud Architecture

"Everything about infra" 2025. 11. 4. 00:27

안녕하세요,

제 분야인 클라우드가 아닌, 데이터를 다루다 보니

공부하면서 조금 기초적인 내용을 다룰 예정입니다 :)

 

 

대용량 정형 / 비정형 데이터를 통합적으로 관리하고 분석하기 위해 파이프라인 아키텍처를 구축하는데요,

현업에서 사용되는 Azure Cloud + SnowFlake 아키텍처 및 기능, 데이터 처리 방식을 알아보겠습니다.

 

 

01. Data pipe line Architecture

전체 흐름 개요

 

[Data Source] → [Azure Data Factory / Synapse] → [Azure Blob Storage] → [SnowFlake] →

[Power BI / AI 분석]

 

주요 구성 요소

  • Azure Data Factory / Synapse Analytics
    • ETL/ELT 파이프라인을 구성하여 다양한 소스에서 데이터를 수집, 변환, 적재
    • Snowflake V2 커넥터를 통해 직접 연결 가능
  • Azure Blob Storage / Data Lake Gen2
    • 정형/비정형 데이터를 저장하는 중간 스테이지 역할
    • Snowflake는 외부 스테이지로 Blob Storage를 참조하여 데이터를 로딩/언로딩 가능
  • SnowFlake
    • 클라우드 기반 데이터 웨어하우스
    • 정형 데이터는 테이블로, 비정형 데이터는 FILE 타입으로 저장 가능
    • Snowpipe를 통해 실시간 스트리밍 데이터 로딩 지원
    • Snowpark를 통해 Python/Java/Scala 기반 데이터 처리 가능
  • Power BI / AI 분석 플랫폼
    • Snowflake에서 처리된 데이터를 시각화하거나 AI 모델 학습에 활용
    • Cortex AI를 통해 비정형 데이터 분석 및 LLM 기반 검색 증강 생성(RAG)도 가능

1-1. 생소한 언어 알아보기.

좀 더 알아보기 이전에, 생소한 언어에 대해서 공부해보고자 합니다.

 

📌  ETL/ELT 파이프라인 이란?

데이터 처리 프로세스를 일컫는다고 하는데, 두 방식의 주요 차이점은 변환 작업의 위치 차이라고 합니다.

  • ETL (추출, 변환, 로드)
    • 추출(Extract) : 여러 소스 시스템(Database, API 등)에서 데이터를 가져온다.
    • 변환(Transform) : 데이터가 대상 시스템에서 사용될 수 있도록 특정 형식으로 변환, 정리, 통합
    • 로드 (Load) : 데이터 변환을 먼저 거치므로 데이터 품질을 높이고 보안성 확보에 유리하다.
  • ELT (추출, 로드, 변환)
    • Extract : 원본 데이터를 가져온다.
    • Load : 원본 데이터를 변환하지 않고 그대로 Data Lake, Data warehouse에 적재한다.
    • Transform : 적재된 데이터를 필요에 따라 변환한다.

ELT 프로세스의 특징은 본 데이터의 모든 정보를 유지하면서 필요에 따라 유연하게 변환할 수 있어

빅데이터 환경에서 널리 사용됩니다.

 

📌  LLM 기반 검색 증강 생성 (RAG)이란?

대규모 언어 모델(LLM)이 답변을 생성하기 이전에 외부 데이터 베이스에서 관련 정보를 검색하여,

이를 바탕으로 더 정확하고 최신 정보를 반영한 답변을 만드는 기술이라고 합니다.

 

RAG : LLM의 답변 정확성을 높이고 최신 정보나 특정 기업의 내부 지식에 기반한 답변을 제공하는데 유용함.

  • 검색 (Retrieval) : 사용자의 질문이 입력되면 외부 데이터 소스에서 질문과 가장 관련성이 높은 정보를 검색함. 이 데이터는 최신 정보나 사내 문서 등 다양할 수 있다.
  • 증강 (Augmented) : 검색된 정보를 원래의 사용자 질문에 추가하여, 모델이 답변을 생성하는데 충분한 컨텍스트를 제공한다.
  • 생성 (Generation) : 검색된 정보와 원래 질문을 결합한 내용을 기반으로 LLM이 최종 답변을 생성함.

02. 정형 vs 비정형 데이터 처리 방식

정형 데이터

  • CSV, Parquet, JSON 등 구조화된 데이터
  • Azure Data Factory → Blob → Snowflake COPY INTO 명령으로 적재
  • Snowflake 내에서 SQL 기반 변환 및 분석

 정형 데이터

  • 이미지, 오디오, PDF, 로그, 문서 등
  • Azure Blob에 저장 후 Snowflake 외부 스테이지로 연결
  • Snowflake Cortex AI + Snowpark로 처리 및 분석
    • 벡터 임베딩 생성
    • LLM 기반 질의 응답
    • RAG 아키텍처 구축

📌  요약

정형화된 데이터 → SnowFlake 테이블에 직접 저장되어 내부에서 처리됨.

비정형 데이터 → 외부 스토리지 (Azure Blob 등)에 저장 후 참조되어 처리.

 

📌  구조

구분 저장 위치 처리 방식 SnowFlake 에서 직접 처리?
정형 데이터 SnowFlake 내부 테이블 SQL, dbt, Snowpark 가능.
비정형 데이터 외부 스테이지 (Azure Blob Storage) Python, Snowpark, Cortex AI 일부만 가능 (분석 O, 저장 X)

 


03. Architecture의 실용성

가장 궁극적인 목적은 데이터를 모아서 저장하고, 분석해서 Insight를 얻는 것!

예를 들어, 기업이 다양한 시스템에서 발생하는 데이터를 수집한다고 가정해보자.

  • ERP, CRM, WEB log, IoT 센서, SNS, 고객 설문 등.

이 데이터는 정형화(표 형태)된 데이터 일수도 있고, 비정형 데이터(문서, 이미지, 로그 등) 일수도 있다.

이걸 그냥 저장만 해두면 무슨 의미가 있을까? 활용을 해보자.

 

수집: Azure Data Factory 같은 도구로 다양한 소스에서 데이터를 가져옴

저장: Azure Blob Storage에 임시 저장하거나 Snowflake에 직접 저장 (데이터 방식에 따라 다름)

처리/분석:

  • SQL로 정형 데이터를 분석
  • Python/AI 모델로 비정형 데이터를 분석 (예: 이미지 분류, 문서 요약)
  • Snowflake의 SnowparkCortex AI를 통해 AI 분석 가능

활용:

  • Power BI로 시각화
  • 예측 모델로 미래 트렌드 분석
  • 챗봇이나 자동화 시스템에 적용

 


🔍  예시 시나리오

고객 이탈 가능성을 예측해볼까?

 

1. 데이터 수집 : 고객 행동 로그, 구매 이력, 상담 기록 등.

2. 저장 : Azure Blob → Snowflake

3. AI 분석 :

  • Python 모델로 고객 이탈 가능성 예측
  • Snowflake에서 직접 모델 실행 가능 (Snowpark)

4. 활용 : 이탈 가능성이 높은 고객에게 마케팅 자동 발송, Power BI로 이탈 트렌드 시각화 등.