[Snowflake Partner Technical Bootcamp] 1. Overview
Snowflake ๊ฐ์
Snowflake๋?
Snowflake๋ ๋ฐ์ดํฐ ์ ์ฅ, ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ถํฐ ์๊ฐํ, ๋จธ์ ๋ฌ๋๊น์ง ํ ๋ฒ์ ํ ์ ์๋ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ํตํฉ ๋ฐ์ดํฐ ํ๋ซํผ์ด๋ค.
Traditional Data Architecture
๊ธฐ์กด์ ๋ฐ์ดํฐ ์ํคํ ์ณ๋ ์๋์ ๊ฐ๋ค.
์ฌ๋ฌ ๋ฐ์ดํฐ ์์ค๋ค๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ ๋ฐ์ดํฐ ์์ง/์ ์ฌ, ์ ์ฒ๋ฆฌ, ์ ๊ทํ ๋ฐ ์ง๊ณ, ๋ถ์, ์๊ฐํ ๋ฑ์ ๋จ๊ณ์ ๋ฐ๋ผ ๊ฐ S/W ์์คํ ์ ๊ฐ๊ฐ ๊ตฌ์ถํ๊ณ ๊ด๋ฆฌํด์ผ ํ๋ค. ๋ํ ๊ฐ ์์คํ ๋ง๋ค ๋ฐ์ดํฐ ์ต์ ํ์ ๋ํ ์ฌ๋ฌ ๊ด๋ฆฌ ๋น์ฉ๋ค๋ ๋ฐ์ํ ๊ฒ์ด๋ค.
์ด๋ฌํ ๋ถ๋ฆฌ๋ ์ํคํ ์ณ์ ๋ํด ๊ฐ ์์คํ ๊ณผ ๋ฐ์ดํฐ์ ๊ตฌ์ถ ๋ฐ ๊ด๋ฆฌ, ํ์ฅ์ ๋ํ ๋น์ฉ ์ด์๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด Snowflake๊ฐ ๋ฑ์ฅํ๋ค.
Modern Data Architecture with Snowflake
๋ค์์ Snowflake Cloud Data Platform์ ์ํคํ ์ณ์ด๋ค.
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 ์ํคํ ์ณ๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์์ชฝ๋ถํฐ ์ค์ ์ง์ค์์ผ๋ก ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ 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
- Auto Clustering
์ด๋ฌํ ํน์ง, ์ฅ์ ๋ค๋ก ์ธํด Snowflake๋ ๋ค๋ฅธ ํด๋ผ์ฐ๋ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค์ ๊ตฌ๋ณ๋๋ ๋ฉด์ด ์์ผ๋ฉฐ, ๋๊ท๋ชจ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ๋ค์ํ ๋ฐ์ดํฐ ํ์ ์ ๋ค๋ฃจ๋ ํ๊ฒฝ์์ ์ ํธ๋๋ ์ ํ์ง ์ค ํ๋์ด๋ค.
๋ฌผ๋ก Google BigQuery, AWS Athena, AWS S3, Delta Lake ๋ฑ์ ๋ค๋ฅธ ์๋ฒ๋ฆฌ์ค ์ฟผ๋ฆฌ ์๋น์ค ๋ฐ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค ์๋น์ค๋ค๋ ๊ณ ์ฑ๋ฅ, ๊ณ ๊ฐ์ฉ์ฑ, ๋ณด์์ฑ, ๋น์ฉ ํจ์จ์ฑ ๋ฑ ๋ค์ํ ์ฅ์ ๋ค์ ์ ๊ณตํ๋ค. ๊ทธ๋ฌ๋ Snowflake๋ ์ด๋ฌํ ์ฅ์ ๋ค์ ๋ณด๋ค ๊ฐํํ ์ํคํ ์ณ์ ๊ธฐ๋ฅ๋ค์ ์ ๊ณตํ์ฌ ๊ตฌ๋ณ๋๋ ํน์ง๋ค์ ๊ฐ์ง๊ณ ์๋ค. ๋ํ, Snowflake๋ ๋ฐ์ดํฐ ๊ณต์ ์ ๊ด๋ฆฌ, ์ ์ง๋ณด์ ๋ฑ์ ๊ธฐ๋ฅ๋ค์ ํตํด ์ฌ์ฉ์๋ค์ ์๊ตฌ์ ๋์ฑ ๋ง์ถ ์๋น์ค๋ฅผ ์ ๊ณตํ ์ ์๋ค.
๊ฒฐ๊ตญ, ์ ํํ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค๋ ์ฌ์ฉ์์ ์๊ตฌ์ฌํญ๊ณผ ์ด์ํ๊ฒฝ์ ๋ฐ๋ผ ๋ค๋ฅผ ๊ฒ์ด๋ค. ์ด์ ๋ฐ๋ผ ๋ค์ํ ํด๋ผ์ฐ๋ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค๋ฅผ ๋น๊ตํด๋ณด๊ณ , ํด๋น ์๋น์ค์ ์ฅ๋จ์ ์ ํ์ ํ ํ ์ต์ ์ ์ ํ์ ํ ํ์๊ฐ ์๋ค.
Leave a comment