ETL

Extract Transform Load

ETL and ELT
  • ETL은 데이터λ₯Ό μΆ”μΆœ(extract), λ³€ν™˜(transform), 그리고 적재(Load)ν•˜λŠ” 과정을 μ˜λ―Έν•¨

  • μ—¬λŸ¬ 데이터 μ†ŒμŠ€λ‘œ λΆ€ν„° 데이터λ₯Ό ν†΅ν•©ν•˜λŠ” ν”„λ‘œμ„ΈμŠ€μ— 해당함

  • 데이터 μ›¨μ–΄ν•˜μš°μŠ€ ν˜Ήμ€ μœ μ‚¬ν•œ μ‹œμŠ€ν…œμ— μ μž¬ν•˜λŠ” κ³Όμ •μœΌλ‘œ λ³Ό 수 있(λŒ€ν˜• 쀑앙 집쀑식 리포지토리에 κ²°ν•©ν•˜λŠ” κ³Όμ •)

  • μΆ”μΆœ, λ³€ν™˜, 적재(ETL)λŠ” 데이터λ₯Ό νŠΉμ • μ†ŒμŠ€μ—μ„œ νƒ€κ²Ÿ μ‹œμŠ€ν…œμœΌλ‘œ μ •κΈ°μ μœΌλ‘œ μ΄λ™ν•˜λŠ” 방식을 κ·œμ •ν•œ

데이터 μΆ”μΆœ(Extract)

  • μŠ€ν…Œμ΄μ§• μ˜μ—­ ν˜Ήμ€ λžœλ”© 쑴이라고 λΆ€λ₯΄λŠ” 곳에 데이터 μΆ”μΆœλœ 데이터λ₯Ό μΌμ‹œμ μœΌλ‘œ μ €μž₯함

  • 데이터 μŠ€ν…Œμ΄μ§• μ˜μ—­μ€ μΌμ‹œμ μΈ κ²½μš°κ°€ 많음

  • 데이터 μΆ”μΆœμ΄ μ™„λ£Œλ˜λ©΄ μ½˜ν…μΈ λŠ” 제거됨(단, 문제 해결을 μœ„ν—€ 데이터가 보쑴될 수 있음)

데이터 λ³€ν™˜(Transform)

  • 데이터 정리 -> 였λ₯˜λ₯Ό μ œκ±°ν•˜κ³  λ°μ΄ν„°μ˜ 포맷을 μ•Œλ§žκ²Œ λ§€ν•‘

  • 데이터 쀑볡 제거

  • 데이터 ν˜•μ‹ μˆ˜μ • -> λ‚ μ§œ, μ‹œκ°„, λ‹¨μœ„ 값을 μΌκ΄€λœ ν˜•μ‹μœΌλ‘œ λ³€ν™˜

  • κ·Έ μ™Έ κ³ κΈ‰ 데이터 λ³€ν™˜ -> μƒˆλ‘œμš΄ 값을 계산, μ„œλ‘œ λ‹€λ₯Έ 데이터 μ†ŒμŠ€μ˜ λ™μΌν•œ 데이터λ₯Ό μ—°κ²°, μ—΄ 데이터λ₯Ό λ‹€λ₯Έ μ—¬λŸ¬ μ—΄λ‘œ λ‚˜λˆ„λŠ” μž‘μ—…, λ§Žμ€ 데이터 값을 더 μž‘μ€ 데이터 μ„ΈνŠΈλ‘œ μ€„μ΄λŠ” μš”μ•½, 데이터 μ•”ν˜Έν™”

데이터 λ‘œλ”©(Loading)

  • λ³€ν™˜λœ 데이터λ₯Ό 데이터 μŠ€ν…Œμ΄μ§• μ˜μ—­μ—μ„œ νƒ€κ²Ÿ 데이터 μ›¨μ–΄ν•˜μš°μŠ€λ‘œ μ΄λ™ν•˜λŠ” 단계

  • λ‘œλ“œ μž‘μ—…μ€ 졜초 데이터 적재 μ‹œ 전체 λ‘œλ“œν•˜κ±°λ‚˜ κ·Έ μ΄μ™Έμ—λŠ” λ³€κ²½λœ 증뢄 κ°’ μ •λ„λ§Œ λ‘œλ“œν•˜λŠ” μ‹μœΌλ‘œ 이루어진닀

  • 데이터가 μ΄ˆλ‹Ή 수백만 개의 이벀트둜 κ΅¬μ„±λœλ‹€λ©΄ 슀트림 처리λ₯Ό μœ„ν•œ μž‘μ—…μ΄ 이루어져야 함

