일단 ν•˜κ³  λ³΄λŠ” μ‚¬λžŒ

λ‚˜μ€‘λ³΄λ‹¨ μ§€κΈˆμ— μ§‘μ€‘ν•˜λ˜, μ§€κΈˆλ³΄λ‹¨ λ‚˜μ€‘μ— μ™„λ²½ν•΄μ§€μžπŸ’ͺ🏻

πŸ—žοΈ IT 동ν–₯ νŒŒμ•… 및 λ‚˜μ˜ 생각 정리

ν΄λΌμš°λ“œ λ„€μ΄ν‹°λΈŒλΆ€ν„° μžλ™ν™”κΉŒμ§€: 데이터 μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ μ΄ν•΄ν•˜κΈ°

JanginTech 2024. 11. 14. 14:46

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 및 데이터 κ΄€λ ¨ μš©μ–΄λ₯Ό μ •λ¦¬ν•˜κ³ , ν•„μš”ν•  λ•Œλ§ˆλ‹€ λ‹€μ‹œ κ³΅λΆ€ν•˜λŠ” μŠ΅κ΄€μ„ 듀이렀고 ν•œλ‹€!

κ·Έλ™μ•ˆ μ΄λž˜μ €λž˜ λ„ˆλ¬΄ λ°”λΉ μ„œ 동ν–₯ νŒŒμ•…μ„ λͺ»ν–ˆμœΌλ‹ˆκΉŒ γ… γ