상세정보
빅데이터를 지탱하는 기술
- 저자
- 니시다 케이스케
- 출판사
- 제이펍
- 출판일
- 2021-04-15
- 등록일
- 2021-09-01
- 파일포맷
- PDF
- 파일크기
- 15MB
- 공급사
- 웅진OPMS
- 지원기기
-
PC
PHONE
TABLET
프로그램 수동설치
뷰어프로그램 설치 안내
책소개
현대 비즈니스의 성패는 데이터 수집과 통합, 그리고 처리 방법에 달렸다!
데이터 처리 전문가가 알려주는 빅데이터와 관련 기술의 모든 것!
'데이터 처리를 어떻게 시스템화할 것인가?'
『빅데이터를 지탱하는 기술』에서는 엔지니어링 문제를 중심으로 일련의 데이터 처리에 필요한 요소와 기술을 정리하고, 데이터를 효율적으로 처리하기 위한 토대를 만들고, 그 위에서 시스템의 자동화를 지원하는 다양한 기술을 다룬다. 컴퓨터의 성능이 향상됨에 따라 머신러닝을 필두로 데이터를 활용하는 시스템 개발에 관한 기대가 더욱더 커지고 있다. 따라서 앞으로는 시스템 규모에 상관없이 '데이터 처리 그 자체를 시스템의 일부로 하는 기술'에 대한 수요가 점차 많아질 것이다. 이 책에서 소개하는 다양한 시각 자료와 체계적인 관련 기술 소개는 독자들의 빅데이터 입문에 많은 도움이 될 것이다.
저자소개
저 : 니시다 케이스케 (西田圭介)
1976년 일본 효고현에서 태어났다. 트레저 데이터에 근무하고 있으며, 저서로는 『구글을 지탱하는 기술』 등이 있다.
역 : 정인식
숭실대학교에서 전자계산학을 전공하였다. 사회 초년생 시절 자바에 심취해 현대정보기술에서 웹 애플리케이션을 개발하였고, 그 후 이동통신 단말기 분야로 옮겨 휴대전화 단말기의 부가서비스 개발 업무를 진행하였다. 그리고 일본 키스코 모바일사업부의 팀장을 거쳐, 일본 교세라의 북미향 휴대전화기 개발에 참여하였다. 지금은 일본의 주요 이동통신사에서 업무 프로세스 개선을 위한 IT 컨설팅 및 데이터 분석 관련 도구를 개발하고 있다. 또한, 『알파고를 분석하며 배우는 인공지능』, 『빅데이터를 지탱하는 기술』, 『유니티 5로 만드는 3D/2D 스마트폰 게임 개발』, 『자바 마스터 북』, 『자바스크립트 마스터 북』 등을 비롯해 10여 종의 책을 번역하였다.
목차
CHAPTER 1 빅데이터의 기초 지식
1-1 [배경] 빅데이터의 정착
분산 시스템에 의한 데이터 처리의 고속화 ― 빅데이터의 취급하기 어려운 점을 극복한 두 가지 대표 기술
분산 시스템의 비즈니스 이용 개척 ― 데이터 웨어하우스와의 공존
직접 할 수 있는 데이터 분석 폭 확대 ― 클라우드 서비스와 데이터 디스커버리로 가속하는 빅데이터의 활용
1-2 빅데이터 시대의 데이터 분석 기반
[재입문] 빅데이터의 기술 ― 분산 시스템을 활용해서 데이터를 가공해 나가는 구조
데이터 웨어하우스와 데이터 마트 ― 데이터 파이프라인 기본형
데이터 레이크 ― 데이터를 그대로 축적
데이터 분석 기반을 단계적으로 발전시키기 ― 팀과 역할 분담, 스몰 스타트와 확장
데이터를 수집하는 목적 ― ‘검색’, ‘가공’, ‘시각화’의 세 가지 예
확증적 데이터 분석과 탐색적 데이터 분석
1-3 [속성 학습] 스크립트 언어에 의한 특별 분석과 데이터 프레임
데이터 처리와 스크립트 언어 ― 인기 언어인 파이썬과 데이터 프레임
데이터 프레임, 기초 중의 기초 ― ‘배열 안의 배열’로부터 작성
웹 서버의 액세스 로그의 예 ― pandas의 데이터 프레임으로 간단히 처리
시계열 데이터를 대화식으로 집계하기 ― 데이터 프레임을 그대로 사용한 데이터 집계
SQL의 결과를 데이터 프레임으로 활용하기
1-4 BI 도구와 모니터링
스프레드시트에 의한 모니터링 ― 프로젝트의 현재 상황 파악하기
데이터에 근거한 의사 결정 ― KPI 모니터링
변화를 파악하고 세부 사항을 이해하기 ― BI 도구의 활용
수작업과 자동화해야 할 것의 경계를 판별하기
1-5 요약
CHAPTER 2 빅데이터의 탐색
2-1 크로스 집계의 기본
트랜잭션 테이블, 크로스 테이블, 피벗 테이블 ― ‘크로스 집계’의 개념
룩업 테이블 ― 테이블을 결합하여 속성 늘리기
SQL에 의한 테이블의 집계 ― 대량 데이터의 크로스 집계 사전 준비
데이터 집계 ? 데이터 마트 ? 시각화 ― 시스템 구성은 데이터 마트의 크기에 따라 결정된다
2-2 열 지향 스토리지에 의한 고속화
데이터베이스의 지연을 줄이기
열 지향 데이터베이스 접근 ― 칼럼을 압축하여 디스크 I/O를 줄이기
MPP 데이터베이스의 접근 방식 ― 병렬화에 의해 멀티 코어 활용하기
2-3 애드 혹 분석과 시각화 도구
Jupyter Notebook에 의한 애드 혹 분석 ― 노트북에 분석 과정 기록하기
대시보드 도구 ― 정기적으로 집계 결과를 시각화하기
BI 도구 ― 대화적인 대시보드
2-4 데이터 마트의 기본 구조
시각화에 적합한 데이터 마트 만들기 ― OLAP
테이블을 비정규화하기
다차원 모델 시각화에 대비하여 테이블을 추상화하기
2-5 요약
CHAPTER 3 빅데이터의 분산 처리
3-1 대규모 분산 처리의 프레임워크
구조화 데이터와 비구조화 데이터
Hadoop ― 분산 데이터 처리의 공통 플랫폼
Spark ― 인 메모리 형의 고속 데이터 처리
3-2 쿼리 엔진
데이터 마트 구축의 파이프라인
Hive에 의한 구조화 데이터 작성
대화형 쿼리 엔진 Presto의 구조 ― Presto로 구조화 데이터 집계하기
데이터 분석의 프레임워크 선택하기 ― MPP 데이터베이스, Hive, Presto, Spark
3-3 데이터 마트의 구축
팩트 테이블 ― 시계열 데이터 축적하기
집계 테이블 ― 레코드 수 줄이기
스냅샷 테이블 ― 마스터의 상태를 기록하기
이력 테이블 ― 마스터 변화 기록하기
[마지막 단계] 디멘전을 추가하여 비정규화 테이블 완성시키기
3-4 요약
CHAPTER 4 빅데이터의 축적
4-1 벌크 형과 스트리밍 형의 데이터 수집
객체 스토리지와 데이터 수집 ― 분산 스토리지에 데이터 읽어들이기
벌크 형의 데이터 전송 ― ETL 서버의 설치 필요성
스트리밍 형의 데이터 전송 ― 계속해서 전송되어 오는 작은 데이터를 취급하기 위한 데이터 전송
4-2 [성능×신뢰성] 메시지 배송의 트레이드 오프
메시지 브로커 ― 스토리지의 성능 문제를 해결하는 중간층의 설치
메시지 배송을 확실하게 실시하는 것은 어렵다 ― 신뢰성 문제와 세 가지 설계 방식
중복 제거는 높은 비용의 오퍼레이션
데이터 수집의 파이프라인 ― 장기적인 데이터 분석에 적합한 스토리지
4-3 시계열 데이터의 최적화
프로세스 시간와 이벤트 시간 ― 데이터 분석의 대상은 주로 이벤트 시간
프로세스 시간에 의한 분할과 문제점 ― 최대한 피하고 싶은 풀 스캔
시계열 인덱스 ― 이벤트 시간에 의한 집계의 효율화 ①
조건절 푸쉬다운 ― 이벤트 시간에 의한 집계의 효율화 ②
이벤트 시간에 의한 분할 ― 테이블 파티셔닝, 시계열 테이블
4-4 비구조화 데이터의 분산 스토리지
[기본 전략] NoSQL 데이터베이스에 의한 데이터 활용
분산 KVS ― 디스크로의 쓰기 성능을 높이기
와이드 칼럼 스토어 ― 구조화 데이터를 분석해서 저장하기
도큐먼트 스토어 ― 스키마리스 데이터 관리하기
검색 엔진 ― 키워드 검색으로 데이터 검색
4-5 정리
CHAPTER 5 빅데이터의 파이프라인
5-1 워크플로 관리
[기초 지식] 워크플로 관리 ― 데이터의 흐름을 일원 관리하기
오류로부터의 복구 방법 먼저 생각하기
멱등한 조작으로 태스크를 기술하기 ― 동일 태스크를 여러 번 실행해도 동일한 결과가 된다
워크플로 전체를 멱등으로 하기
태스크 큐 ― 자원의 소비량 컨트롤하기
5-2 배치 형의 데이터 플로우
MapReduce의 시대는 끝났다 ― 데이터 플로우와 워크플로
MapReduce를 대신할 새로운 프레임워크 ― DAG에 의한 내부 표현
데이터 플로우와 워크플로를 조합하기
데이터 플로우와 SQL을 나누어 사용하기 ― 데이터 웨어하우스의 파이프라인과 데이터 마트의 파이프라인
5-3 스트리밍 형의 데이터 플로우
배치 처리와 스트림 처리로 경로 나누기
배치 처리와 스트림 처리 통합하기
스트림 처리의 결과를 배치 처리로 치환하기 ― 스트림 처리의 두 가지 문제에 대한 대처
아웃 오브 오더의 데이터 처리
5-4 정리
CHAPTER 6 빅데이터 분석 기반의 구축
6-1 스키마리스 데이터의 애드 혹 분석
스키마리스 데이터 수집하기
대화식 실행 환경의 준비
Spark에 의한 분산 환경 ― 데이터양이 늘어도 대응 가능하게 하기
데이터를 집계해서 데이터 마트 구축하기
BI 도구로 데이터 시각화하기
6-2 Hadoop에 의한 데이터 파이프라인
일일 배치 처리를 태스크화하기
[태스크 1] Embulk에 의한 데이터 추출
[태스크 2] Hive에 의한 데이터 구조화
[태스크 3] Presto에 의한 데이터 집계
6-3 워크플로 관리 도구에 의한 자동화
Airflow ― 스크립트 형의 워크플로 관리
워크플로를 터미널로부터 실행하기
스케줄러를 기동하여 DAG를 정기 실행하기
태스크가 소비하는 자원 제어하기
Hadoop의 데이터 파이프라인을 실행하기
6-4 클라우드 서비스에 의한 데이터 파이프라인
데이터 분석과 클라우드 서비스의 관계
아마존 웹 서비스
구글 클라우드 플랫폼
트레주어 데이터
6-5 정리