[Snowflake Partner Technical Bootcamp] 3. Compute Layer

Compute Layer

Storage Layer์™€ ์™„์ „ํžˆ ๋ถ„๋ฆฌ๋œ Compute Layer๋Š” ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•˜์—ฌ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์›Œํฌ๋กœ๋“œ๊ฐ€ ์•ก์„ธ์Šค ํ•  ์ˆ˜ ์žˆ๋‹ค. ์Šคํ† ๋ฆฌ์ง€์—์„œ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ๋Š” ํŠน์ง• ๋•Œ๋ฌธ์— ์šด์˜ ์ค‘๋‹จ ์—†์ด ์ฆ‰๊ฐ์ ์ด๊ณ  ๋…๋ฆฝ์ ์œผ๋กœ ํ™•์žฅ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋˜ํ•œ ์›Œํฌ๋กœ๋“œ ๊ฐ„์˜ ์™„๋ฒฝํ•œ ๋ถ„๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฆฌ์†Œ์Šค ๊ฒฝ์Ÿ์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๊ณ  ํŠธ๋žœ์žญ์…˜์˜ ์ผ๊ด€์„ฑ๋„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

snowflake compute layer

์•„๋ž˜์—์„œ ์ž์„ธํžˆ ์‚ดํŽด๋ณด์ž.


1. What is Virtual Warehouse?

Virtual Warehouse๋Š” ์ตœ์‹  ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค๋ฅผ ์ง€์›ํ•˜๋Š” ์ปดํ“จํŒ… ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋˜ ๋‹ค๋ฅธ ์šฉ์–ด์ด๋‹ค. ๋ฉ”๋ชจ๋ฆฌ, ์ž„์‹œ ์ €์žฅ์†Œ ๋ฐ CPU๋ฅผ ํฌํ•จํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ œ๊ณตํ•˜์—ฌ SQL ์‹คํ–‰ ๋ฐ DML(Data Manipulation Language)์„ ์œ„ํ•ด ์–ธ์ œ๋“ ์ง€ ํ™œ์šฉํ•˜๊ณ  ํ•„์š”ํ•˜์ง€ ์•Š์„ ๋•Œ ๋Œ ์ˆ˜ ์žˆ๋Š” ๋…๋ฆฝ์ ์ธ ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค์ด๋‹ค.

์•„๋ž˜ ๋‹ค์ด์–ด๊ทธ๋žจ์€ Snowflake ์•„ํ‚คํ…์ฒ˜์™€ Virtual Warehouse๊ฐ€ Snowflake์— ์ปดํ“จํŒ… ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ๊ณ„์ธต์— ์˜ํ•ด ์กฐ์ •๋˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค€๋‹ค.

snowflake virtual warehouse

Virtual Warehouse๋Š” ๋‹ค๋ฅธ Virtual Warehouse์™€ ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค๋ฅผ ๊ณต์œ ํ•˜์ง€ ์•Š๋Š” ๋…๋ฆฝ์ ์ธ ์ปดํ“จํŒ… ํด๋Ÿฌ์Šคํ„ฐ์ด๋‹ค. ์ข€ ๋” ์ž์„ธํžˆ ์‚ดํŽด๋ณด๋ฉด ๋งŒ์•ฝ ์–ด๋– ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ Snowflake ์•ˆ์œผ๋กœ ๋“ค์–ด์™”์„ ๋•Œ Virtual Warehouse๋งˆ๋‹ค ์ž‘์—…์„ ๋ถ„๋‹ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

snowflake warehouse seperate workload

์˜ˆ๋ฅผ ๋“ค๋ฉด ๋ฐ์ดํ„ฐ ์ ์žฌ(Load)๋งŒ ๋‹ด๋‹นํ•˜๊ฒŒ ๋˜๋Š” Virtual Warehouse, ๋ฐ์ดํ„ฐ ๋ถ„์„ ๋ฐ ์‹œ๊ฐํ™”๋งŒ(BI/Visualization) ๋‹ด๋‹นํ•˜๊ฒŒ ๋˜๋Š” Virtual Warehouse ๋“ฑ์œผ๋กœ ์›Œํฌ๋กœ๋“œ๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ๋ถ„๋ฆฌํ•ด์„œ ํŠน์ • ์ž‘์—…์„ ํ• ๋‹นํ•˜๋ฉด ๋ฆฌ์†Œ์Šค ๊ฒฝ์Ÿ๋„ ์—†์–ด์ง€๊ฒŒ ๋œ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ Virtual Warehouse๋Š” ๋‹ค๋ฅธ Virtual Warehouse์˜ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๊ฒŒ ๋œ๋‹ค.


