Fairy ' s
[30. March] 데이터 파이프라인 / TIL #1 본문
데이터 파이프라인
- 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