목차
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주차 - 1] 데이터 팀의 역할 소개 (4) | 2023.08.21 |
---|