ELT

  • μΆ”μΆœ, 적재, μ „ν™˜(ELT)은 μ „ν™˜κ³Ό 적재 μž‘μ—…μ˜ μˆœμ„œλ₯Ό λ°”κΎΌ κ²ƒμœΌλ‘œ ETL의 ν™•μž₯ κΈ°λŠ₯으둜 닀루어짐

  • μ‰½κ²Œ λ§ν•΄μ„œ νƒ€κ²Ÿ λ°μ΄ν„°λ² μ΄μŠ€, 데이터 μ›¨μ–΄ν•˜μš°μŠ€κ°€ μ „ν™˜(transform)μž‘μ—…μ„ μ§€μ›ν•˜λŠ”, κ·ΈλŸ¬ν•œ 처리 λŠ₯λ ₯을 μ œκ³΅ν•˜λŠ” 경우λ₯Ό μ˜λ―Έν•¨

  • ν΄λΌμš°λ“œ 인프라 λ„μž…μ΄ μ¦κ°€ν•˜λ©° ν•¨κ»˜ μƒκ²¨λ‚œ 개

  • ELTλŠ” μ›μ‹œ 데이터λ₯Ό μ΅œλŒ€ν•œ 남겨두고 μ›ν•˜λŠ” μ‹œμ μ— λ³€ν™˜ν•˜λŠ” μž‘μ—…μ„ μˆ˜λ¦½ν•˜λ„λ‘ ν•˜λ―€λ‘œ λŒ€λŸ‰μ˜ λΉ„μ •ν˜• 데이터에 μ ν•©ν•˜λ‹€κ³  ν•©λ‹ˆλ‹€

  • ETL은 μ²˜μŒλΆ€ν„° 뢄석이 μ‹€ν–‰λ˜μ–΄ 적재되기 λ•Œλ¬Έμ— λ§Žμ€ 사전 μž‘μ—…μ΄ μš”κ΅¬λ©λ‹ˆλ‹€

  • μ΅œκ·Όμ—λŠ” ELT 방식이 μ’€ 더 ν‘œμ€€ν™”λœ κ²ƒμœΌλ‘œ ν™•μΈλ©λ‹ˆλ‹€

ETL vs. ELT

  • ETLκ³Ό ELT의 κ°€μž₯ λͺ…ν™•ν•œ μ°¨μ΄λŠ” μž‘μ—… μˆœμ„œμ— μžˆμŠ΅λ‹ˆλ‹€

  • ELTλŠ” 원본 μœ„μΉ˜μ—μ„œ 데이터λ₯Ό λ³΅μ‚¬ν•˜κ±°λ‚˜ μΆ”μΆœν•˜μ§€λ§Œ, λ³€ν™˜μ„ μœ„ν•΄ μŠ€ν…Œμ΄μ§• μ˜μ—­μ— λ‘œλ“œν•˜λŠ” λŒ€μ‹  μ›μ‹œ 데이터λ₯Ό 직접 λͺ©ν‘œ 데이터 μ €μž₯μ†Œμ— λ‘œλ“œν•˜μ—¬ ν•„μš”μ— 따라 λ³€ν™˜ν•©λ‹ˆλ‹€

  • 두 κ³Όμ • λͺ¨λ‘ λ°μ΄ν„°λ² μ΄μŠ€, 데이터 μ›¨μ–΄ν•˜μš°μŠ€, 데이터 λ ˆμ΄ν¬μ™€ 같은 λ‹€μ–‘ν•œ 데이터 μ €μž₯μ†Œλ₯Ό ν™œμš©ν•˜μ§€λ§Œ, 각 과정은 μž₯단점이 μžˆμŠ΅λ‹ˆλ‹€

  • ELTλŠ” μΆœμ²˜μ—μ„œ 직접 λ‘œλ“œν•  수 있기 λ•Œλ¬Έμ— λŒ€μš©λŸ‰, λΉ„κ΅¬μ‘°ν™”λœ 데이터셋에 특히 μœ μš©ν•©λ‹ˆλ‹€

  • ELTλŠ” 데이터 μΆ”μΆœκ³Ό μ €μž₯에 λŒ€ν•œ 초기 κ³„νšμ΄ λ³„λ‘œ ν•„μš”ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— λΉ… 데이터 관리에 더 이상적 μž…λ‹ˆλ‹€

  • ETL 과정은 μ‹œμž‘ μ‹œμ μ—μ„œ 더 λ§Žμ€ μ •μ˜κ°€ ν•„μš”ν•©λ‹ˆλ‹€

  • μΆ”μΆœν•  νŠΉμ • 데이터 ν¬μΈνŠΈμ™€ μ„œλ‘œ λ‹€λ₯Έ 좜처의 μ‹œμŠ€ν…œμ„ ν†΅ν•©ν•˜λŠ”λ° ν•„μš”ν•œ 잠재적 "ν‚€"λ₯Ό 식별해야 ν•˜κ³ , κ·Έ μž‘μ—…μ΄ μ™„λ£Œλœ 후에도 데이터 λ³€ν™˜μ„ μœ„ν•œ λΉ„μ¦ˆλ‹ˆμŠ€ κ·œμΉ™μ„ ꡬ성해야 ν•©λ‹ˆλ‹€

  • ν΄λΌμš°λ“œ λ°μ΄ν„°λ² μ΄μŠ€μ˜ 채택이 증가함에 따라 ELTκ°€ 점점 더 인기λ₯Ό μ–»κ³  μžˆμ§€λ§Œ, μ΄λŠ” 더 μƒˆλ‘œμš΄ ν”„λ‘œμ„ΈμŠ€μ΄κΈ° λ•Œλ¬Έμ— μ—¬μ „νžˆ 일뢀 단점듀이 μ‘΄μž¬ν•©λ‹ˆλ‹€

Reference

Last updated