목차

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

+ Recent posts