Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- HADOOP
- 데이터 웨어하우스
- S3
- AWS
- airflow.cfg
- 데이터 엔지니어링
- 데이터엔지니어링
- PYTHON
- dockerfile
- 자료구조
- 데이터베이스
- 데이터 파이프라인
- airflow
- 데브코스
- 컴퓨터 네트워크
- linux
- Docker
- TIL
- Go
- 컴퓨터네트워크
- http
- 종류
- 정리
- 파이썬
- redshift
- Django
- 운영체제
- 가상환경
- sql
- TCP
Archives
- Today
- Total
홍카나의 공부방
[DE 데브코스] 05.22 TIL - 데이터 팀에 대하여, DevOps 등 본문
데이터 팀의 Vision과 하는 일
- 신뢰할 수 있는 데이터를 바탕으로 부가 가치를 만든다.
- 그 기업의 본업을 더 잘 영위할 수 있게 만든다.
- 의사 결정권자에게 데이터를 고려한 결정(data informed decisions)을 가능하게끔 돕는다.
- ex) 데이터 기반의 지표를 정의하고, 대시보드 & 리포트 생성 등의 작업을 수행한다. - Data Analyst가 주로 하는 일
- ex) 개인화를 바탕으로 추천과 검색 기능을 제공하는 것처럼, 머신러닝과 같은 알고리즘으로 사용자의 서비스 경험을 개선한다. - Data Scientist가 주로 하는 일
데이터의 흐름과 데이터 팀의 발전 단계
- 데이터 엔지니어는 여러 source에서 발생한 데이터를 추출하고 정제하여 데이터 인프라를 구축하는 일과 데이터 인프라를 관리/운영하는 일을 주로 맡는다.
- 이렇게 구축한 데이터 인프라에 데이터 분석가가 들어와서 지표를 정의하고, 대시보드를 만들거나 시각화를 맡는다.
- 이상적으로는 데이터 인프라가 먼저 구축이 되어있어야 하고, 데이터 분석이 들어가야 한다. 실질적으로는 위 그림의 2,3번부터 시작했다가 1번이 필요하다는 것을 깨닫는 경우도 많다고 한다.
- 그 이후에는 데이터 과학자가 JOIN해서 머신러닝, 딥러닝 등의 기술을 이용하여 고도화를 진행한다.
- 2번을 건너뛰고 1번에서 3번으로 건너갔다 한들, 대시보드나 시각화로 변화를 확인하지 못하면 사용자 경험을 개선한 건지 아닌 건지 파악할 수 없다. ( 장님이 된 것과 같다고 한다. )
데이터 인프라 구축
- 데이터 웨어하우스를 구축하기까지 단계는 위 그림과 같다.
- 먼저, 서비스에서 직접 생기는 데이터, API에서 가져오는 데이터, MySQL과 같은 ProductionDB에 담겨있는 채널에서 데이터를 추출한다. 이후 ETL(Extract - Transform - Load)을 진행하여 데이터 웨어하우스에 올린다.
- 데이터 웨어하우스는 데이터 분석을 하는 사람들이 집중적으로 접근하는 DB로, 제품의 서비스 데이터가 담겨있는 ProductionDB와는 차이점이 있다.
- 데이터 웨어하우스는 처리할 수 있는 데이터의 크기가 큰 것이 중요하고, 프로덕션DB는 서비스 처리 속도가 비교적 중요하다.
- 데이터 웨어하우스는 OLAP(OnLine Analytical Processing) 방식을 이용하고, MySQL과 같은 DB는 OLTP(OnLine Transaction Processing) 방식을 이용한다. 주목적이 운영이냐, 분석이냐에 따라 달리 사용하면 되겠다.
아래 글들을 참고하면 더 도움이 될 것이다.
https://hongcana.tistory.com/84
https://hongcana.tistory.com/81
https://velog.io/@mrcocoball/220323OLTP-OLAP%EC%9D%98-%EA%B0%9C%EB%85%90%EA%B3%BC-%EC%B0%A8%EC%9D%B4
데이터 엔지니어가 알아야하는 기술 - 주니어
- SQL
- Python, Scala, Java
- 데이터 웨어하우스 : RedShift, Snowflake, BigQuery...
- ELT/ETL 프레임워크 : Airflow
- 대용량 데이터 처리 플랫폼 : Spark(YARN 위에서 돌아가는 시스템), YARN
데이터 엔지니어가 알아야하는 기술 - 주니어 이상
- 컨테이너 기술 : Docker/k8s
- 클라우드 컴퓨팅 : AWS, GCP, Azure
- 기타 머신러닝/딥러닝 일반, A/B테스트의 동작, 확률과 통계 지식
- 다음 스텝은 MLOps이나 ML Engineer
DevOPS와 MLOps
- DevOps는 개발자가 만든 서비스 코드를 시스템에 반영하는 프로세스(CI/CD, deployment)를 주로 맡는다.
- 서비스 코드는 보통 직접 개발하지 않는다.
- 시스템이 제대로 동작하는지 모니터링하고, 이슈 감지시에는 escalation(보고) 프로세스를 진행한다.
- 주니어로 시작하기에는 힘든 직군이라고 한다. 지식과 경험이 많아야 해서..
- MLOps는 서비스 코드가 아니라 ML 모델을 대상으로 빌딩, 배포, 모니터링을 진행하는 것이다.
데이터 웨어하우스 옵션들
오늘 공부하며 어려웠던 내용
- ELT와 ETL에 대한 개념이 약간 혼동되었는데, 지금은 명확하게 글로 정리하였다.
반응형
'Data Engineering > 프로그래머스 데브코스' 카테고리의 다른 글
[DE 데브코스] 05.25 TIL - Redshift 심화, Fact/Dimension/외부테이블과 View 차이점 등 (0) | 2023.05.25 |
---|---|
[DE 데브코스] 05.23 TIL - Redshift, Serverless, ELT 예시 (0) | 2023.05.24 |
[DE 데브코스] 05.19 TIL - Lambda, Docker (0) | 2023.05.19 |
[DE 데브코스] 05.18 TIL - CLI, DATABASE (0) | 2023.05.18 |
[DE 데브코스] 05.17 TIL - IAM, S3, CI/CD (0) | 2023.05.17 |