Fairy ' s

[30. March] 데이터 파이프라인 / TIL #1 본문

Devops Bootcamp

[30. March] 데이터 파이프라인 / TIL #1

berafairy 2023. 3. 30. 10:48

데이터 파이프라인

  • OLTP & OLAP
  • 정형 데이터 & 비정형 데이터
  • ETL & ELT
  • MLOps

 


OLTP

  • CRUD 작업과 같은 트랜잭션에 포커스가 맞추어져 있는 데이터베이스
  • 여러 테이블을 함께 묶어 조회하려면 복잡도가 늘어나며 트랜잭션 성능에 지장을 줄 수 있다.
  • 테이블 간 관계, 데이터의 무결성, 정규화 여부가 중요하다.
  • 정형적이며, 정규화된 데이터이다.

 

OLAP

  • 데이터 기반의 의사결정을 위한 도구 / 적재된 데이터를 다양한 방법으로 분석하는 데 포커스가 맞추어져 있다.
  • 다양한 데이터 소스로부터 수집되는 데이터를 통합한다.
  • 빠른 분석과, 다차원 정보 제공이 중요하다.
  • 정형 및 비정형 데이터이다.

정형 데이터

  • 정해진 규칙에 따라 구조화된 데이터
  • 해당 컬럼에 들어갈 값이 예측 가능하고 의미 파악이 쉽다.
  • 사용자들이 사용하기 쉬우며, 가공/분석하기에 용이하다.
  • 이미 적재한 데이터가 많은 상황에 구조 자체가 바뀌는 경우, 모든 정형 데이터를 업데이트 해야 한다.

 

비정형 데이터

  • 문서의 형태를 따거나, 바이너리 형식의 데이터
  • 저장하기에 유용하지만, 가공/분석하기에 어렵다.

ETL (Extract Transform  Load)

  • 추출 변환 적재
  • 적재하는 과정에서 변환이 이루어진다. (Schema-on-Write)
  • ETL로 적재된 데이터는 이미 정형화가 되어 있어, 비즈니스 분석이나 시각화에 용이하다.

 

ELT (Extract Load Transform)

  • 추출  적재  변환
  • 적재한 후 분석을 시작할 때 변환 작업이 이루어진다. (Schema-on-Read)
  • 비정형 데이터를 분석할 경우에 진행되며, 정형화된 데이터 분석보다는 느리다.
  • 하지만 클라우드의 발전과, 데이터가 쌓이는 규모가 커진 빅 데이터 시대에는, 적재하기 전 변환 과정이 오히려 병목이 될 수 있으므로, 이러한 한계를 극복하기 위해 ELT를 사용하기도 한다.

추출의 대상

  • 관계형 데이터베이스 (RDBMS)
  • NoSQL
  • 텍스트 파일 (JSON, log, txt 등)
  • SaaS로부터 생서되는 데이터 (Google Ads 같은 광고 데이터)
  • 데이터 레이크 (원시 데이터를 저장하는 공간 / 비정형 데이터 포함)

 

적재의 대상

  • 데이터 웨어하우스

MLOps (Machine Learning Ops)

  • DevOps를 머신 러닝 시스템에 적용한 것
  • 모델을 꾸준히 학습시키고 평가하는 단계를 일컬어 CT(Continuous Traning)라고 표현한다.
  • 머신 러닝
    - 데이터를 이해하는 알고리즘의 과학이자 애플리케이션
    - 머신 러닝 글 보러가기 << 
  DevOps MLOps
Test 애플리케이션 모듈 간 통합 테스트 데이터 검증, 학습된 모델 품질 평가, 모델 검증
Deployment 프로비저닝 및 애플리케이션 준비 학습된 머신러닝 모델 배포,
새로운 모델이 재학습 될 수 있는 파이프라인 구성
Operate 애플리케이션 트래픽,
사용자 등의 모니터링
데이터 요약 통계 모니터링
통합의 대상 (CI) 다양한 코드가 하나의 artifact로 결합 데이터, 스키마, 모델 테스트를 결합
배포의 대상 (CD) 단일 소프트웨어 패키지의 배포 ML 파이프라인 전체를 배포

머신 러닝을 도입한 데이터 처리 파이프라인

ML 실험 → DEV 개발 → OPS 운영

  • ML : 비즈니스 이해 데이터 탐색 - 가공 초기 모델 최적화 / 평가
  • DEV : 지속적 통합 - 빌드(모델 최적화) - 테스트 지속적 전달 - 모델 등록
  • OPS : 지속적 배포 - 서빙 데이터 피드백 루프 - 시스템/모델 모니터링 - Data Drift 모니터링

  • 데이터 분석
    - 데이터 이해를 탐색적 데이터 분석을 수행하며, 모델에 필요한 데이터 스키마 및 특성을 이해한다.
  • 데이터 준비
    - 관련 데이터를 추출 및 정제, 변환, 집합, 중복 제거 등 
  • 모델 학습 및 튜닝
    - 다양한 알고리즘 구현, *하이퍼 파라미터를 조정하고 적용하여 학습된 모델을 결과로 도출
  • 모델 평가 및 검증
    - 모델 평가를 통해 모델 정확도 수치를 확인하고, 모델 성능을 배포에 적합한 수준인지 검증한다.
  • 모델 제공
    - CI/CD 툴을 이용하여, 프로덕션 수준에서 이용할 수 있도록 파이프라인을 자동화한다.
  • 모델 배포 및 모니터링
    - 애플리케이션에서 사용 가능하도록 endpoint를 활성화한다.

 

 

*하이퍼 파라미터 : 모델 학습이 시작되기 전에 값이 설정되는 매개변수 / 모델의 동작과 성능에 영향을 미친다.

'Devops Bootcamp' 카테고리의 다른 글

[5. Apr] 1st project  (0) 2023.04.05
[30. March] 로그 파이프라인 / TIL #2  (0) 2023.03.30
[29. March] 발표 / TIL  (0) 2023.03.29
[29. March] 데이터베이스 개념 / TIL  (0) 2023.03.29
[24. March] WAS Web Server / TIL  (0) 2023.03.24
Comments