1. ๋ฐ์ดํฐ ์ค์ผ์คํธ๋ ์ด์ ์ ํ๋: ๋ฐ์ดํฐ ๋จํธํ์์ ํ์ ์ผ๋ก (The Modern Era of Data Orchestration: From Data Fragmentation to Collaboration)
https://dzone.com/articles/the-modern-era-of-data-orchestration
The Modern Era of Data Orchestration
This article explores the role data orchestrators play and how recent trends in the industry may bring these two disciplines closer together than ever before.
dzone.com
[์์ฝ์ ๋ฆฌ]
๋ฐ์ดํฐ ์ค์ผ์คํธ๋ ์ดํฐ์ ์ญํ ๊ณผ ๋ฐ์ดํฐ ์์ง๋์ด๋ง๊ณผ ์ํํธ์จ์ด ์์ง๋์ด๋ง์ ์์ถฉ๋ ๊ด๊ณ์ ํญ์ ์ขํ๋ ๋ฐฉ๋ฒ์ ๋ํ ๋ด์ฉ์ด๋ค.
๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ํตํฉ์ ์๋ก์ด ์ ๊ทผ ๋ฐฉ์์ ๋ํด ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๊ณ ์ต์ ํํ๋ ๋ฐฉ๋ฒ๋ก ์ด ์ค์ํ๋ค.
ํนํ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ธํ๋ผ, ์๋ํ, ํตํฉ ํ๋ซํผ์ ๋์ ์ด ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์ ํจ์จ์ฑ์ ๋์ด๋ ๋ฐ ์ค์ํ ์ญํ ์ ํ๋ค.
1. ๋ฐ์ดํฐ ์ค์ผ์คํธ๋ ์ด์ ๐ก
1.1. ๋ฐ์ดํฐ ์ค์ผ์คํธ๋ ์ด์ ์ด๋?
๋ฐ์ดํฐ๋ฅผ ์์ง, ๊ฐ๊ณต, ์ ๋ฌํ๋ ์ผ๋ จ์ ๊ณผ์ ์ ์๋ํํ์ฌ ํจ์จ์ฑ์ ๊ทน๋ํํ๋ ์์
์ต๊ทผ์๋ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ ๊ทผ, ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ์๋ํ, ํตํฉ ํ๋ซํผ์ด ๋ฐ์ดํฐ ์ค์ผ์คํธ๋ ์ด์ ์ ํต์ฌ ์์๋ก ์๋ฆฌ ์ก๊ณ ์๋ค.
๊ทธ๋ ๋ค๋ฉด, ๋ฐ์ดํฐ ์ค์ผ์คํธ๋ ์ด์ ์ด ์ ์ค์ํ ๊น?
1.2. ๋ฐ์ดํฐ ์ค์ผ์คํธ๋ ์ด์ ์ด ์ค์ํ ์ด์ ?
๋ฐ์ดํฐ ์์ง๋์ด๋ง๊ณผ ์ํํธ์จ์ด ์์ง๋์ด๋ง์ ํ์ ๊ฐํ๋ฅผ ์ํด์๋ค.
๋ค์ํ ๋ฐ์ดํฐ ์์ค์ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋๋ก ์ฐ๊ฒฐํ์ฌ ๋ฐ์ดํฐ ํ๋ฆ์ ์ํํ๊ฒ ํ๊ธฐ ์ํด ํ์ํ๋ค.
1.3. ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ํ๋ฆ
1. Data Sources :
๋ฐ์ดํฐ๋ฒ ์ด์ค, ๋ฉ์์ง ํ, REST API ๋ฑ ๋ค์ํ ๋ฐ์ดํฐ ์์ค๋ฅผ ์ค์ ์์คํ ์ผ๋ก ๋ณด๋ธ๋ค.
2. Convert to Parquet :
๋ฐ์ดํฐ๋ Parquet ํฌ๋งท์ผ๋ก ๋ณํํ๋ค. Parquet(ํ์ผ์ด)๋ ์ด ๊ธฐ๋ฐ ์ ์ฅ ํฌ๋งท์ผ๋ก ๋๊ท๋ชจ ๋ฐ์ดํฐ ๋ถ์์ ํจ์จ์ ์ด๋ค. ๋ฐ์ดํฐ ๋ถ์, ์ ์ฅ์์ ์ต์ ํํ๊ธฐ ์ํด Parquet ํฌ๋งท์ผ๋ก ๋ณํํ๋ ๊ฒ!
3. Object Storage :
๋ณํ๋ Parquet ํ์ผ๋ค์ ์ค๋ธ์ ํธ ์คํ ๋ฆฌ์ง ์ ์ ํ ํ ์ด๋ธ์ ์ ์ฅ๋๋ค.
4. Query Engine :
DuckDB, Apache Spark์ ๊ฐ์ ์ฟผ๋ฆฌ ์์ง์ ์ฌ์ฉํ๋ค.
DuckDB: ๋จ์ผ ๋ ธ๋์์ ์คํ๋๋ฉฐ ํ์์ ๋ฐ์ดํฐ ๋ถ์ (Exploratory Data Analysis)์ ๊ธฐ๋ฅ ์์ง๋์ด๋ง(Feature Engineering)์ ์ฃผ๋ก ์ฌ์ฉ๋๋ค.
Apache Spark: ๋ถ์ฐ ์ฒ๋ฆฌ์ ํจ๊ณผ์ ์ด๋ฉฐ ๋๊ท๋ชจ ๋ฐ์ดํฐ ์งํฉ์ ๋ถ์ํ๊ฑฐ๋ ๋น์ฆ๋์ค ์ธํ ๋ฆฌ์ ์ค์ ์ฌ์ฉ๋๋ค.
5. Data Services :
๋ฐ์ดํฐ ์๋น์ค ๋ ์ด์ด๋ ๋ฐ์ดํฐ ๊ด์ฐฐ ๊ฐ๋ฅ์ฑ(Observability), ํ์ง ๊ด๋ฆฌ(Quality), ์ปดํ๋ผ์ด์ธ์ค(Compliance) ๋ฑ์ ํฌํจํ์ฌ ๋ฐ์ดํฐ ์ผ๊ด์ฑ๊ณผ ์ ๋ขฐ์ฑ ์ ์ง์ ๋์์ ์ค๋ค.
6. SaaS Tools :
๋ง์ผํ , ํ๊ณ, CRM ๊ฐ์ SaaS ๋๊ตฌ์์ ํตํฉ์ ํตํ์ฌ ๋น์ฆ๋์ค ๋ฐ์ดํฐ๊ฐ ๋ค์ํ SaaS ํ๋ซํผ์ผ๋ก ์ ๋ฌ๋๋ค.
7. ์ต์ข ์ ์ผ๋ก๋ ๋ฐ์ดํฐ๋ฅผ ํ์์ ๋ถ์, ๊ธฐ๋ฅ ์์ง๋์ด๋ง, ๋น์ฆ๋์ค ์ธํ ๋ฆฌ์ ์ค ๋ฐ ๋ฐ์ดํฐ ๊ฑฐ๋ฒ๋์ค์ ํ์ฉํ ์ ์๊ฒ ๋๋ค!
2. ๋ฐ์ดํฐ ์ค์ผ์คํธ๋ ์ด์ ์ ์ฃผ์ ๊ฐ๋ ๐
2.1. ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ
ํด๋ผ์ฐ๋ ์ปดํจํ ํ๊ฒฝ์์ ํ๋์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถ, ๋ฐฐํฌ ๋ฐ ๊ด๋ฆฌํ ๋ ์ํํธ์จ์ด ์ ๊ทผ ๋ฐฉ์
- ๋ฐ์ดํฐ ์ค์ผ์คํธ๋ ์ด์ ์์ ํด๋ผ์ฐ๋ ํ๊ฒฝ์ ๊ธฐ๋ณธ์ด๋ผ๊ณ ํ ์ ์๋ค.
- ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ธํ๋ผ๋ ํ์ฅ์ฑ, ์ ์ฐ์ฑ, ๋น์ฉ ํจ์จ์ฑ์ด ๊ฐ์ ์ด๋ฉฐ, ๋ฐ์ดํฐ ์ค์๊ฐ ์ฒ๋ฆฌ์ ๋น ๋ฅธ ๋ฐฐํฌ๋ฅผ ์ ๊ณตํ๋ค.
2.2. ์๋ํ์ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ
- ๋น ๋ฐ์ดํฐ ์ฆ๊ฐ๋ก ์ธํด ์๋ํ ํ์์ฑ์ด ์ ์ ์ปค์ง๊ณ ์๋ค.
- ๋ฐ์ดํฐ ์ค์ผ์คํธ๋ ์ด์ ์ ํ์ดํ๋ผ์ธ์ ๊ฐ ๋จ๊ณ(๋ฐ๋ณต๋๋ ์์ )๋ฅผ ์๋ํํ๊ณ ์ค๋ฅ๋ฅผ ์ค์ฌ ๋ฐ์ดํฐ ํ์ง์ ์ ์งํด ์ค๋ค.
- ์ด๋ฅผ ํตํด, ์ ๋ฌธ๊ฐ๋ค์ด ๋ถ์ ์์ ์๋ง ๋ ์ง์คํ ์ ์๊ฒ ๋๋ค!
- ํ์ดํ๋ผ์ธ์ ์๋ํ๋ ๋ฐ์ดํฐ ํ๋ฆ์ ๋ ์์ ์ ์ด๊ณ ๋น ๋ฅด๊ฒ ๋ง๋ค์ด์ค๋ค.
2.3. ํตํฉ ํ๋ซํผ๊ณผ ๊ฑฐ๋ฒ๋์ค
ํตํฉ ํ๋ซํผ์ ๋ค์ํ ๋ฐ์ดํฐ ์์ค์ ์์คํ ์ ํตํฉํ์ฌ ์ผ๊ด๋ ๋ฐ์ดํฐ ๊ด๋ฆฌ๋ฅผ ๋๋๋ค.
- ๋ฐ์ดํฐ ํตํฉ์ ํ์์ฑ์ด ์ปค์ง๋ฉด์ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ ์ ๊ทผ ์ ์ด๋ฅผ ๊ฐํํ๋ ํตํฉ ํ๋ซํผ์ ์ญํ ์ด ์ค์ํด์ง๊ณ ์๋ค.
- ์ฌ๋ฌ ์์คํ ๊ฐ์ ๋ฐ์ดํฐ ์ด๋์ ์ํํ๊ฒ ํ์ฌ ๋น์ฆ๋์ค์ ํ์ํ ๋ฐ์ดํฐ ๊ฐ์์ฑ์ ํ๋ณดํ๊ณ ๊ฑฐ๋ฒ๋์ค๋ฅผ ๊ฐํํ๋ค.
- ํตํฉ ํ๋ซํผ์ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์์ ๊ฐ๊ธฐ ๋ค๋ฅธ ์์คํ ์ ์ฐ๊ฒฐํ๊ณ ์ผ๊ด๋ ์ ์ฑ ์ ์ ์ฉํ์ฌ ๋ฐ์ดํฐ ๋ณด์๊ณผ ๊ท์ ์ค์๋ฅผ ์ ์งํด ์ค๋ค.
3. ๋ฐ์ดํฐ ์ค์ผ์คํธ๋ ์ด์ Tool๐ง
๋ฐ์ดํฐ ์ค์ผ์คํธ๋ ์ด์ ์ ํจ๊ณผ์ ์ผ๋ก ์ํํ๊ธฐ ์ํ ๋ค์ํ ๋๊ตฌ๋ค์ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํ๋ค.
๋ฐ์ดํฐ ์์ง๋์ด๋ง๊ณผ ํ์ดํ๋ผ์ธ ์ต์ ํ์ ํฐ ๋์์ ์ฃผ๊ธฐ๋ ํ๋ค(์ผ๋ถ ๋๊ตฌ๋ง ํด๋น).
3.1. Apache Airflow
- ์คํ ์์ค ์ํฌํ๋ก์ฐ ๊ด๋ฆฌ ๋๊ตฌ
- DAGs(Directed Acylic Graphs)๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์ ๊ตฌ์ฑํ๊ณ ์๋ํํ๋ค
- ๊ฐ๋ ฅํ ์ค์ผ์ค๋ง, ๋ชจ๋ํฐ๋ง ๊ธฐ๋ฅ
- ์ฌ์ด ํ์ดํ๋ผ์ธ ๋จ๊ณ์ ์์กด์ฑ ๊ด๋ฆฌ
3.2. Prefect
- Python ๊ธฐ๋ฐ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ๋๊ตฌ
- ์ค์ ๊ณผ ์ฝ๋ ๊ฐ์ ๊ท ํ์ ์ ๋ง์ถ๋ฉฐ, ์ ์ฐ์ฑ์ ์ ๊ณต
- ์ค๋ฅ ์ฒ๋ฆฌ ๊ฐํ๋ฅผ ํตํ ์ํฌํ๋ก์ฐ ์์ ์ฑ ํฅ์
- Airflow๋ณด๋ค ๋น๊ต์ ์ฌ์ฉ๋ฒ์ด ์ฝ๋ค๋ ํ์ด ์๋ค
3.3. dbt(Data Build Tool)
- ๋ฐ์ดํฐ ๋ณํ์ ์ค์ ์ ๋ ๋๊ตฌ
- SQL์ ํตํด ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๋ง๋ค๊ณ ๊ด๋ฆฌํ๋ค
- ์ฝ๊ฒ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์ ๊ตฌ์ฑํ๊ณ , ETL ์์ ์ ํจ์จ์ ์ผ๋ก ์ํํ ์ ์๋ค
3.4. Dagster
- Airflow์ ์๋ก์ด ๊ฒฝ์์๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋ ๋ฐ์ดํฐ ์ค์ผ์คํธ๋ ์ด์ ๋๊ตฌ
- ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์์ ๊ฐ ๋จ๊ณ๋ฅผ ํ ์คํธํ ์ ์์ด ํ์ดํ๋ผ์ธ์ ์ ๋ขฐ์ฑ์ ๋์ฌ์ค๋ค
- ๋ฐ์ดํฐ ์์กด์ฑ๊ณผ ํ์ดํ๋ผ์ธ ์ฌ์คํ ์์๋ ์ ์ฉํ๊ฒ ํ์ฉ๋๋ ๋๊ตฌ๋ค
๐ค ์ด์ ๋ํ ๋์ ์๊ฐ
์ด๋ฒ์ ์ฒ์์ผ๋ก ‘๋ฐ์ดํฐ ์ค์ผ์คํธ๋ ์ด์ ’์ด๋ผ๋ ๊ฐ๋ ์ ์ ํ๊ฒ ๋์ด ํฅ๋ฏธ๋ก์ ๋ค.
๋ ๋ฐ์ดํฐ ์์ง๋์ด๋ง ๋ถ์ผ์์์ ํด๋ผ์ฐ๋์ ์๋ํ ๊ธฐ์ ์ด ๋ฐ์ดํฐ ์์ง๋์ด๋ง์์ ์ผ๋ง๋ ์ค์ํ์ง ๋ค์๊ธ ๋๋ ์ ์์๋ค.
์ง๋๊ฐ๋ฉฐ ๋ค์ ๋๊ตฌ(์์ดํ๋ก์ฐ ๋ฑ)์ ๋ํ ๊ธฐ๋ณธ ๊ฐ๋ ๋ ์ ๋ฆฌํด ๋ณผ ์ ์๋ ์๊ฐ์ด์๋ค.
ํนํ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ธํ๋ผ์ ๋์ ์ด ๋ฐ์ดํฐ ๊ด๋ฆฌ ๋ฐ ์ฒ๋ฆฌ์ ํจ๋ฌ๋ค์์ ๋ฐ๊พธ๊ณ ์์ด ๋ฏธ๋์๋ ๋ ๋์ ์๋ํ ์์ค์ ์๊ตฌํ๋ ๋ฐ์ดํฐ ์์คํ ์ด ๊ตฌ์ถ๋ ๊ฒ์ด๋ผ๋ ์๊ฐ๋ ๋ ๋ค!ใ ใ
๋ํ, ์ด๋ฒ ํฌ์คํ ์ ํตํด ์์ฃผ ์ฌ์ฉํ๋ IT ๋ฐ ๋ฐ์ดํฐ ๊ด๋ จ ์ฉ์ด๋ฅผ ์ ๋ฆฌํ๊ณ , ํ์ํ ๋๋ง๋ค ๋ค์ ๊ณต๋ถํ๋ ์ต๊ด์ ๋ค์ด๋ ค๊ณ ํ๋ค!
๊ทธ๋์ ์ด๋์ ๋ ๋๋ฌด ๋ฐ๋น ์ ๋ํฅ ํ์ ์ ๋ชปํ์ผ๋๊น ใ ใ