2. Cache & Size

์ฟผ๋ฆฌ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค๋Š” ์ฟผ๋ฆฌ์˜ ํฌ๊ธฐ์™€ ๋ณต์žก์„ฑ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋‹ค. ์ฟผ๋ฆฌ๊ฐ€ ๋ณต์žกํ•ด์งˆ์ˆ˜๋ก ๋” ํฐ Virtual Warehouse๊ฐ€ ํ•„์š”ํ•˜๊ฒŒ ๋œ๋‹ค. ์‹คํ–‰ ์ค‘์ธ ๊ฐ Warehouse๋Š” ์ฟผ๋ฆฌ๊ฐ€ Warehouse์—์„œ ์ฒ˜๋ฆฌ๋  ๋•Œ ์—‘์„ธ์Šค ๋˜๋Š” ํ…Œ์ด๋ธ” ๋ฐ์ดํ„ฐ์˜ ์บ์‹œ๋ฅผ ๋ณด์œ ํ•˜๊ณ  ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋˜๋ฉด ๋™์ผํ•œ ์ฟผ๋ฆฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ํ…Œ์ด๋ธ”์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์บ์‹œ์—์„œ ์ฝ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ›„์† ์ฟผ๋ฆฌ์˜ ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋œ๋‹ค. ์ด๋Ÿฌํ•œ ์บ์‹œ์˜ ํฌ๊ธฐ๋Š” Warehouse์˜ ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค์— ์˜ํ•ด ๊ฒฐ์ •๋œ๋‹ค. (Warehouse์˜ ํฌ๊ธฐ๊ฐ€ ํด์ˆ˜๋ก Warehouse์˜ ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค๊ฐ€ ๋” ๋งŽ๋‹ค)

Snowflake Cache Layers

  • ๊ฒฐ๊ณผ ์บ์‹œ : ์ง€๋‚œ 24์‹œ๊ฐ„ ๋™์•ˆ ์‹คํ–‰ ๋œ ๋ชจ๋“  ์ฟผ๋ฆฌ์˜ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅ. ์ด๋“ค์€ Virtual Warehouse์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํ•œ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฐ˜ํ™˜๋œ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋Š” ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋™์ผํ•œ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์‹œ์Šคํ…œ์˜ ๋‹ค๋ฅธ ๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • ๋กœ์ปฌ ๋””์Šคํฌ ์บ์‹œ : SQL ์ฟผ๋ฆฌ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์บ์‹œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ. ์ง€์ •๋œ ์ฟผ๋ฆฌ์— ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ์›๊ฒฉ ๋””์Šคํฌ ์Šคํ† ๋ฆฌ์ง€์—์„œ ๊ฒ€์ƒ‰๋˜์–ด SSD ๋ฐ ๋ฉ”๋ชจ๋ฆฌ์— ์บ์‹œ๋จ
  • ์›๊ฒฉ ๋””์Šคํฌ : ์žฅ๊ธฐ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ๋ณด์œ . AWS์˜ ๊ฒฝ์šฐ 99.9%์˜ ๋‚ด๊ตฌ์„ฑ์„ ์˜๋ฏธํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ๋ณต์›๋ ฅ์„ ๋‹ด๋‹น


Warehouse Size

Virtual Warehouse๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ…Œ์ด๋ธ”๋กœ Loadํ•˜๋Š” ๊ฒƒ์„ ํฌํ•จํ•˜์—ฌ ์ฟผ๋ฆฌ์™€ ๋ชจ๋“  DML ์ž‘์—…์— ํ•„์š”ํ•˜๋‹ค. Warehouse๋Š” ์–ธ์ œ๋“ ์ง€ ์‹œ์ž‘ํ•˜๊ณ  ์ค‘์ง€ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ Warehouse์—์„œ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—… ์œ ํ˜•์— ๋”ฐ๋ผ ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค๊ฐ€ ๋” ๋งŽ์ด ํ•„์š”ํ•  ์ˆ˜๋„ ์žˆ๊ณ  ๋” ์ ๊ฒŒ ํ•„์š”ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ž‘์—…์˜ ์ •๋„๋ฅผ ์ฒดํฌํ•ด์„œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ค‘์—๋„ Warehouse์˜ ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

