[Snowflake Partner Technical Bootcamp] 1. Overview

Snowflake ๊ฐœ์š”

Snowflake๋ž€?

Snowflake๋ž€ ๋ฐ์ดํ„ฐ ์ €์žฅ, ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ถ€ํ„ฐ ์‹œ๊ฐํ™”, ๋จธ์‹ ๋Ÿฌ๋‹๊นŒ์ง€ ํ•œ ๋ฒˆ์— ํ•  ์ˆ˜ ์žˆ๋Š” ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ ํ†ตํ•ฉ ๋ฐ์ดํ„ฐ ํ”Œ๋žซํผ์ด๋‹ค.


Traditional Data Architecture

๊ธฐ์กด์˜ ๋ฐ์ดํ„ฐ ์•„ํ‚คํ…์ณ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

snowflake traditional data architecture

์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ ์†Œ์Šค๋“ค๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘/์ ์žฌ, ์ „์ฒ˜๋ฆฌ, ์ •๊ทœํ™” ๋ฐ ์ง‘๊ณ„, ๋ถ„์„, ์‹œ๊ฐํ™” ๋“ฑ์˜ ๋‹จ๊ณ„์— ๋”ฐ๋ผ ๊ฐ S/W ์‹œ์Šคํ…œ์„ ๊ฐ๊ฐ ๊ตฌ์ถ•ํ•˜๊ณ  ๊ด€๋ฆฌํ•ด์•ผ ํ•œ๋‹ค. ๋˜ํ•œ ๊ฐ ์‹œ์Šคํ…œ๋งˆ๋‹ค ๋ฐ์ดํ„ฐ ์ตœ์‹ ํ™”์— ๋Œ€ํ•œ ์—ฌ๋Ÿฌ ๊ด€๋ฆฌ ๋น„์šฉ๋“ค๋„ ๋ฐœ์ƒํ•  ๊ฒƒ์ด๋‹ค.

์ด๋Ÿฌํ•œ ๋ถ„๋ฆฌ๋œ ์•„ํ‚คํ…์ณ์— ๋Œ€ํ•ด ๊ฐ ์‹œ์Šคํ…œ๊ณผ ๋ฐ์ดํ„ฐ์˜ ๊ตฌ์ถ• ๋ฐ ๊ด€๋ฆฌ, ํ™•์žฅ์— ๋Œ€ํ•œ ๋น„์šฉ ์ด์Šˆ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Snowflake๊ฐ€ ๋“ฑ์žฅํ–ˆ๋‹ค.


Modern Data Architecture with Snowflake

๋‹ค์Œ์€ Snowflake Cloud Data Platform์˜ ์•„ํ‚คํ…์ณ์ด๋‹ค.

modern data architecture

Snowflake Cloud Data Platform์€ ๋ฐ์ดํ„ฐ์˜ Source์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์†Œ๋น„ ํ•˜๋Š” ์ž…์žฅ ์‚ฌ์ด์—์„œ Data Warehouse, DataLake, Data Engineering, Data App, Data Science ๋ชจ๋“  ๊ฒƒ์„ ์ œ๊ณตํ•œ๋‹ค. ์ด๋กœ ์ธํ•ด ์†Œ๋น„์ž๋Š” ์‚ฌ์ผ๋กœํ™” ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋‹Œ ํ†ตํ•ฉ ๋ฐ์ดํ„ฐ๋ฅผ snowflake๋ผ๋Š” ํ•˜๋‚˜์˜ ํ”Œ๋žซํผ์„ ํ†ตํ•ด์„œ ์ œ๊ณต๋ฐ›๊ณ , ๊ทธ ์•ˆ์—์„œ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.


Snowflake ํŠน์ง•

