데이터 과학/데이터 엔지니어링

니시다 케이스케, 빅데이터를 지탱하는 기술 - 시시각각 변하는 데이터를 파악하는 자동화의 세계, 제이펍

booksworld 2025. 1. 30. 01:00

 

#광고 - 링크로 구매 시 글쓴이에게 소정의 수수료가 제공됩니다.

 

 

빅데이터의 중요성이 날로 커지고 있는 현대 사회에서, 데이터를 효과적으로 수집하고 처리하는 능력은 기업의 성패를 좌우하는 중요한 요소가 되었습니다. "빅데이터를 지탱하는 기술"은 이러한 필요성을 충족시키기 위해 필수적인 실무적 가이드를 제공합니다. 이 책은 데이터 처리의 시스템화에 중점을 두며, 빅데이터 기술을 배우고자 하는 이들에게 기본적인 데이터 처리 개념을 확실히 다집니다.

이 책은 데이터 처리의 효율성을 높이는 다양한 방법을 소개합니다. '워크플로 관리'와 '스트림 처리'와 같은 데이터 처리 자동화 기술을 통해, 데이터를 보다 효율적으로 관리하고 분석할 수 있는 방법을 제시합니다. 또한, 빅데이터의 확장성 있는 구성에 대해 설명하며, 방대한 시스템 환경에서도 뛰어난 데이터 처리 구조를 구축할 수 있는 방법을 안내합니다.

책은 총 6개의 챕터로 구성되어 있으며, 각 챕터는 빅데이터의 기초 지식부터 시작해 데이터의 분산 처리, 축적, 파이프라인 설계 및 분석의 기본기를 다룹니다. 특히, 분산 시스템과 데이터 웨어하우스, 클라우드 서비스 등 다양한 기술적 요소를 체계적으로 설명하여, 독자들이 실무에서 바로 활용할 수 있도록 돕습니다.

저자 니시다 케이스케는 트레저 데이터에서 근무하며, 데이터 처리 분야에서의 풍부한 경험을 바탕으로 이 책을 집필했습니다. 그의 전문적인 지식과 실무 경험이 담긴 이 책은, 빅데이터 기술을 배우고자 하는 개발자나 최고 경영자에게 큰 도움이 될 것입니다. 데이터의 가치를 극대화하고자 하는 모든 이들에게, "빅데이터를 지탱하는 기술"은 필독서가 될 것입니다.

 

 

 

목차


CHAPTER 1 빅데이터의 기초 지식 _ 1
1-1 [배경] 빅데이터의 정착 3
분산 시스템에 의한 데이터 처리의 고속화 ― 빅데이터의 취급하기 어려운 점을 극복한 두 가지 대표 기술 3
분산 시스템의 비즈니스 이용 개척 ― 데이터 웨어하우스와의 공존 7
직접 할 수 있는 데이터 분석 폭 확대 ― 클라우드 서비스와 데이터 디스커버리로 가속하는 빅데이터의 활용 8
1-2 빅데이터 시대의 데이터 분석 기반 11
[재입문] 빅데이터의 기술 ― 분산 시스템을 활용해서 데이터를 가공해 나가는 구조 11
데이터 웨어하우스와 데이터 마트 ― 데이터 파이프라인 기본형 16
데이터 레이크 ― 데이터를 그대로 축적 17
데이터 분석 기반을 단계적으로 발전시키기 ― 팀과 역할 분담, 스몰 스타트와 확장 19
데이터를 수집하는 목적 ― ‘검색’, ‘가공’, ‘시각화’의 세 가지 예 22
확증적 데이터 분석과 탐색적 데이터 분석 25
1-3 [속성 학습] 스크립트 언어에 의한 특별 분석과 데이터 프레임 26
데이터 처리와 스크립트 언어 ― 인기 언어인 파이썬과 데이터 프레임 26
데이터 프레임, 기초 중의 기초 ― ‘배열 안의 배열’로부터 작성 27
웹 서버의 액세스 로그의 예 ― pandas의 데이터 프레임으로 간단히 처리 28
시계열 데이터를 대화식으로 집계하기 ― 데이터 프레임을 그대로 사용한 데이터 집계 30
SQL의 결과를 데이터 프레임으로 활용하기 31
1-4 BI 도구와 모니터링 33
스프레드시트에 의한 모니터링 ― 프로젝트의 현재 상황 파악하기 33
데이터에 근거한 의사 결정 ― KPI 모니터링 35
변화를 파악하고 세부 사항을 이해하기 ― BI 도구의 활용 37
수작업과 자동화해야 할 것의 경계를 판별하기 39
1-5 요약 42

