Notice
Recent Posts
Recent Comments
Link
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Kafka
- KDT_TIL
- etl
- Kubernetes
- Spark ์ค์ต
- Spark Partitioning
- aws
- off heap memory
- Speculative Execution
- backfill
- ๋น ๋ฐ์ดํฐ
- Spark
- colab
- ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ
- SQL
- Dag
- Spark Caching
- mysql
- AQE
- Airflow
- redshift
- Salting
- CI/CD
- Docker
- DataFrame Hint
- spark executor memory
- topic
- k8s
- Spark SQL
- disk spill
Archives
- Today
- Total
JUST DO IT!
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ SQL ๊ทธ๋ฆฌ๊ณ AWS (TIL 230508) ๋ณธ๋ฌธ
๐ KDT WEEK 6 DAY 1 TIL
- ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- SQL
- ํด๋ผ์ฐ๋
- Redshift
๐ฅ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ง์ํ ์ ์๋๋ก ํด์ฃผ๋ ์คํ ๋ฆฌ์ง
ex) ์์ ์คํ๋ ๋์ํธ ํํ์ ํ ์ด๋ธ๋ก ๋ฐ์ดํฐ๋ฅผ ์ด๊ณผ ํ์ผ๋ก ์ ์ฅ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค(ํน์ ์คํค๋ง)๋ผ๋ ํด๋ ๋ฐ์ผ๋ก ํ ์ด๋ธ์ด ์กด์ฌํ๋ 2๋จ๊ณ๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
๋ํ์ ์ธ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
1. ํ๋ก๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค - OLTP(Online Transaction Processiong)
- MySQL, PostgreSQL, Oracle...
- ๋น ๋ฅธ ์๋์ ์ค์ ์ ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ์น์ด๋ ๋ชจ๋ฐ์ผ ์ฑ ๋ฑ์ ๋ฐ๋ก ์ฐ๋์ด ๋์ด ํด๋น ์๋น์ค์ ํ์ํ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ฑฐ๋ ์ฝ์ด์ค๋๋ฐ ์ฌ์ฉํ๋ค.
- Star schema
- ๋ฐ์ดํฐ๋ฅผ ๋ ผ๋ฆฌ์ ๋จ์๋ก ๋๋์ด ์ ์ฅํ๊ณ ํ์์ ์กฐ์ธํ๋ค.
- ์คํ ๋ฆฌ์ง์ ๋ญ๋น๊ฐ ๋ํ๊ณ ์ ๋ฐ์ดํธ๊ฐ ์ฝ๋ค.
2. ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค - OLAP(Online Analytical Processing)
- Redshift, Snowflake, BigQuery, Hive ...
- ์ฒ๋ฆฌ ๋ฐ์ดํฐ ํฌ๊ธฐ์ ์ค์ ํ์ฌ ๋ฐ์ดํฐ ๋ถ์ ํน์ ๋ชจ๋ธ ๋น๋ฉ๋ฑ์ ์ํ ๋ฐ์ดํฐ ์ ์ฅ
- ๋ณดํต ํ๋ก๋์
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ณต์ฌํด์ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค์ ์ ์ฅ
- ETL(๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ)
- ์ธ๋ถ์ ์กด์ฌํ๋ ๋ฐ์ดํฐ(ํ๋ก๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฑ)๋ฅผ ์ฝ์ด์ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค์ ์ ์ฅ
- ETL + ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค = ๋ฐ์ดํฐ ์ธํ๋ผ
- ETL(๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ)
- ๋ฐ์ดํฐ ์์ง๋์ด๊ฐ OLTP๊ฐ ์๋ OLAP์์ ์์ ํด์ผ ํธํจ
- Denoramlized Scehma
- ๋จ์ ํ ์ด๋ธ๋ก ๋๋์ด ์ ์ฅํ์ง ์์ ๋ณ๋์ ์กฐ์ธ์ด ํ์์์
- ์คํ ๋ฆฌ์ง๋ฅผ ๋ ์ฌ์ฉํ์ง๋ง ๊ณ์ฐ์ด ๋น ๋ฅด๋ค.
โป ๋ณดํต ํ์ฌ๊ฐ ์์ผ๋ฉด ํ๋ก๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ง ์กด์ฌํ๋ค.
- ํ์ํ ๋ฐ์ดํฐ๋ฅผ ํ๋ก๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ SQL ํด์ผํจ
- ์๋น์ค์ ์ฐ๊ฒฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ค๋ค์ผํ๊ธฐ ๋๋ฌธ์ ์ฟผ๋ฆฌ์ ๋ฐ๋ผ ์ ์ฒด ์๋น์ค์ ์ํฅ์ ์ค๋ค!
๐ฆ SQL
- ๋ฐ์ดํฐ ์์ฝ๊ณผ ๋ฐ์ดํฐ ๋ถ์์ ์ํ ์ธ์ด
- ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์กฐ์ํ๋๋ฐ ์ฌ์ฉํ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
- ํ ์ด๋ธ ์ ์๋ฅผ ์ํ DDL(Data Definition Language),
- ํ ์ด๋ธ ๋ฐ์ดํฐ ์กฐ์/์ง์๋ฅผ ์ํ DML(Data Manipulation Language)๊ฐ ์๋ค.
- ๋จ์
- ๋น๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ์ง๋ ๋ชปํจ (raw text)
- ์ ๊ทํํ์์ ํตํด ์ด๋์ ๋ ๋ค๋ฃฐ ์๋ ์์ผ๋ ์ ์ฝ์ด ์ฌํ๋ค.
- ์ด๋ฅผ ๋ค๋ฃจ๊ธฐ ์ํด Spark, Hadoop๊ณผ ๊ฐ์ ๋ถ์ฐ ์ปดํจํ ํ๊ฒฝ์ด ํ์
- ๋ง์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ํ๋ซํ ๊ตฌ์กฐ๋ง ์ง์ํจ(ํ๋์์ ํ๋๋ฅผ ๋ฃ์ด์ฐ๋ ๊ตฌ์กฐ ๋ฑ์ด ๋ถ๊ฐ)
- ๊ตฌ๊ธ์ ๋น ์ฟผ๋ฆฌ๋ ํ๋์ ํ๋๋ฅผ ๋ฃ๋ nested structure๋ฅผ ์ง์
- ๋น๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ์ง๋ ๋ชปํจ (raw text)
โป SQL์ ๋ฐ์ดํฐ ๊ท๋ชจ์ ์๊ด์์ด ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ค๋ฃจ๊ธฐ ๋๋ฌธ์ ๋น ๋ฐ์ดํฐ ์ธ์์์๋ ์ค์ํ๋ค.
๐ง ํด๋ผ์ฐ๋
์ปดํจํ ์์(ํ๋์จ์ด, ์ํํธ์จ์ด)์ ๋คํธ์์ ํตํด ์๋น์ค ํํ๋ก ์ฌ์ฉํ๋ ๊ฒ
- ์ด๊ธฐ ํฌ์ ๋น์ฉ์ ํฌ๊ฒ ์ค์ผ ์ ์๋ค.
- ๋ฆฌ์์ค ์ค๋น๋ฅผ ์ํ ๋๊ธฐ์๊ฐ์ ๋ํญ ์ค์ผ ์ ์๋ค.
- ๋ ธ๋ ๋ฆฌ์์ค ์ ๊ฑฐ๋ก ๋น์ฉ ๊ฐ์ํ๋ค. (์ด๋์ ๋ ํ๋ ฅ์ ์ด์์ ํ์)
- ๋ค์ํ ์คํ์์ค ์ง์์ ํตํด ์ํํธ์จ์ด ๊ฐ๋ฐ ์๊ฐ์ด ๋จ์ถ๋๋ค.
AWS
๊ฐ์ฅ ํฐ ํด๋ผ์ฐ๋ ์ปดํจํ ์๋น์ค ์ ์ฒด from ์๋ง์กด
- ์๋ง์กด์ ์ํ๋ฐ์ดํฐ๋ฅผ API๋ก ์ ๊ณตํ๋ฉด์ ์์๋ ์๋น์ค
- ๋๋ถ๋ถ์ ์๋น์ค๋ค์ด ์คํ์์ค ํ๋ก์ ํธ๋ค์ ๊ธฐ๋ฐ์ผ๋ก ํจ
- ๋ค์ํ ์ํํธ์จ์ด/ํ๋ซํผ ์๋น์ค๋ฅผ ์ ๊ณต
๋ํ์ ์ธ ์ ๊ณต ์๋น์ค
- EC2 (Elastic Compute Cloud)
- AWS์ ์๋ฒ ํธ์คํ ์๋น์ค
- ์๋์ฐ, ๋งฅ ๋ฑ ๋ค์ํ ์ด์์ฒด์ ์ง์
- S3 (Simple Storage Service)
- AWS์ ๋์ฉ๋ ํด๋ผ์ฐ๋ ์คํ ๋ฆฌ์ง ์๋น์ค
- ๋ฐ์ดํฐ ์ ์ฅ๊ด๋ฆฌ๋ฅผ ์ํด ๊ณ์ธต์ ๊ตฌ์กฐ๋ฅผ ์ ๊ณต --> ๋ฒํท(๋๋ ํ ๋ฆฌ)์ ๋ฒํท์ด๋ ํ์ผ์ ๋ฃ์ด ๊ด๋ฆฌ
๐ฉ Redshift
์ต๋ 2 PB๊น์ง ์ง์ํ๋ Scalable SQL ์์ง OLAP(์๋ต์๋๊ฐ ๋น ๋ฅด์ง ์์)
- Columnar storage : ์ปฌ๋ผ๋ณ๋ก ์์ถ์ด ๊ฐ๋ฅํ๊ณ , ์ถ๊ฐ ๋ฐ ์ญ์ ๊ฐ ์์ฃผ ๋น ๋ฆ
- ๋ฒํฌ ์
๋ฐ์ดํธ : ๋ ์ฝ๋ ํ์ผ์ S3๋ก ๋ณต์ฌ ํ COPY ์ปค๋งจ๋๋ก Redshift๋ก ์ผ๊ด ๋ณต์ฌ ๊ฐ๋ฅ
- ๋๋ถ๋ถ์ OLAP ์๋น์ค๊ฐ ์ง์, ์ปค๋งจ๋๋ ๊ฐ์ ๋ค๋ฆ
- ๊ณ ์ ์ฉ๋, ๊ณ ์ ๋น์ฉ SQL ์์ง
- Snowflake, BigQuery๋ ๊ฐ๋ณ ๋น์ฉ
- PK uniqueness๋ฅผ ๋ณด์ฅํ์ง๋ ์์ โถ ๊ฐ๋ฐ์๊ฐ ๋ณด์ฅํด์ค์ผ ํจ
- Postgresql 8.x(์ผ๋ถ)์ SQL์ ํธํ
- CREATE SCHEMA (ํด๋์ด๋ฆ) ์ปค๋งจ๋๋ฅผ ํตํด ๊ตฌ์กฐ ์์ฑ ๊ฐ๋ฅ
๐ค ๊ณต๋ถํ๋ฉด์ ์ด๋ ค์ ๋ ๋ด์ฉ
'TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
SQL ํ์ต - GROUP BY, CTAS (TIL 230510) (0) | 2023.05.10 |
---|---|
Redshift cluster ์์ฑ ๋ฐ SQL ๋ฐ์ดํฐ ํ์ง ์ฒดํฌ (TIL 230509) (0) | 2023.05.10 |
[TIL]KDT_20230504 (0) | 2023.05.04 |
[TIL]KDT_20230502 (0) | 2023.05.02 |
[TIL]KDT_20230501 (0) | 2023.05.01 |