Snowflake๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ํŠน์ง•์ด ์žˆ๋‹ค.

  • ์™„์ „ํ•œ ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ์•„ํ‚คํ…์ฒ˜ : Snowflake๋Š” ํด๋ผ์šฐ๋“œ์— ์ตœ์ ํ™”๋œ ์™„์ „ํ•œ ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ด๋Š” ํด๋ผ์šฐ๋“œ ํŠน์„ฑ ์ƒ ๊ฐ€๋ณ€์ ์ธ ์ˆ˜์š”์— ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ๊ณ , ํด๋ผ์šฐ๋“œ์˜ ์œ ์—ฐ์„ฑ๊ณผ ํ™•์žฅ์„ฑ์„ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.
  • ๋ถ„๋ฆฌ๋œ ์ปดํ“จํŒ…๊ณผ ์Šคํ† ๋ฆฌ์ง€ ๋ ˆ์ด์–ด : Snowflake๋Š” ์ปดํ“จํŒ…๊ณผ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ๋ถ„๋ฆฌ๋œ ๋ ˆ์ด์–ด๋กœ ๊ตฌ์„ฑํ•˜์—ฌ ์ž‘์—… ๋ถ€ํ•˜์™€ ๋ฐ์ดํ„ฐ ์ €์žฅ์„ ๋ถ„๋ฆฌํ•œ๋‹ค. ์ด๋กœ ์ธํ•ด ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์†๋„์™€ ํšจ์œจ์„ฑ์ด ํ–ฅ์ƒ๋˜๊ณ , ์Šคํ† ๋ฆฌ์ง€์™€ ์ปดํ“จํŒ… ๋น„์šฉ์„ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ฆ‰์‹œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ : Snowflake๋Š” ๋ฐ์ดํ„ฐ ๋กœ๋”ฉ๊ณผ ๋ณ€ํ™˜์„ ์œ„ํ•œ ETL(Extract, Transform, Load) ํ”„๋กœ์„ธ์Šค๋ฅผ ํ•„์š”๋กœ ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋Œ€์‹ , ๋ฐ์ดํ„ฐ๋Š” ์ฆ‰์‹œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์ฟผ๋ฆฌ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋  ๋•Œ ์ž๋™์œผ๋กœ ๋ณ€ํ™˜๋œ๋‹ค. ์ด๋Š” ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•˜๊ณ , ์‚ฌ์šฉ์ž๋“ค์ด ๋น ๋ฅด๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค€๋‹ค.
  • ๋›ฐ์–ด๋‚œ ๋ณด์•ˆ ๊ธฐ๋Šฅ : Snowflake๋Š” ๋‹ค์–‘ํ•œ ๋ณด์•ˆ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”, ๋„คํŠธ์›Œํฌ ๋ณด์•ˆ, ์ธ์ฆ ๋ฐ ๊ถŒํ•œ ๋ถ€์—ฌ, ์ด๋ ฅ ์ถ”์  ๋“ฑ ๋‹ค์–‘ํ•œ ๋ณด์•ˆ ์š”์†Œ๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ๊ทœ์ œ ์ค€์ˆ˜ ๋ฐ ๋ฐ์ดํ„ฐ ์†์‹ค ๋ฐฉ์ง€๋ฅผ ์œ„ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.
  • ๋‹ค์–‘ํ•œ ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ : Snowflake๋Š” ๋‹ค์–‘ํ•œ ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ง€์›ํ•˜์—ฌ ์‚ฌ์šฉ์ž๋“ค์ด ์‰ฝ๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ฟผ๋ฆฌํ•˜๊ณ  ๋ถ„์„ํ•  ์ˆ˜ ์žˆ๋‹ค. SQL, JDBC, ODBC, Python, R ๋“ฑ ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ๋„๊ตฌ๋ฅผ ์ง€์›ํ•˜๋ฉฐ, ๊ฐ„๋‹จํ•˜๊ฒŒ ์—ฐ๊ฒฐํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ ๊ณต์œ  ๊ธฐ๋Šฅ : Snowflake๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. ์ด๋Š” ๋ฐ์ดํ„ฐ ๊ณต์œ ์™€ ํ˜‘์—…์„ ์šฉ์ดํ•˜๊ฒŒ ํ•˜๋ฉฐ, ๋น„์ฆˆ๋‹ˆ์Šค ์„ฑ๊ณผ๋ฅผ ๋†’์ด๋Š” ๋ฐ ๋„์›€์ด ๋œ๋‹ค.
  • ๊ฒฝ์ œ์„ฑ : Snowflake๋Š” ์‚ฌ์šฉํ•œ ๋งŒํผ๋งŒ ๋น„์šฉ์„ ์ง€๋ถˆํ•˜๋„๋ก ์„ค๊ณ„๋˜์–ด ์žˆ๋‹ค. ์ด๋Š” ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋Ÿ‰๊ณผ ์‚ฌ์šฉ์ž ์ˆ˜์— ๋”ฐ๋ผ ๋น„์šฉ์ด ๋™์ ์œผ๋กœ ์กฐ์ •๋˜๋ฏ€๋กœ, ๋น„์ฆˆ๋‹ˆ์Šค ์š”๊ตฌ ์‚ฌํ•ญ์— ๋”ฐ๋ผ ์ตœ์ ์˜ ๋น„์šฉ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.


