[Snowflake Partner Technical Bootcamp] 6. Data Sharing

์ด๊ธฐ์ข… DBMS ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™” ์ด์Šˆ

๊ธฐ์กด ์ด๊ธฐ์ข… DBMS ๊ฐ„์— TDS ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜๋Š” ๋ฐฉ์‹์€ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฌธ์ œ์ ์„ ๋ฐœ์ƒ ์‹œ์ผฐ๋‹ค. ์ด๋Š” DBMS ๋งˆ๋‹ค ๋ฐ์ดํ„ฐ ์ €์žฅ ๋ฐฉ์‹๊ณผ ๋ฐ์ดํ„ฐ ํ˜•์‹, ์Šคํ‚ค๋งˆ, ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋ฐฉ์‹, ์—”์ง„ ๋“ฑ์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•œ ์ด์Šˆ์ด๋‹ค. *TDS (Tabular Data Stream) ํ”„๋กœํ† ์ฝœ์ด๋ž€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

img

์„œ๋กœ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ๋ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ฐœ์ƒํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ๋™๊ธฐํ™” ์ด์Šˆ ๋‹ค์„ฏ ๊ฐ€์ง€๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  • ์ด๊ธฐ์ข… ํ™˜๊ฒฝ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ๋ณต์‚ฌ ๋ฐ ์ด๋™ ํ•„์š”
  • ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™” ์ง€์—ฐ ๋ฐœ์ƒ : ์—…๋ฌด ์˜ํ–ฅ๋„ ๋ฐœ์ƒ
  • ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ ์ƒ์„ฑ ๋ฐ ๊ด€๋ฆฌ : ๋น„์šฉ ์ด์Šˆ
  • ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ ํ”Œ๋žซํผ๊ณผ์˜ ๋™๊ธฐํ™” ์š”๊ฑด : ๋ณต์žก๋„ ์ฆ๊ฐ€
  • ๋นˆ๋ฒˆํ•œ ์žฅ์•  ๋ฐ ์—๋Ÿฌ ๋ฐœ์ƒ : ์‚ฌ์šฉ์ž ๋งŒ์กฑ๋„

Snowflake๋Š” ์ด๋Ÿฌํ•œ TDS ์ œ์•ฝ์‚ฌํ•ญ์„ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด์„œ ๊ธฐ์กด DBMS์™€ ํด๋ผ์šฐ๋“œ ๊ธฐ์ˆ ์„ ๊ฒฐํ•ฉํ•˜์—ฌ ์ƒˆ๋กœ์šด ํด๋ผ์šฐ๋“œ ๋ฐ์ดํ„ฐ ํ”Œ๋žซํผ์„ ๊ฐœ๋ฐœํ•˜์˜€๋‹ค. Snowflake๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์ด ์žˆ๋‹ค๋Š” ์ „์ œ ํ•˜์— ์„œ๋กœ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์˜ ๋ผ์ด๋ธŒ ๋ฐ์ดํ„ฐ ๊ณต์œ ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ๋˜ํ•œ ๊ณผ๊ฑฐ ํ…Œ์ด๋ธ” ๊ฐœ์ˆ˜ ๋งŒํผ n๊ฐœ์˜ ํŒŒ์ดํ”„๋ผ์ธ ์ƒ์„ฑ์ด ํ•„์š”ํ•˜๊ณ  ์ด์— ๋”ฐ๋ฅธ ์œ ์ง€ ๊ด€๋ฆฌ ๋น„์šฉ์ด ๋ฐœ์ƒํ–ˆ๋˜ ๊ฒƒ๊ณผ๋Š” ๋‹ฌ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋™๊ธฐํ™” ํ•˜๊ธฐ ์œ„ํ•œ ํŒŒ์ดํ”„๋ผ์ธ ์ƒ์„ฑ์ด ๋ถˆํ•„์š”ํ•ด์กŒ๋‹ค. ์ด๋Š” ๋ฐ์ดํ„ฐ์˜ ๋ฉ”ํƒ€ ์ •๋ณด๋งŒ ๊ณต์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋น„์šฉ ๋ฐœ์ƒ ์—†์ด ๋ฐ์ดํ„ฐ ๊ณต์œ ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

img

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


์•ˆ์ „ํ•œ ๋ฐ์ดํ„ฐ ๊ณต์œ 

Snowflake ๋‚ด์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐœ์ฒด๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • Tables
  • External Tables
  • Secure Views
  • Secure Materialized Views
  • Secure UDFs

