1. 데이터 엔지니어링은 무엇인가? 2. 데이터 웨어하우스란 무엇인가? 3. Redshift
데이터 엔지니어링은 무엇인가?
데이터 웨어하우스 구축 및 관리
데이터 파이프라인 구축(ETL) - 데이터 파이프라인 종류 > 배치 처리 프로세스 vs 실시간 처리 프로세스
사용자 이벤트 or 로그 수집
기술 스택 - SQL: Hive, Presto, Spark SQL 등 - 언어 : Python, Scala, Java 등 - 스케줄러 : Airflow, Cron 등 - 빅데이터 처리 : Spark, YARN 등 - 클라우드 : AWS, GCP 등 - 컨테이너 : K8S, Docker 등 - 기타 : 머신러닝, A/B 테스트, 통계 등
데이터 웨어하우스란 무엇인가?
데이터 웨어하우스는 기본적으로 운영 DB와 전혀 다른 영역이다.
OLAP(OnLine Analytical Processing) vs OLTP(OnLine Transaction Processing)
결국 회사의 중심 스토리지가 된다.
ETL : 데이터 엔지니어가 다양한 소스에서 데이터를 수집하여 가공/적재하는 과정
ELT : 수집된 데이터를 재가공하여 새로운 데이터를 생산하는 과정
고정 비용 옵션 vs 변동 비용 옵션 - 고정 비용 옵션은 안정적인 비용 운영이 가능하다. - 변동 비용 옵션은 Scale-Up/Down이 가능하다. - 변동 비용 옵션 사용 시 쿼리 최적화는 비용 절감 효과를 보여준다.
Redshift
최대 2PB 제공
OLAP
컬럼 기반 운영
벌크 업데이트 지원 - 파일을 통째로 적재하는 방식 - SQL의 INSERT 보다 월등한 퍼포먼스
PK의 유일성 보장 X - 보장 시 속도가 저하
PostgreSQL 8.x 버전 지원
다른 서비스와 연동 - S3, EMR, Kinesis, DynamoDB
스냅샷 백업 기능 제공
Redshift 접근 방법 - 분석 툴 활용 > Tableau, Looker, Superset 등 - JDBC/ODBC 라이브러리 > PostgreSQL 8.0.x 버전 호환 > Python의 psycopg2 - SQL 클라이언트 > DBeaver, Postice, SQL Workbench, DataGrip(JetBrain 이용자 강추!) - Python Notebook > Google Colab
1. 요즘의 커리어란? 2. 데이터 팀의 목표 및 구성원 3. 데이터 팀의 구조 4. 마스터의 Lessons Learned
요즘의 커리어란?
한 번의 좋은 기회에서 오는 평생직장의 시대는 저물어간다.
다양한 방향성을 가지고 있는 미래를 마주쳐야 하고 자연스럽게 잦은 이직을 경험할 수밖에 없다.
내가 있는 곳이 어디인지 보다는 내가 무엇을 하고 있는지 전문성에 대해 생각해 볼 필요가 있다.
나의 커리어에 대해 불안해하지 말자.
기 죽지 말고 좌절하지 말고 중꺾마!
성취감을 느끼기 위해 완벽하게 해내는 것보다 완료하는 것에 의미를 두자.
지속적인 도전을 하자.
아무 일도 하지 않으면 아무 일도 발생하지 않는다.
좀 더 생산적인 활동을 하자. ex) 운동, 공부, 사람 만나기, 독서 등
개발의 패턴도 폭포수에서 애자일로 변화하듯 인생도 마찬가지이다.
데이터 팀의 목표 및 구성원
데이터 팀은 데이터로 부가가치를 창출
더 좋은 의사 결정을 도움
데이터를 기반으로 서비스/솔루션 개선
구성원 - 데이터 엔지니어 > 목표 : 데이터 인프라 구축 > 준비물 : 데이터 파이프라인,클라우드 지식, 빅데이터 분산 처리, Python, SQL, NoSQL, 컨테이너 등 - 데이터 애널리스트 > 목표 : 데이터 기반 의사결정 지원, BI(Business Intelligence) > 준비물 : 시각화, 수학/통계 지식, 도메인 지식, Python, SQL 등 - 데이터 사이언티스트 > 목표 : 데이터 기반 서비스/솔루션 품질 개선 > 준비물 : 인내심,머신러닝, 수학/통계 지식, Python, SQL 등
데이터 팀의 구조
중앙 집중형 - 데이터 관련 인력이 한 조직에 포함 - 데이터 인력의 만족도 上 - 타 부서의 만족도 下 - 팀 내부 지식 공유 및 조화가 효율적 - 도메인 지식 부족 - 데이터 팀의 커리어에 도움
분산형 - 데이터 관련 인력이 각 부서에 분산 - 데이터 인력의 만족도 下 - 타 부서의 만족도 上 - 부서마다 데이터 운영에 대한 중복 투자가 발생 - 팀 내부 지식 공유 및 조화가 비효율적 - 도메인 지식 향상
하이브리드형 - 중앙 집중형과 분산형의 혼합 구조 - 데이터팀 소속으로 업무를 진행하지만 부서에 데이터 인력이 필요한 경우 파견 - 가장 이상적이고 선호되는 구조