Snowflake Architecture

snowflake architecture

Snowflake ์•„ํ‚คํ…์ณ๋Š” ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์•ˆ์ชฝ๋ถ€ํ„ฐ ์ค‘์•™ ์ง‘์ค‘์‹์œผ๋กœ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜๋Š” Storage Layer, Mulit Cluster๋กœ ์„œ๋น„์Šค์˜ ์š”์ฒญ๋“ค์„ ์ˆ˜ํ–‰ํ•˜๋Š” Compute Layer, ์„œ๋น„์Šค๋“ค์„ Scale-out ํ• ์ˆ˜ ์žˆ๋Š” Service Layer 3๊ฐ€์ง€ ๋ ˆ์ด์–ด๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๊ณ  ์ด๋Š” AWS, Azure, GCP 3๊ฐ€์ง€ ํด๋ผ์šฐ๋“œ์—์„œ ์‹คํ–‰๋œ๋‹ค.

๊ฐ ๋ ˆ์ด์–ด์— ๋Œ€ํ•œ ํŠน์ง•๋“ค์„ ๊ฐ„๋žตํžˆ ์•Œ์•„๋ณด์ž.

Storage Layer

Optimized Storage๋กœ ์ปดํ“จํŒ…๊ณผ ์™„์ „ํžˆ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ๋Š” ํ†ตํ•ฉ/๋‹จ์ผ ์ €์žฅ์†Œ ๊ณ„์ธต์ด๋‹ค.

  • ํ‰๊ท  ์••์ถ•๋ฅ  : 70~90%
  • ์ปฌ๋Ÿผํ˜• ์Šคํ† ๋ฆฌ์ง€
  • ์ž๋™์œผ๋กœ ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”
  • Encoding ์ง€์›
  • Native ๋ฐ˜์ •ํ˜• ๋ฐ์ดํ„ฐ ์ง€์›
  • Time Travel
  • Zero-copy Clone


Compute Layer

Elastic Performance Engine์œผ๋กœ ์ €์žฅ์†Œ์™€ ์™„์ „ํžˆ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ๋Š” ์ปดํ“จํŒ…์„ ์œ„ํ•œ ๊ฐ€์ƒ ์›จ์–ดํ•˜์šฐ์Šค ๊ณ„์ธต์ด๋‹ค.

  • ์›Œํฌ๋กœ๋“œ ์œ ํ˜• ๋ณ„ ๊ฒฉ๋ฆฌ๋œ ์‹คํ–‰ ํ™˜๊ฒฝ
  • Elastic : ํ•„์š” ์‹œ์ ์— ์ฆ‰์‹œ ์‹คํ–‰
  • Scale up : ๋ณต์žกํ•œ ์ฟผ๋ฆฌ ์„ฑ๋Šฅ ๊ฐœ์„ 
  • Scale out : ์ง€์—ฐ ์—†๋Š” ๋™์‹œ ์ฒ˜๋ฆฌ
  • Scale across : ์›Œํฌ๋กœ๋“œ ๊ฐ„ ๋ฆฌ์†Œ์Šค ๊ฒฝํ•ฉ ํ˜„์ƒ ๋ฐฉ์ง€
  • ๋น„์šฉ ํšจ์œจ์ ์ธ ๊ตฌ์กฐ : WH ์ž๋™ ์‹œ์ž‘ ๋ฐ ์ค‘์ง€ (์ดˆ ๋‹จ์œ„ ๋น„์šฉ ์ฒญ๊ตฌ)
  • ๋ชจ๋“  ์‚ฌ์šฉ์ž์™€ ๊ธฐ์ˆ  ์ง€์› : SQL, Java, Python, Scala