CHAPTER 2 빅데이터의 탐색 _ 43
2-1 크로스 집계의 기본 45
트랜잭션 테이블, 크로스 테이블, 피벗 테이블 ― ‘크로스 집계’의 개념 45
룩업 테이블 ― 테이블을 결합하여 속성 늘리기 47
SQL에 의한 테이블의 집계 ― 대량 데이터의 크로스 집계 사전 준비 50
데이터 집계 ? 데이터 마트 ? 시각화 ― 시스템 구성은 데이터 마트의 크기에 따라 결정된다 55
2-2 열 지향 스토리지에 의한 고속화 56
데이터베이스의 지연을 줄이기 56
열 지향 데이터베이스 접근 ― 칼럼을 압축하여 디스크 I/O를 줄이기 58
MPP 데이터베이스의 접근 방식 ― 병렬화에 의해 멀티 코어 활용하기 61
2-3 애드 혹 분석과 시각화 도구 64
Jupyter Notebook에 의한 애드 혹 분석 ― 노트북에 분석 과정 기록하기 64
대시보드 도구 ― 정기적으로 집계 결과를 시각화하기 68
BI 도구 ― 대화적인 대시보드 75
2-4 데이터 마트의 기본 구조 77
시각화에 적합한 데이터 마트 만들기 ― OLAP 77
테이블을 비정규화하기 79
다차원 모델 시각화에 대비하여 테이블을 추상화하기 82
2-5 요약 86

CHAPTER 3 빅데이터의 분산 처리 _ 87
3-1 대규모 분산 처리의 프레임워크 89
구조화 데이터와 비구조화 데이터 89
Hadoop ― 분산 데이터 처리의 공통 플랫폼 92
Spark ― 인 메모리 형의 고속 데이터 처리 99
3-2 쿼리 엔진 101
데이터 마트 구축의 파이프라인 101
Hive에 의한 구조화 데이터 작성 102
대화형 쿼리 엔진 Presto의 구조 ― Presto로 구조화 데이터 집계하기 109
데이터 분석의 프레임워크 선택하기 ― MPP 데이터베이스, Hive, Presto, Spark 115
3-3 데이터 마트의 구축 119
팩트 테이블 ― 시계열 데이터 축적하기 119
집계 테이블 ― 레코드 수 줄이기 122
스냅샷 테이블 ― 마스터의 상태를 기록하기 123
이력 테이블 ― 마스터 변화 기록하기 127
[마지막 단계] 디멘전을 추가하여 비정규화 테이블 완성시키기 127
3-4 요약 130