Warehouse๋ฅผ ์ƒ์„ฑํ•˜๋ฉด์„œ ์‚ฌ์ด์ฆˆ๋ฅผ ์•„๋ž˜์™€ ๊ฐ™์ด ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

> CREATE OR REPLACE WAREHOUSE my_wh WITH WAREHOUSE_SIZE = 'LARGE' -- Default = XSMALL
Warehouse Size Credits / Hour Credits / Second
X-Small 1 0.0003
Small 2 0.0006
Medium 4 0.0011
Large 8 0.0022
X-Large 16 0.0044
2X-Large 32 0.0089
3X-Large 64 0.0178
4X-Large 128 0.0356
5X-Large 256 0.0711
6X-Large 512 0.1422

์œ„์˜ ํ‘œ์ฒ˜๋Ÿผ Warehouse์˜ ํฌ๊ธฐ๋Š” ํ‹ฐ์…”์ธ  ์‚ฌ์ด์ง• ๋ฐฉ์‹์ด๋ฉฐ ์ดˆ ๋‹จ์œ„๋กœ ๋น„์šฉ์ด ์ฒญ๊ตฌ๋œ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ Warehouse๊ฐ€ ํด์ˆ˜๋ก ์ฟผ๋ฆฌ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค๊ฐ€ ๋” ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ์ฟผ๋ฆฌ ์„ฑ๋Šฅ์€ Warehouse ํฌ๊ธฐ์— ๋”ฐ๋ผ ํ™•์žฅ๋œ๋‹ค. (๋ฐ์ดํ„ฐ ๋กœ๋“œ ์„ฑ๋Šฅ์ด ํ•ญ์ƒ ํ–ฅ์ƒ๋˜๋Š” ๊ฒƒ์€ ์•„๋‹˜. ๋ฐ์ดํ„ฐ ๋กœ๋“œ ์„ฑ๋Šฅ์€ Warehouse ํฌ๊ธฐ๋ณด๋‹ค ๋กœ๋“œ๋˜๋Š” ํŒŒ์ผ์˜ ์ˆ˜์™€ ํฌ๊ธฐ์— ๋” ๋งŽ์€ ์˜ํ–ฅ์„ ๋ฐ›์Œ) ๋”ฐ๋ผ์„œ Warehouse์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ์ฟผ๋ฆฌ๊ฐ€ ๋Š๋ฆฌ๊ฒŒ ์‹คํ–‰๋˜๋Š” ๊ฒฝ์šฐ ์–ธ์ œ๋“ ์ง€ Warehouse์˜ ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•ด์„œ ๋” ๋งŽ์€ ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค๋ฅผ ํ”„๋กœ๋น„์ €๋‹ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ Snowflake๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ฟผ๋ฆฌ๊ฐ€ ์—†์„ ๊ฒฝ์šฐ Warehouse๋ฅผ ์ž๋™์œผ๋กœ ์ผ์‹œ ์ค‘๋‹จํ•˜๊ฑฐ๋‚˜ ์žฌ๊ฐœํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ ์›Œํฌ๋กœ๋“œ์— ๋งž๊ฒŒ Warehouse ์‚ฌ์šฉ์„ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ๊ณ  ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋Š” ์‚ฌ์šฉํ•œ ๋งŒํผ๋งŒ ๊ณผ๊ธˆ์„ ์ง€๋ถˆํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.


3. Scale Up vs Scale Out vs Scale Across

Snowflake๋Š” Warehouse๋ฅผ ํ™•์žฅํ•˜๋Š” ์„ธ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•œ๋‹ค.

Scale Up

snowflake scale up

