데이터 파이프라인은 데이터 분석의 성공을 위한 기이다. 수많은 다양한 소스에서 데이터를 이동하고 컨텍스트를 제공하기 위해 변환하는 것은 데이터를 그저 소유하는 것과 그로부터 실제 가치를 얻는 것만큼의 차이가 있다. 이 핵심 가이드 북은 데이터 파이프라인을 정의하고 최신 데이터 스택에서 작동하는 방식을 설명한다.
일괄 처리 대 스트리밍 데이터 수집, 빌드 대 구매와 같은 파이프라인을 구현할 때 일반적인 고려사항과 주요 결정사항을 배운다. 이 책은 데이터 전문가가 내리는 가장 일반적인 결정을 다루고 오픈 소스 프레임워크와 상용 제품, 자체 개발 솔루션에 적용되는 기본 개념에 관해 설명한다.
Contents
01장: 데이터 파이프라인 소개
데이터 파이프라인이란?
누가 파이프라인을 구축할까?
___SQL과 데이터 웨어하우징 기초
___파이썬 그리고/또는 자바
___분산 컴퓨팅
___기본 시스템 관리
___목표 지향적 사고방식
왜 데이터 파이프라인을 구축할까?
어떻게 데이터 파이프라인을 구축할까?
02장: 최신 데이터 인프라
데이터 소스의 다양성
___소스 시스템 소유권
___수집 인터페이스 및 데이터 구조
___데이터 사이즈
___데이터 클렌징 작업과 유효성 검사
___소스 시스템의 지연 시간 및 대역폭
클라우드 데이터 웨어하우스 및 데이터 레이크
데이터 수집 도구
데이터 변환 및 모델링 도구
워크플로 오케스트레이션 플랫폼
___방향성 비순환 그래프
데이터 인프라 커스터마이징
03장: 일반적인 데이터 파이프라인 패턴
ETL과 ELT
ETL을 넘어선 ELT의 등장
EtLT 하위 패턴
데이터 분석을 위한 ELT
데이터 과학을 위한 ELT
데이터 제품 및 머신러닝을 위한 ELT
___머신러닝 파이프라인의 단계
___파이프라인에 피드백 통합
___ML 파이프라인에 대한 추가 자료
04장: 데이터 수집: 데이터 추출
파이썬 환경 설정
클라우드 파일 스토리지 설정
MySQL 데이터베이스에서 데이터 추출
___전체 또는 증분 MySQL 테이블 추출
___MySQL 데이터의 이진 로그 복제
PostgreSQL 데이터베이스에서 데이터 추출
___전체 또는 증분 Postgres 테이블 추출
___Write-Ahead 로그를 사용한 데이터 복제
MongoDB에서 데이터 추출
REST API에서 데이터 추출
카프카 및 Debezium을 통한 스트리밍 데이터 수집
05장: 데이터 수집: 데이터 로드
Amazon Redshift 웨어하우스를 대상으로 구성
Redshift 웨어하우스에 데이터 로드
___증분 및 전체 로드
___CDC 로그에서 추출한 데이터 로드
Snowflake 웨어하우스를 대상으로 구성3
Snowflake 데이터 웨어하우스에 데이터 로드
파일 스토리지를 데이터 레이크로 사용
오픈 소스 프레임워크
상업적 대안
06장: 데이터 변환하기
비문맥적 변환
___테이블에서 레코드 중복 제거
___URL 파싱
언제 변환할 것인가, 수집 중 혹은 수집 후?
데이터 모델링 기초
___주요 데이터 모델링 용어
___완전히 새로 고침 된 데이터 모델링
___완전히 새로 고침 된 데이터의 차원을 천천히 변경
___증분 수집된 데이터 모델링
___추가 전용(Append-only) 데이터 모델링
___변경 캡처 데이터 모델링
07장: 파이프라인 오케스트레이션
___방향성 비순환 그래프
아파치 에어플로우 설정 및 개요
___설치 및 구성
___에어플로우 데이터베이스
___웹 서버 및 UI
___스케줄러
___실행기(Executors)
___연산자(Operators)
에어플로우 DAG 구축
___간단한 DAG
___ELT 파이프라인 DAG
추가 파이프라인 작업
___경고 및 알림
___데이터 유효성 검사
고급 오케스트레이션 구성
___결합된 파이프라인 작업 대 결합되지 않은 파이프라인 작업
___DAG를 분할해야 하는 경우
___센서로 여러 DAG 조정
관리형 에어플로우 옵션
기타 오케스트레이션 프레임워크
일찍 그리고 자주 검증할 것
08장: 파이프라인의 데이터 검증
___소스 시스템 데이터 품질
___데이터 수집 위험
___데이터 분석가 검증 활성화
간단한 검증 프레임워크
___유효성 검사기 프레임워크 코드
___검증 테스트의 구조
___검증 테스트 실행
___에어플로우 DAG에서의 사용
___파이프라인을 중단해야 할 때와 경고하고 계속해야 할 때
___프레임워크의 확장
검증 테스트 예제
___수집 후 중복된 레코드
___수집 후의 예기치 않은 행 개수
___지표 값 변동
상용 및 오픈 소스 데이터 검증 프레임워크
소스 시스템의 변경 사항 처리
09장: 파이프라인 유지 관리 모범 사례
___추상화 도입
___데이터 계약 유지 관리
___Schema-on-Read의 고려사항
확장 복잡성
___데이터 수집 표준화
___데이터 모델링 로직의 재사용
___종속성 무결성 보장
중요 파이프라인 지표
10장: 파이프라인 성능 측정 및 모니터링
데이터 웨어하우스 준비
___데이터 인프라 스키마
성능 데이터 로깅 및 수집
___에어플로우에서 DAG 실행 기록 수집
___데이터 유효성 검사기에 로깅 추가
성능 데이터 변환
___DAG 성공률
___시간 경과에 따른 DAG 런타임 변경
___검증 테스트 볼륨 및 성공률
성능 파이프라인 조정
___DAG의 성능
성능 투명성
Author
제임스 댄스모어,정현아,조이정
제임스 댄스모어는 Hub-Spot의 데이터 인프라 디렉터이며, Data Liftoff의 창립자이자 수석 컨설턴트다. Wayfair, O'Reilly Media, HubSpot 및 Degreed에서 데이터 팀을 이끌고 데이터 인프라를 구축한 10년 이상의 경험이 있다. 그는 노스이스트 대학에서 컴퓨터 공학 학사 학위를, 보스턴 칼리지에서 MBA를 취득했다.
제임스 댄스모어는 Hub-Spot의 데이터 인프라 디렉터이며, Data Liftoff의 창립자이자 수석 컨설턴트다. Wayfair, O'Reilly Media, HubSpot 및 Degreed에서 데이터 팀을 이끌고 데이터 인프라를 구축한 10년 이상의 경험이 있다. 그는 노스이스트 대학에서 컴퓨터 공학 학사 학위를, 보스턴 칼리지에서 MBA를 취득했다.