[Snowflake Partner Technical Bootcamp] 6. Data Sharing
์ด๊ธฐ์ข DBMS ๊ฐ์ ๋ฐ์ดํฐ ๋๊ธฐํ ์ด์
๊ธฐ์กด ์ด๊ธฐ์ข DBMS ๊ฐ์ TDS ํ๋กํ ์ฝ์ ์ฌ์ฉํด์ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๋ ๋ฐฉ์์ ์ฌ๋ฌ๊ฐ์ง ๋ฌธ์ ์ ์ ๋ฐ์ ์์ผฐ๋ค. ์ด๋ DBMS ๋ง๋ค ๋ฐ์ดํฐ ์ ์ฅ ๋ฐฉ์๊ณผ ๋ฐ์ดํฐ ํ์, ์คํค๋ง, ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฐฉ์, ์์ง ๋ฑ์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ ์ด์์ด๋ค. *TDS (Tabular Data Stream) ํ๋กํ ์ฝ์ด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ์ ํด๋ผ์ด์ธํธ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต ํ๋กํ ์ฝ์ด๋ค.
์๋ก ๋ค๋ฅธ ๋ฐ์ดํฐ ์ ์ฅ์๋ผ๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๊ธฐ ์ํด์ ๋ฐ์ํ๋ ๋ํ์ ์ธ ๋๊ธฐํ ์ด์ ๋ค์ฏ ๊ฐ์ง๋ ์๋์ ๊ฐ๋ค.
- ์ด๊ธฐ์ข ํ๊ฒฝ ๊ฐ์ ๋ฐ์ดํฐ ๋ณต์ฌ ๋ฐ ์ด๋ ํ์
- ๋ฐ์ดํฐ ๋๊ธฐํ ์ง์ฐ ๋ฐ์ : ์ ๋ฌด ์ํฅ๋ ๋ฐ์
- ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ์์ฑ ๋ฐ ๊ด๋ฆฌ : ๋น์ฉ ์ด์
- ์ฌ๋ฌ ๋ฐ์ดํฐ ํ๋ซํผ๊ณผ์ ๋๊ธฐํ ์๊ฑด : ๋ณต์ก๋ ์ฆ๊ฐ
- ๋น๋ฒํ ์ฅ์ ๋ฐ ์๋ฌ ๋ฐ์ : ์ฌ์ฉ์ ๋ง์กฑ๋
Snowflake๋ ์ด๋ฌํ TDS ์ ์ฝ์ฌํญ์ ๊ทน๋ณตํ๊ธฐ ์ํด์ ๊ธฐ์กด DBMS์ ํด๋ผ์ฐ๋ ๊ธฐ์ ์ ๊ฒฐํฉํ์ฌ ์๋ก์ด ํด๋ผ์ฐ๋ ๋ฐ์ดํฐ ํ๋ซํผ์ ๊ฐ๋ฐํ์๋ค. Snowflake๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ์ ์ ๊ทผํ ์ ์๋ ๊ถํ์ด ์๋ค๋ ์ ์ ํ์ ์๋ก ๋ค๋ฅธ ์ฌ์ฉ์์ ๋ผ์ด๋ธ ๋ฐ์ดํฐ ๊ณต์ ๊ฐ ๊ฐ๋ฅํ๋ค. ๋ํ ๊ณผ๊ฑฐ ํ ์ด๋ธ ๊ฐ์ ๋งํผ n๊ฐ์ ํ์ดํ๋ผ์ธ ์์ฑ์ด ํ์ํ๊ณ ์ด์ ๋ฐ๋ฅธ ์ ์ง ๊ด๋ฆฌ ๋น์ฉ์ด ๋ฐ์ํ๋ ๊ฒ๊ณผ๋ ๋ฌ๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ๋๊ธฐํ ํ๊ธฐ ์ํ ํ์ดํ๋ผ์ธ ์์ฑ์ด ๋ถํ์ํด์ก๋ค. ์ด๋ ๋ฐ์ดํฐ์ ๋ฉํ ์ ๋ณด๋ง ๊ณต์ ํ๊ธฐ ๋๋ฌธ์ ๋น์ฉ ๋ฐ์ ์์ด ๋ฐ์ดํฐ ๊ณต์ ๊ฐ ๊ฐ๋ฅํ๋ค.
์ด์ฒ๋ผ ์์ฝ๊ฒ ๋ฐ์ดํฐ ๊ณต์ ๊ฐ ๊ฐ๋ฅํ Snowflake ์์์๋ ๋๊ตฌ๋ ๋ฐ์ดํฐ ๊ณต๊ธ์ ๋ฐ ์๋น์๊ฐ ๋ ์ ์๋ค. ๋ฐ์ดํฐ ๊ณต๊ธ์๋ก์ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๋ฉด ๋ฐ์ดํฐ์ ์ก์ธ์คํ ์ ์๋ ์ฌ์ฉ์๋ฅผ ๊ด๋ฆฌํ๊ณ ์ฌ๋ฌ ์ฌ์ฉ์ ๋ฐ ๊ทธ๋ฃน ๊ฐ์ ๋ฐ์ดํฐ ๋๊ธฐํ๋ฅผ ์ ์งํ๋ ๋ฐ ๋ฐ์ํ๋ ๋ฌธ์ ๋ฅผ ํผํ ์ ์๊ฒ ๋๋ค. ๋ฐ์ดํฐ ์๋น์๋ ๋ฐ์ดํฐ๊ฐ Snowflake์ ์ ์ง๋๋ฏ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์์ ์ถ๊ฐ์ ์ผ๋ก ๋ฐ์ดํฐ ๋ณํ ์์ ์ ์ํํด์ผ ํ๋ ๊ณผ๊ฑฐ์๋ ๋ฌ๋ฆฌ ์์ ์ ๋ฐ์ดํฐ์ ๊ณต์ ๋ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ฝ๊ฒ ์กฐ์ธํ์ฌ ํ์ฉํ ์ ์๊ฒ ๋์๋ค.
์์ ํ ๋ฐ์ดํฐ ๊ณต์
Snowflake ๋ด์์๋ ๋ค์๊ณผ ๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด๋ฅผ ๊ณต์ ํ ์ ์๋ค.
- Tables
- External Tables
- Secure Views
- Secure Materialized Views
- Secure UDFs
Snowflake๋ ๋ฐ์ดํฐ ๊ณต๊ธ์๊ฐ ์์ฑํ๊ณ ๋ฐ์ดํฐ ์๋น์๊ฐ Import ํ๋ ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ณต์ ๊ฐ ๊ฐ๋ฅํ๊ฒ ๋๋ค. ํ์ง๋ง ๊ณ์ ๊ฐ์ ๊ณต์ ๋๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด๋ ์ฝ๊ธฐ ์ ์ฉ(Read Only)์ด๋ค. ๋ฐ๋ผ์ ํ ์ด๋ธ์ ๋ฐ์ดํฐ ์ถ๊ฐ, ์์ ๋ฐ ์ญ์ ์์ ๋ฑ์ ๋ถ๊ฐ๋ฅํ๋ค.
์์ ํ ๋ฐ์ดํฐ ๊ณต์ ๋ ์ค์ ๋ฐ์ดํฐ๊ฐ ๊ณ์ ๊ฐ์ ๋ณต์ฌ ๋๊ฑฐ๋ ์ ์ก๋์ง ์๋๋ค. ๋ชจ๋ ๊ณต์ ๋ Snowflake์ Service Layer์ ๋ฉํ๋ฐ์ดํฐ ์ ์ฅ์๋ฅผ ์ฌ์ฉํ๋ค. ๊ณต์ ๋ฐ์ดํฐ๋ ์๋น์ ๊ณ์ ์ ์คํ ๋ฆฌ์ง๋ฅผ ์ฐจ์งํ์ง ์์ผ๋ฏ๋ก ์๋น์์ ์๋ณ ์คํ ๋ฆฌ์ง ์๊ธ์ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ค. ์๋น์์๊ฒ ๋ถ๊ณผ๋๋ ์ ์ผํ ๋น์ฉ์ ๊ณต์ ๋ฐ์ดํฐ๋ฅผ ์ฟผ๋ฆฌํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ปดํจํ ๋ฆฌ์์ค(Virtual Warehouse)์ ๋ํ ๊ฒ ๋ฟ์ด๋ค.
๋ฐ์ดํฐ๊ฐ ๋ณต์ฌ ๋๊ฑฐ๋ ๊ตํ ๋์ง ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ ๊ณต๊ธ์๋ ๋ณด์ ๋ฐ์ดํฐ ๊ณต์ ์ค์ ์ ๋น ๋ฅด๊ณ ์ฝ๊ฒ ํ ์ ์์ผ๋ฉฐ ๋ฐ์ดํฐ ์๋น์๋ ๊ฑฐ์ ์ฆ๊ฐ์ ์ผ๋ก ๊ณต์ ๋ฐ์ดํฐ์ ์ก์ธ์ค ํ ์ ์๋ค. ๊ทธ๋ผ ๊ฐ์ ์ด๋ ํ ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๋์ง ์์๋ณด์.
๋ฐ์ดํฐ ๊ณต๊ธ์
๋ฐ์ดํฐ ๊ณต๊ธ์๋ ์์ ์ ๊ณ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ณต์ ๋ฅผ ๋ง๋ค๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํน์ ๊ฐ์ฒด(Tables, External Tables..)์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๋ค. ๊ณต๊ธ์๋ ์ด๋ฌํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋์ผํ ๊ณ์ ์ ์ํด ์๋ ํ, ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ ์๋ ์๋ค.
๋ฐ์ดํฐ ์๋น์
๋ฐ์ดํฐ ์๋น์๋ ์ฝ๊ธฐ ์ ์ฉ(Read Only) ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์ฑ๋๋ค. ํด๋น ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ์ก์ธ์ค๋ ๊ณต๊ธ์๊ฐ ์ค์ ํ ์ก์ธ์ค ๊ถํ์ ๋ฐ๋ผ ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค.
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