Scale Up์€ ๊ธฐ์กด Warehouse์˜ ์ปดํ“จํŒ… ์„ฑ๋Šฅ์„ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Š” ์ฟผ๋ฆฌ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋‹ค์šดํƒ€์ž„ ์—†๋Š” Scale Up/Down์ด ๊ฐ€๋Šฅํ•˜๊ณ  ํด๋Ÿฌ์Šคํ„ฐ์— ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•œ๋‹ค. ์ด๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์•„๋ž˜์ฒ˜๋Ÿผ ๋™์ผํ•œ ์ž‘์—…์ด์ง€๋งŒ Warehouse์˜ ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•˜์—ฌ ๋” ๋น ๋ฅด๊ฒŒ ETL ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.


Scale Out

snowflake scale out

Scale Out์€ ๊ธฐ์กด Warehouse์— ๋” ๋งŽ์€ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Š” ๋™์ผํ•œ Warehouse์—์„œ ์‹คํ–‰ ์ค‘์ธ ๋™์‹œ ์ฟผ๋ฆฌ๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ ๋„์›€์ด ๋œ๋‹ค. Scale Out์œผ๋กœ ๋Œ€๊ธฐ ์ค‘์ธ ์ฟผ๋ฆฌ๊ฐ€ ์ƒˆ๋กœ ํ”„๋กœ๋น„์ €๋‹ ๋œ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋‹ค.

snowflake scale out chart

ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋Š˜์–ด๋‚จ์— ๋”ฐ๋ผ ์‹คํ–‰ํ™˜๊ฒฝ์„ ๊ณผ๋„/๊ณผ์†Œํ•˜๊ฒŒ ํ”„๋กœ๋น„์ €๋‹ํ•˜์ง€ ์•Š๊ณ  ์š”์ฒญ์— ๋งž๊ฒŒ ์ž๋™์œผ๋กœ ์กฐ์ •ํ•˜๊ณ  ์ฒ˜๋ฆฌ๋Ÿ‰๋„ ์ตœ๋Œ€๋กœ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ ์ž‘์—…์ด ๊ณผํ•˜๊ฒŒ ๋ชฐ๋ฆฌ๋Š” ํ”ผํฌ ํƒ€์ž„์—๋„ ์ผ๊ด€๋œ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.


Scale Across

snowflake scale across

Scale Across๋Š” ๋‹ค์–‘ํ•œ ์›Œํฌ๋กœ๋“œ๊ฐ€ ํ˜ผ์šฉ๋˜๋Š” ํ™˜๊ฒฝ์—์„œ ์ค‘์š” ์›Œํฌ๋กœ๋“œ์˜ ์‹คํ–‰ ํ™˜๊ฒฝ์„ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์™„๋ฒฝํ•˜๊ฒŒ ๊ฒฉ๋ฆฌํ•˜์—ฌ ์›Œํฌ๋กœ๋“œ ๊ฐ„์— ์ž์› ๊ฒฝํ•ฉ ํ˜„์ƒ์„ ํ•ด๊ฒฐํ•œ๋‹ค. ์œ„์˜ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด ๊ธฐ์กด ๋Œ€๋‹ค์ˆ˜ DBMS๋Š” ์›Œํฌ๋กœ๋“œ๊ฐ€ ๋ชฐ๋ฆฌ๋Š” ๊ฒฝํ•ฉ ์‹œ๊ฐ„๋Œ€์—์„œ ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋Š”๋ฐ Snowflake์—์„œ๋Š” ์›Œํฌ๋กœ๋“œ์˜ ๋ฌผ๋ฆฌ์  ์‹คํ–‰ ํ™˜๊ฒฝ์„ ๊ฒฉ๋ฆฌ์‹œํ‚ค๊ณ  ๋ถ„๋ฆฌ๋œ ์‹คํ–‰ ํ™˜๊ฒฝ์—์„œ ๋™์ผํ•œ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜์—ฌ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•œ๋‹ค.


Virtual Warehouse์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ์ด๊ณณ์—์„œ ๋ชจ๋‘ ๋‹ด๊ธฐ์—” ํ•œ๊ณ„๊ฐ€ ์žˆ์œผ๋‹ˆ ๋‹ค์Œ ๋งํฌ๋ฅผ ํ†ตํ•ด ์ข€ ๋” ์ž์„ธํ•˜๊ฒŒ ์‚ดํŽด๋ณด๊ธฐ ๋ฐ”๋ž€๋‹ค.

Leave a comment