시작하며

프로그래머스 데이터 엔지니어링 강의의 첫 번째 수업 내용을 정리한다. 데이터 엔지니어링 팀이 어떤 일을 하는지, 그리고 데이터 웨어하우스로 자주 쓰이는 RedShift가 무엇인지를 다룬다.

데이터 조직과 기술 스택

Data Engineering Team

  • 데이터 웨어하우스 관리
  • 데이터 파이프라인 작성 및 관리
    • Data-Pipeline ETL(Extract, Transform, Load) Data Job == DAG(Airflow)
  • 데이터 파이프라인 유형
    • Batch Processing
    • Real-time Processing
    • Summary Data Generation(ELT: 이미 data-warehouse에 올라간 데이터를 활용, 데이터 분석가가 많이 작업함)
    • Event Collection

주요 기술 스택은 다음과 같다.

  • SQL / Python / Scalar / Java
  • AirFlow
  • Spark, Hadoop
  • AWS
  • K8S, Docker
  • ML, A/B Test, Statistics

RedShift와 데이터 웨어하우스

Data Warehouse란?

  • 프로덕션 데이터베이스와 분리된 별도의 SQL 데이터베이스다.

    • Production DataBase는 주로 서비스 이용자가 사용하는 DB이며 속도가 중요하고, Online Transaction Processing (OLTP)에 특화되어 있다.
    • Data Warehouse는 분석을 위한 DB이며, 속도보다는 대용량 처리가 중요하고, Online Analytical Processing (OLAP)에 특화되어 있다.
  • 회사의 중앙 데이터 저장소 역할을 한다.

  • 비용 모델에 따라 Fixed Cost 방식(RedShift)과 Variable Cost 방식(Bigquery, SnowFlake)으로 나뉜다.

정리하며

데이터 엔지니어링 팀은 데이터 웨어하우스를 관리하고 데이터 파이프라인을 구축하는 역할을 담당한다. RedShift는 OLAP에 특화된 데이터 웨어하우스로, 프로덕션 DB와 분리하여 분석 목적으로 운영한다. 다음 강의에서는 실제 SQL 작성 방법과 데이터 조작 함수들을 살펴본다.