Snowflake๋Š” ๋ฐ์ดํ„ฐ ๊ณต๊ธ‰์ž๊ฐ€ ์ƒ์„ฑํ•˜๊ณ  ๋ฐ์ดํ„ฐ ์†Œ๋น„์ž๊ฐ€ Import ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ณต์œ ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋œ๋‹ค. ํ•˜์ง€๋งŒ ๊ณ„์ • ๊ฐ„์— ๊ณต์œ ๋˜๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐœ์ฒด๋Š” ์ฝ๊ธฐ ์ „์šฉ(Read Only)์ด๋‹ค. ๋”ฐ๋ผ์„œ ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€, ์ˆ˜์ • ๋ฐ ์‚ญ์ œ ์ž‘์—… ๋“ฑ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

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

๋ฐ์ดํ„ฐ๊ฐ€ ๋ณต์‚ฌ ๋˜๊ฑฐ๋‚˜ ๊ตํ™˜ ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ ๊ณต๊ธ‰์ž๋Š” ๋ณด์•ˆ ๋ฐ์ดํ„ฐ ๊ณต์œ  ์„ค์ •์„ ๋น ๋ฅด๊ณ  ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋ฐ์ดํ„ฐ ์†Œ๋น„์ž๋Š” ๊ฑฐ์˜ ์ฆ‰๊ฐ์ ์œผ๋กœ ๊ณต์œ  ๋ฐ์ดํ„ฐ์— ์•ก์„ธ์Šค ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿผ ๊ฐ์ž ์–ด๋– ํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜๋Š”์ง€ ์•Œ์•„๋ณด์ž.

img

๋ฐ์ดํ„ฐ ๊ณต๊ธ‰์ž

๋ฐ์ดํ„ฐ ๊ณต๊ธ‰์ž๋Š” ์ž์‹ ์˜ ๊ณ„์ •์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ณต์œ ๋ฅผ ๋งŒ๋“ค๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํŠน์ • ๊ฐœ์ฒด(Tables, External Tables..)์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•œ๋‹ค. ๊ณต๊ธ‰์ž๋Š” ์ด๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ๋™์ผํ•œ ๊ณ„์ •์— ์†ํ•ด ์žˆ๋Š” ํ•œ, ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.


๋ฐ์ดํ„ฐ ์†Œ๋น„์ž

๋ฐ์ดํ„ฐ ์†Œ๋น„์ž๋Š” ์ฝ๊ธฐ ์ „์šฉ(Read Only) ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค. ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋Œ€ํ•œ ์•ก์„ธ์Šค๋Š” ๊ณต๊ธ‰์ž๊ฐ€ ์„ค์ •ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ์— ๋”ฐ๋ผ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

img


Reader Account

๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ ๊ณต์œ ๋Š” Snowflake ๊ณ„์ • ๊ฐ„์—๋งŒ ์ง€์›๋œ๋‹ค. ํ•˜์ง€๋งŒ Snowflake๋Š” ์•„์ง Snowflake ๊ณ„์ •์ด ์—†๊ฑฐ๋‚˜ ๋ผ์ด์„ผ์Šค๊ฐ€ ๋ถ€์—ฌ๋˜์ง€ ์•Š์€ ๊ณ ๊ฐ์—๊ฒŒ๋„ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. ์ด๋ฅผ Reader Account(๋…์ž ๊ณ„์ •)์ด๋ผ๊ณ  ํ•œ๋‹ค. Reader Account๋ฅผ ํ†ตํ•ด ์†Œ๋น„์ž๊ฐ€ Snowflake ๊ณ ๊ฐ์ด ๋  ํ•„์š” ์—†์ด ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅด๊ณ  ์‰ฝ๊ฒŒ ์•ก์„ธ์Šค ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ฐ Reader Account๋Š” ์ด๋ฅผ ์ƒ์„ฑํ•œ ๊ณต๊ธ‰์ž ๊ณ„์ •์— ์†ํ•˜๊ฒŒ ๋˜๊ณ  ๊ณต๊ธ‰์ž๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ๋‹จ, Reader Account๋Š” ์ž์‹ ์„ ์ƒ์„ฑํ•œ ๊ณต๊ธ‰์ž ๊ณ„์ •์˜ ๋ฐ์ดํ„ฐ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰ Reader Account์™€ ๊ณต์œ ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฟผ๋ฆฌ ํ•  ์ˆœ ์žˆ์ง€๋งŒ ๋ฐ์ดํ„ฐ Load, Insert, Update์™€ ๊ฐ™์€ ์ „์ฒด ๊ณ„์ •์—์„œ ํ—ˆ์šฉ๋˜๋Š” DML ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆœ ์—†๋‹ค.


Snowflake Data Marketplace

Snowflake Marketplace๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๊ฐœ ๋˜๋Š” ๋น„๊ณต๊ฐœ์ ์œผ๋กœ ์ œ๊ณต๋˜๋Š” ํƒ€ ์‚ฌ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๊ฒ€์ƒ‰ ๋ฐ ์•ก์„ธ์Šค ํ•  ์ˆ˜ ์žˆ๋‹ค.

Leave a comment