머리말

- 이 책의 주제: '자동화된 데이터 처리'

    - 데이터 처리를 어떻게 시스템화 하는가

    - 소프트웨어, 데이터베이스, 프로그래밍 언어, 워크플로 관리, 스트림 처리 등 데이터 처리 자동화 기술

- 주요 독자: 데이터 취급 업무 종사자, 데이터 처리 시스템 개발자

- 다루지 않는 내용: 비즈니스 인텔리전스, 데이터 마이닝

- 구성

    1. 빅데이터 기초 지식: 역사적 배경 및 기본 용어 + 스몰 데이터 기술

    2. 빅데이터의 검색: 대화적인 집계와 시각화 + 데이터 마트

    3. 빅데이터의 분산 처리: Hadoop, Spark 등의 '분산 처리 프레임워크'

    4. 빅데이터의 축적: '데이터를 수집해서 보존하는' 절차 + 분산 스토리지, 데이터 수집(data ingestion)

    5. 빅데이터의 파이프라인: '데이터 처리 자동화하기' ('배치 처리', '스트림 처리') + 워크플로 관리

    6. 빅데이터 분석 기반의 구축: 응용 + Spark, Airflow, 클라우드 서비스

 

 

1-1. [배경] 빅데이터의 정착

분산 시스템에 의한 데이터 처리의 고속화

빅데이터 기술의 요구

- Hadoop: 다수의 컴퓨터에서 대량의 데이터 처리하기 위한 시스템

- NoSQL 데이터베이스: 빈번한 읽기/쓰기 및 분산 처리가 강점

- Hadoop과 NoSQL 데이터베이스의 조합: NoSQL 데이터베이스에 기록하고 Hadoop으로 분산 처리

 

분산 시스템의 비즈니스 이용 개척

- 가속도적으로 늘어나는 데이터의 처리는 Hadoop에 맡기고, 비교적 작은 데이터, 또는 중요한 데이터만을 데이터 웨어하우스에 넣는 식으로 사용

 

직접 할 수 있는 데이터 분석 폭 확대

- 클라우드를 통해 분산 처리에 필요한 자원을 확보할 수 있게 됨

- *스몰 데이터: 한 대의 노트북에서 큰 부담 없이 처리할 수 있는 만큼의 데이터 (수백만 ~ 수천만 건, GB 단위 데이터)

데이터 디스커버리의 기초지식

데이터 디스커버리: '셀프서비스용 BI 도구'

- BI 도구: 예전부터 데이터 웨어하우스와 조합되어 사용됨 (대기업의 IT 부서에 의해 도입)

-> 셀프서비스용 BI 도구는 이것을 개인도 도입할 수 있을 정도로 단순화 한 것

 

1-2. 빅데이터 시대의 데이터 분석 기반

빅데이터 기술이 기존 데이터 웨어하우스와 다른 점: 다수의 분산 시스템을 조합하여 확장성이 뛰어난 데이터 처리 구조를 만든다는 점

 

[재입문] 빅데이터 기술

데이터 파이프라인(data pipeline): 차례대로 전달해나가는 데이터로 구성된 시스템

- 어디에서 데이터를 수집하여 무엇을 실현하고 싶은지에 따라 변화

 

데이터 수집

- 데이터 전송(data transfer)의 두 가지 방법

    - 벌크형 (bulk)

    - 스트리밍형 (streaming)

 

스트림 처리와 배치 처리

- 실시간 데이터 처리와 장기적인 데이터 분석 결과를 하나의 시스템으로 실현하는 것은 쉽지 않음

 

분산 스토리지: 여러 컴퓨터와 디스크로 구성된 스토리지 시스템

- 객체 스토리지 (ex. Amazon S3)

- NoSQL 데이터베이스

 

분산 데이터 처리: 분산 스토리지 에 저장된 데이터를 처리하는 데에 필요한 프레임워크

- 빅데이터를 SQL로 집계하는 두 가지 방법

1. 쿼리 엔진 도입: ex. Hive, 대화형 쿼리 엔진

2. 데이터 웨어하우스 제품 이용: 분산 스토리지에서 추출한 데이터를 데이터 웨어하우스에 적합한 형식으로 변환해야 함

-> ETL

 

워크플로 관리

- 오류 발생 처리와 재실행 기능이 반드시 필요

데이터 웨어하우스와 데이터 마트

데이터 웨어하우스: RDB와 달리 대량의 데이터를 장기 보존하는 것에 최적화

- data source: RDB, 로그 파일 등

- ETL Process: data source에 보존된 raw data를 추출하고 필요에 따라 가공후 데이터 웨어하우스에 저장

 

데이터 마트: 데이터 웨어하우스에 시스템 부하를 줄이기 위해, 데이터 분석 등의 목적으로 필요한 데이터만 추출 후 구축

- BI 도구와 조합해 데이터를 시각화하는 데에도 사용

 

