목차

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 등

데이터 팀의 구조

  • 중앙 집중형
    - 데이터 관련 인력이 한 조직에 포함
    - 데이터 인력의 만족도 上
    - 타 부서의 만족도 下
    - 팀 내부 지식 공유 및 조화가 효율적
    - 도메인 지식 부족
    - 데이터 팀의 커리어에 도움
  • 분산형
    - 데이터 관련 인력이 각 부서에 분산
    - 데이터 인력의 만족도 下
    - 타 부서의 만족도 上
    - 부서마다 데이터 운영에 대한 중복 투자가 발생
    - 팀 내부 지식 공유 및 조화가 비효율적
    - 도메인 지식 향상
  • 하이브리드형
    - 중앙 집중형과 분산형의 혼합 구조
    - 데이터팀 소속으로 업무를 진행하지만 부서에 데이터 인력이 필요한 경우 파견
    - 가장 이상적이고 선호되는 구조

마스터의 Lessons Learned

  • 데이터팀은 운영 비용 투자가 많이 필요하다.
  • 매출에 영향을 줄 수 있는 결과를 지속적으로 보여줘야 한다.
  • 인프라 구축이 가장 우선이다.
  • 데이터 품질은 항상 중요하다. Garbage In Garbage Out
  • 성공과 실패의 지표가 명확해야 한다.(문제 정의 능력)
  • 최신 기술, 유행하는 기술보다 필요한 기술이 더 좋다.
  • 간단한 것이 가장 좋은 것이다.

+ Recent posts