CHAPTER 4 빅데이터의 축적 _ 131
4-1 벌크 형과 스트리밍 형의 데이터 수집 133
객체 스토리지와 데이터 수집 ― 분산 스토리지에 데이터 읽어들이기 133
벌크 형의 데이터 전송 ― ETL 서버의 설치 필요성 135
스트리밍 형의 데이터 전송 ― 계속해서 전송되어 오는 작은 데이터를 취급하기 위한 데이터 전송 137
4-2 [성능×신뢰성] 메시지 배송의 트레이드 오프 143
메시지 브로커 ― 스토리지의 성능 문제를 해결하는 중간층의 설치 143
메시지 배송을 확실하게 실시하는 것은 어렵다 ― 신뢰성 문제와 세 가지 설계 방식 146
중복 제거는 높은 비용의 오퍼레이션 149
데이터 수집의 파이프라인 ― 장기적인 데이터 분석에 적합한 스토리지 152
4-3 시계열 데이터의 최적화 154
프로세스 시간와 이벤트 시간 ― 데이터 분석의 대상은 주로 이벤트 시간 154
프로세스 시간에 의한 분할과 문제점 ― 최대한 피하고 싶은 풀 스캔 154
시계열 인덱스 ― 이벤트 시간에 의한 집계의 효율화 ① 156
조건절 푸쉬다운 ― 이벤트 시간에 의한 집계의 효율화 ② 157
이벤트 시간에 의한 분할 ― 테이블 파티셔닝, 시계열 테이블 158
4-4 비구조화 데이터의 분산 스토리지 161
[기본 전략] NoSQL 데이터베이스에 의한 데이터 활용 161
분산 KVS ― 디스크로의 쓰기 성능을 높이기 162
와이드 칼럼 스토어 ― 구조화 데이터를 분석해서 저장하기 166
도큐먼트 스토어 ― 스키마리스 데이터 관리하기 169
검색 엔진 ― 키워드 검색으로 데이터 검색 171
4-5 정리 175

CHAPTER 5 빅데이터의 파이프라인 _ 177
5-1 워크플로 관리 179
[기초 지식] 워크플로 관리 ― 데이터의 흐름을 일원 관리하기 179
오류로부터의 복구 방법 먼저 생각하기 183
멱등한 조작으로 태스크를 기술하기 ― 동일 태스크를 여러 번 실행해도 동일한 결과가 된다 188
워크플로 전체를 멱등으로 하기 194
태스크 큐 ― 자원의 소비량 컨트롤하기 195
5-2 배치 형의 데이터 플로우 199
MapReduce의 시대는 끝났다 ― 데이터 플로우와 워크플로 199
MapReduce를 대신할 새로운 프레임워크 ― DAG에 의한 내부 표현 201
데이터 플로우와 워크플로를 조합하기 204
데이터 플로우와 SQL을 나누어 사용하기 ― 데이터 웨어하우스의 파이프라인과 데이터 마트의 파이프라인 207
5-3 스트리밍 형의 데이터 플로우 209
배치 처리와 스트림 처리로 경로 나누기 209
배치 처리와 스트림 처리 통합하기 211
스트림 처리의 결과를 배치 처리로 치환하기 ― 스트림 처리의 두 가지 문제에 대한 대처 214
아웃 오브 오더의 데이터 처리 217
5-4 정리 220

CHAPTER 6 빅데이터 분석 기반의 구축 _ 223
6-1 스키마리스 데이터의 애드 혹 분석 225
스키마리스 데이터 수집하기 225
대화식 실행 환경의 준비 228
Spark에 의한 분산 환경 ― 데이터양이 늘어도 대응 가능하게 하기 232
데이터를 집계해서 데이터 마트 구축하기 237
BI 도구로 데이터 시각화하기 241
6-2 Hadoop에 의한 데이터 파이프라인 245
일일 배치 처리를 태스크화하기 245
[태스크 1] Embulk에 의한 데이터 추출 246
[태스크 2] Hive에 의한 데이터 구조화 248
[태스크 3] Presto에 의한 데이터 집계 250
6-3 워크플로 관리 도구에 의한 자동화 253
Airflow ― 스크립트 형의 워크플로 관리 253
워크플로를 터미널로부터 실행하기 257
스케줄러를 기동하여 DAG를 정기 실행하기 260
태스크가 소비하는 자원 제어하기 265
Hadoop의 데이터 파이프라인을 실행하기 266
6-4 클라우드 서비스에 의한 데이터 파이프라인 268
데이터 분석과 클라우드 서비스의 관계 268
아마존 웹 서비스 270
구글 클라우드 플랫폼 272
트레주어 데이터 274
6-5 정리 279

 

 

 

- 교보문고: https://bitl.bz/yQy8LA

- 쿠팡: https://bitl.bz/Xjv6Gu

- Yes24: https://bitl.bz/uUQBBA