Service Layer

Intelligence Infrastructure์ธ ์™„์ „ ๊ด€๋ฆฌํ˜• ์„œ๋น„์Šค๋กœ์„œ ์ž๋™ํ™”๋ฅผ ํ†ตํ•ด ์œ„ํ—˜์„ ์ค„์ด๊ณ  ํšจ์œจ์„ฑ์„ ๊ฐœ์„ ํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ์ค‘์š”ํ•œ ์ผ์— ๋”์šฑ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ๊ณ„์ธต์ด๋‹ค.

  • ์ฟผ๋ฆฌ ์ตœ์ ํ™” ์ˆ˜ํ–‰
  • ๋ฉ”ํƒ€์ •๋ณด ๊ด€๋ฆฌ ๊ณ„์ธต: ์บ์‰ฌ
  • ์šฉ๋Ÿ‰ ์ œํ•œ ์—†๋Š” Result ์บ์‰ฌ
  • SERVERLESS ๊ธฐ๋Šฅ
    • Auto Clustering
      • Search Optimization
      • Meterialized Views
      • Query Acceleration
      • Snowpipe


์ด๋Ÿฌํ•œ ํŠน์ง•, ์žฅ์ ๋“ค๋กœ ์ธํ•ด Snowflake๋Š” ๋‹ค๋ฅธ ํด๋ผ์šฐ๋“œ ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค์™€ ๊ตฌ๋ณ„๋˜๋Š” ๋ฉด์ด ์žˆ์œผ๋ฉฐ, ๋Œ€๊ทœ๋ชจ์˜ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์™€ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๋‹ค๋ฃจ๋Š” ํ™˜๊ฒฝ์—์„œ ์„ ํ˜ธ๋˜๋Š” ์„ ํƒ์ง€ ์ค‘ ํ•˜๋‚˜์ด๋‹ค.

๋ฌผ๋ก  Google BigQuery, AWS Athena, AWS S3, Delta Lake ๋“ฑ์˜ ๋‹ค๋ฅธ ์„œ๋ฒ„๋ฆฌ์Šค ์ฟผ๋ฆฌ ์„œ๋น„์Šค ๋ฐ ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค ์„œ๋น„์Šค๋“ค๋„ ๊ณ ์„ฑ๋Šฅ, ๊ณ ๊ฐ€์šฉ์„ฑ, ๋ณด์•ˆ์„ฑ, ๋น„์šฉ ํšจ์œจ์„ฑ ๋“ฑ ๋‹ค์–‘ํ•œ ์žฅ์ ๋“ค์„ ์ œ๊ณตํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Snowflake๋Š” ์ด๋Ÿฌํ•œ ์žฅ์ ๋“ค์„ ๋ณด๋‹ค ๊ฐ•ํ™”ํ•œ ์•„ํ‚คํ…์ณ์™€ ๊ธฐ๋Šฅ๋“ค์„ ์ œ๊ณตํ•˜์—ฌ ๊ตฌ๋ณ„๋˜๋Š” ํŠน์ง•๋“ค์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๋˜ํ•œ, Snowflake๋Š” ๋ฐ์ดํ„ฐ ๊ณต์œ ์™€ ๊ด€๋ฆฌ, ์œ ์ง€๋ณด์ˆ˜ ๋“ฑ์˜ ๊ธฐ๋Šฅ๋“ค์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋“ค์˜ ์š”๊ตฌ์— ๋”์šฑ ๋งž์ถ˜ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ฒฐ๊ตญ, ์„ ํƒํ•  ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค๋Š” ์‚ฌ์šฉ์ž์˜ ์š”๊ตฌ์‚ฌํ•ญ๊ณผ ์šด์˜ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ๋‹ค๋ฅผ ๊ฒƒ์ด๋‹ค. ์ด์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ํด๋ผ์šฐ๋“œ ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค๋ฅผ ๋น„๊ตํ•ด๋ณด๊ณ , ํ•ด๋‹น ์„œ๋น„์Šค์˜ ์žฅ๋‹จ์ ์„ ํŒŒ์•…ํ•œ ํ›„ ์ตœ์ ์˜ ์„ ํƒ์„ ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค.

Leave a comment