Snowflake를 공부해보자! 3

BaeBae·2024년 4월 29일
0

DataBase

목록 보기
5/6
post-thumbnail

2024 1분기 Snowflake Parter Network base camp에 다녀왔습니다.
이후 현장에서 들은 교육 내용을 정리해보았습니다!

❄️ 1. Snow Pipe

  • serverless
  • 데이터를 자동으로 적재하는 object
  • copy command를 매번 타이핑 하는 게 불편할 때 많이 사용
  • 한 번 pipe를 구성해두면 manual 하게 적지 않아도 됨
  • 히스토리 존재
    • 파일의 이름이 동일하면 적재되지 않음
    • 따라서, 파일 이름이 달라야 함
    • 보통 날짜를 같이 적음
  • 시간 관련 특징
    • 5분 미만의 시간이 걸
    • 다만, 리얼타임에서 5분은 조금 크기 때문에 snowpipe streaming을 만듦

❄️ 2. Snowpipe Streaming

  • 카프카를 연동해 적재 메세지가 들어오면 snow flake에 리얼타임으로 저장되는 기능
  • 5초 내로 해결→ 리얼타임으로 느껴지게 함
  • 과금 단위 : 건수

❄️ 3. Dynamic Table

  • base table을 여러개 가지는 테이블
  • 쿼리로 table 만들면 됨
  • base table에서 데이터가 바뀐다면 snow flake에서 sync를 맞춰줌
  • 실시간은 아니고 지정한 시간에 따라서 sync를 맞추게 됨
  • Data set이 자주 변한다면 Dynamic table이 resource를 더 많이 사용할 수 있음
  • 여기서 resource란 virtural warehouse나 serverless warehouse를 말함

❄️ 4. Schema Detection and Evolution

4-1. Schema Detection

  • 현재 있는 parquet or json 등의 데이터를 보고 테이블로 만들어주는 기능
  • csv, parquet, json 지원

4-2. Schema Evolution

  • 반정형 데이터는 object 내에 칼럼명이 픽스 되었다면 데이터가 추가되기 쉽지 않음
  • 이를 극복하기 위해 새로 생기는 컬럼을 자동으로 감지해 칼럼을 추가하고 데이터를 추가함
  • 다만, 삭제되는 칼럼에 대해서는 지원하지 않음
  • kafka를 통해서 들어오는 데이터가 변했을 때 활용 가능

❄️5. Cost Optimization

  • Budgets
    • 내가 얼마나 가지고 있고, 얼마나 관리할 거냐에 대한 정보
    • account 단위로 제공
    • warehouse 단위로 제공
    • 내가 얼마나 보유하고 있고 얼마나 관리할 것인지에 대한 정보를 담

❄️6. Replication

  • 상기 그림과 같은 계층 구조로 snowflake가 구성되어 있음

6-1. account replication

  • account 아래에 해당하는 모든 것에 대한 복제
  • role 해당 o

6-2. Database replication

  • database 아래(스키마, 테이블) 등등 해당하는 것에 대한 복제
  • role은 해당 x

❄️ 7. Database Failover

  • primary에서 region 오류가 발생하면 secondary에서 장애조치함
profile
Data가 좋은 Web 개발자

0개의 댓글