결정 과학 (Decision Science)
Prouduct Science
데이터 웨어하우스
를 셋 업 하고 관리, 운영하는 것 데이터 웨어하우스
는 클라우드 기반으로 가는 추세이며, 데이터가 커질 수록 클라우드 기반으로 가야 한다.데이터 웨어하우스
에 적재해 주는 프로세스를 구현하고 관리, 운영하는 것 (ETL) airflow
라는 오픈 소스가 많이 쓰임.)ETL
과정이 데이터 점점 커지게 되면 데이터 레이크
가 도입되고, 빅데이터 프레임워크 Spark
를 사용한다. Container Technology
를 사용한다.데이터 인프라
를 구축데이터 분석가
와 데이터 과학자
일을 효율적으로 할 수 있도록 지원🔨 주니어 데이터 엔지니어가 알아야 할 기술
🔨 알면 도움이 되는 기술
데이터 엔지니어 (Data Engineer)
데이터 분석가 (Data Analyst)
대시보드
란 보통 중요한 지표를 시간의 흐름
과 함께 보여 주는 게 일반적이다.데이터 과학자 (Data Scientist)
-> 이상적으로는 1. 데이터 인프라
2. 데이터 분석 (지표 정의 및 시각화)
-> 3. 데이터 과학 적용 (사용자 경험 개선)
순서로 가는 것이 좋다. 하지만 스타트업에서는 데이터 인프라 환경도 구축되지 않은 곳이 많다.
✍ [데이터 엔지니어링] 데이터 웨어하우스(Data Warehouse)
내용이 길어져 따로 포스팅하였다.
(사진 출처: http://blog.skby.net/%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%A0%88%EC%9D%B4%ED%81%AC-data-lake/)
데이터 레이크
를 사용하는 이유 데이터 웨어하우스
는 기본적으로 SQL을 기반으로 데이터를 처리하는 관계형 데이터베이스이다. 즉, 로그 파일과 같은 비구조화된 데이터를 저장하고 처리하기에는 부적합하다. 클라우드 스토리지
가 된다. 예를 들어 AWS라면 S3가 대표적인 데이터 레이크가 된다.데이터 웨어하우스
에 적재해 주는 게 아니라 ETL
을 통해 데이터 레이크
안으로 가지고 오고, 필요할 때마다 이 데이터를 Load
해서 프로세싱한 후 데이터 웨어하우스
에 저장하는 형태로 가게 된다.데이터 레이크
가 있는 환경에서의 ETL과 ELT ETL
이라고 볼 수 있다.ETL
이다.데이터 레이크
나 데이터 웨어하우스
로 가지고 오는 것을 ETL
이라고 한다.ELT
라고 한다. ELT
라고 한다.airflow
를 사용하고, ELT는 airflow
를 통해 스케줄링은 하지만 새로운 데이터를 만들 때는 DBT
라는 툴을 많이 쓴다. ✍ [데이터 엔지니어링] ETL/ELT
내용이 길어져 따로 포스팅하였다.
초기 단계: 데이터 웨어하우스 + ETL
발전 단계: 데이터 양이 증가하면서 감당하지 못해 두 가지 변화가 필요한 상태
데이터 레이크
도입 (보통 로그 데이터와 같은 대용량 비구조화 데이터를 대상으로 함)Spark
와 같은 빅데이터 처리 시스템 도입 (데이터 레이크에 있는 데이터들을 처리할 수 있도록)성숙 단계: 데이터 활용 증대
✍ 회사를 고를 때 보는 조건
- 급격한 성장 (성장 가능성)
- 문화 (사람)
- 자유도
✍ 데이터 엔지니어 관점에서 회사를 보는 조건
- 데이터 팀은 기본적으로 협업을 많이 하는 팀이기 때문에 회사 문화가 중요함
- 데이터 문해력이란 측면에 얼마나 회사가 관심과 투자가 있는지
- 데이터 조직과 활용도 회사 성장과 함께 같이 발전하는가
- GDPR 준수로 인해 데이터 품질 관리와 거버넌스에 집중할 수 있는가
1) 데이터 웨어하우스
도입 (RedShift)
2) ETL 프로세스
개발
crontab
으로 관리하다가 pinterest
의 pinball
로 이전 crontab
은 간단하게 현재는 Airflow
사용pinbal
을 쓰지 않음SLA (Service Level Agreement)
설정하고 지표로 계산3) Decision Science 팀
도입 및 BI 툴
도입
지표 표준화
내부 직무 전환 제도
를 통해 디지털 마케터들을 분석가로 많이 뽑음4) Product Science 팀
도입 및 ML 모델
을 Production에 사용하기 시작
A/B 테스트 프로세스
도입 📊 A/B 테스트란?
- 온라인 서비스에서 새 기능의 임팩트를 객관적으로 측정하는 방법
- 원래 의료 쪽에 있던 무작위 대조 시험(Randomized Controlled Trial) 기반으로 만들어진 테스트 방법
- 새 기능을 도입할 때 생기는 위험 부담을 줄이는 방법
- 만약 추천을 기계 학습 기반으로 바꾼 경우,
- 먼저 5 % 사용자에게만 새로운 기능을 사용할 수 있게 만들고 95 %의 사용자와 매출액 같은 중요한 지표를 가지고 비교
- 이후 5 %의 문제가 없으면 10 %, 20 % 점진적으로 키우고 만약 비교했을 때 새 기능이 기존의 기능보다 매출액 등 지표가 되는 부분이 높아졌다면 최종적으로 100 %로 론치(launch)한다.
📌 데이터 과학자와 개발자의 마찰 시점
- 데이터 과학자들이 R을 비롯해 다양한 툴로 모델을 개발함.
- 하지만 실제 프로덕션 환경에서는 다양한 모델을 지원하지 않기 때문에 개발자들이 포팅을 해야 함.
- 심한 경우 모델 관련 개발을 다시 해야 함.
이를 해결하기 위해 처음부터 데이터 과학자들이 사용해 주는 툴을 개발자들이 사용하는 언어와 지원이 되는 환경으로 설정해야 함.
📌 머신러닝(Machine Learning)의 모델을 왜 주기적으로 빌드 해 주어야 하는가?
Data Drift
: 시간이 지나면서 훈련에 사용한 데이터와 실제 환경의 데이터가 다르게 변화하는 현상.Data Drift
로 인한 모델 성능 저하가 일어나며 이를 모니터링해 주는 것이 중요하다.- 이러한
Data Drift
현상 때문에머신러닝(Machine Learning)
의 모델을 주기적으로 빌드 해 주어야 한다.
5) 클라우드로 이전
6) 데이터 레이크
와 Spark
도입
7) 데이터 활용 증가로 데이터 디스커버리
이슈가 발생 (대부분의 회사들이 겪는 이슈)
8) 데이터 디스커버리
이슈 해결
DataHub
로 정착 (국내에서는 쏘카 데이터 팀이 최초로 DataHub를 도입)9) GDPR
준수
GDPR
에서 가장 중요하게 생각하는 건 개인 정보의 주체는 개인에 있다. PII 파악과 시스템 전반 사용 파악
및 불필요 PII 제거와 감사 기능
구현10) Data Democratization
과 Data Decentralization
은 거스를 수 없는 추세
Data Mesh
데이터 활용을 완전히 분산화하기 위한 기술11) 데이터 거버넌스
시작
1) 데이터 웨어하우스와 데이터레이크
2) 대시보드 툴
3) ML 관련 툴
4) ETL/ELT frame work
5) 데이터 카탈로그/거버넌스
특강 중 Cloud 이전을 반대했다는 내용이 있어 만약 반대한다면 무엇이 원인이었는지에 대해 물어보았다.
: 보통 Cloud를 반대하는 건 비용적인 측면이 강하고, 재무 팀에서 주로 반대를 한다고 한다. CAPEX는 연간 예산을 잡아 놓고 쓰는 것이고 OPEX는 매달 비용이 발생할 때마다 지출하는 것인데 대부분의 재무 팀은 CAPEX가 익숙하다. 그런데 Cloud는 매달 얼마나 쓰게 될지를 예측할 수는 있으나 정확하게 환산할 수 없으므로 OPEX 시스템이 된다. 그리고 개발자적 관점에서 Cloud는 좋지만 잘못 쓰게 되면 비용이 더 많이 청구되기 쉽다. (끄지 않았을 때)
1. Data Informed Decision vs Data Driven Decision
Data Informed Decision
은 데이터를 고려한 결정으로 회사가 가고자 하는 방향을 정해 두었다면 그 방향으로 가는 과정에서 데이터를 참고하는 것을 말한다.Data Driven Decision
은 데이터 기반 결정으로 데이터가 이야기하는 대로 방향을 정하는 것을 말한다.- 데이터는 과거의 기록이다. 만약 과거의 기록만을 보고 방향을 정한다면 최적화를 할 수는 있겠지만 새로운 혁신을 만들기는 어렵다.
- 즉, 둘을 적절하게 섞어서 사용하는 것이 중요하다.