데이터 레이크

- 빅데이터 시대가 되면 ETL 프로세스 자체가 복잡해짐 (모든 데이터가 데이터 웨어하우스를 가정해 만들어지지는 않음)

- 우선 데이터가 있고, 나중에 테이블을 설계하는 것이 빅데이터

- 데이터 레이크: 미가공의 원시 데이터를 그대로 저장

데이터 레이크와 데이터 마트: 필요한 데이터는 데이터 마트에 정리

 

데이터 분석 기반을 단계적으로 발전시키기

가능한 작은 시스템에서 시작하여 나중에 단계적으로 확장해 나가는 것이 좋다

애드 혹 분석 및 대시보드 도구

애드 혹 분석: 수작업으로 데이터 추출 후 분석 - 데이터 마트를 만들지 않은 채 데이터 레이크와 데이터 웨어하우스에 직접 연결

- 사용자는 작업하기 쉬운 환경을 선호하기 때문에 대화형 분석 도구를 사용

- 대시보드 도구: 일부 대시보드 도구는 데이터 마트가 없어도 동작, 설정한 스케줄에 따라 데이터 레이크와 데이터 웨어하우스에 접속해 쿼리 실행하고 그래프 생성

데이터 마트와 워크플로 관리

데이터 분석이 복잡해지고 시각화에 BI 도구가 활용됨에 따라, 데이터 마트가 필수가 된다

- 데이터 마트 구축은 배치 처리로 자동화되는 경우가 많기 때문에 실행 관리를 위해 워크플로 관리 도구를 사용한다

- 데이터 처리를 자동화해서 장기적으로 운영해 나가기 위해서는 안정된 워크플로 관리가 필수적이다

 

- 데이터 파이프라인의 큰 흐름은 변하지 않는다

    1. 저장할 수 있는 데이터 용량에 제한이 없어야 함

    2. 데이터를 효율적으로 추출할 수단이 있어야 함

데이터를 수집하는 목적

데이터 검색

- 시스템 장애 원인 파악, 고객 문의 대응을 위한 로그 확인 등

- 시스템 로그, 고객 행동 로그 등 발생하는 모든 데이터를 ㅜ취득해 놓는다

- 신속한 대응을 위해  실시간 데이터 처리 및 검색 엔진 등이 필요할 수도

데이터의 가공

- 업무 시스템의 일부로 데이터 처리 결과를 이용하고 싶은 경우

- 목적이 명확하기 때문에, 필요한 데이터를 계획적으로 모아 데이터 파이프라인을 설계한다

- 꼼꼼한 테스트 반복적으로 실행한다

- 데이터 분석이라기보다는 시스템 개발 영역에 해당

데이터 시각화

- 앞으로의 상황을 예측해 의사 결정에 도움

 

- 데이터 분석 시스템은 원칙적으로 정보계 시스템

확증적 데이터 분석과 탐색적 데이터 분석

1-3. [속성 학습] 스크립트 언어에 의한 특별 분석과 데이터 프레임

- 스몰 데이터의 기술 잘 사용하기: 스몰 데이터에는 스몰 데이터 기술을 사용하는 것이 효율적이므로 무리하게 빅데이터 기술을 사용할 필요가 없다

1-4. BI 도구와 모니터링

스프레드시트에 의한 모니터링

데이터에 근거한 의사 결정

월간 보고서

스프레드 시트 장점: 수작업으로 숫자 입력하는 정도는 유연성 있음 -> 섣불리 시스템화 하면 나중에 손보는게 어려워짐

단점 1. 보고서에 입력하는 숫자를 어디선가 계산해야 함 - 이를 위해 준비된 것이 데이터 웨어하우스, 배치 처리, 워크플로 관리

단점 2. 상세한 내역을 조사하기 어려움 - 별도 BI 도구가 필요

 

 

변화를 파악하고 세부 사항 이해하기 - BI 도구의 활용

- BI 도구는 고속의 집계 엔진을 내장하고 있어 수백만 레코드 정도의 스몰 데이터라면 순식간에 그래프를 그려줌

모니터링의 기본 전략 및 BI 도구

- BI 도구는 자신이 직접 데이터를 살펴보기 위해서 필요

 

수작업과 자동화해야할 것의 경계 판별하기

- BI 도구를 활용하려면 베이스가 되는 데이터가 준비되어야 한다 (데이터 설계의 필요성)

 

수작업으로 할 수 있는 것은 수작업으로 해두기

- BI 도구를 위한 새로운 테이블을 설계부터 시작하기보다는 한 달에 한 번씩 수동으로 하는 것이 더 쉬울 것

 

 

자동화하려는 경우에는 데이터 마트를 만든다

가장 범용성이 높은 방법: 데이터 마트를 준비하고, 그것을 BI 도구로부터 열기

 

 

+ Recent posts