Chapter 1. 빅데이터의 기초 지식
빅데이터의 취급이 어려운 이유
- 데이터의 분석 방법을 모른다.
- 데이터 처리에 수고와 시간이 걸린다. → 책의 목적
데이터 처리를 위한 기술
- Hadoop : 데이터 처리 기술
- 구글의 MapReduce를 참고하여 제작
- 초기에는 JAVA로만 가능했지만 SQL이 가능한 Hive가 개발됨
- NoSQL : RDB의 제약을 제거한 데이터베이스
- 키 밸류, 도큐멘트, 와이드 컬럼 등 다양한 종류가 존재
NoSQL 데이터베이스에 기록하고 Hadoop으로 분산 처리한다
라는 조합 완성
데이터 웨어하우스와 Hadoop+NoSQL의 공존
- 기존에도 사내에 DW는 존재했다.
- 하지만, 분산 시스템의 발전에 따라 Hadoop+Hive를 도입하는 곳이 증가
- 기존의 DW에도 우수한 점은 존재했지만, 하드웨어에 의존했기 때문에 확장성이 떨어졌다.
- 따라서,
데이터의 처리 = Hadoop
, 데이터 저장 = DW
등의 사용을 구분하기 시작.
그 외에도 클라우드 서비스, BI, Spark 등 다양한 빅데이터 관련 기술들이 등장하여 빅데이터를 분석하는 업무의 제약이 제거
빅데이터 기술
= 분산 시스템을 활용하면서 데이터를 순차적으로 가공해 나가는 일련의 구조
데이터 분석
- 데이터 엔지니어가 시스템의 구축 및 운용, 자동화를 담당하고, 그렇게 축적된 데이터에서 가치 있는 정보를 추출하는 건 데이터 분석가
- 데이터 분석가는 ad hoc 분석할 때는
데이터 레이크에서 SQL로 추출 → 대시보드로 보고서 작성
- 그리고 대시보드등의 BI를 사용할 경우 집계 속도가 중요하기 때문에 DM이 필수적
- 이를 위해, 워크플로 관리 도구 또한 필수적
- 데이터를 수집하는 목적
- 데이터의 검색(수동)
- 데이터의 가공(자동화)
- 데이터의 시각화(수동, 자동화) → 책에서는 이것을 우선 과제로
- 이것 중 어떤 것을 우선하는지에 따라 시스템 구성이 달라진다.
- 데이터 분석의 방법
- 확증적 데이터 분석 : 가설 세우고 맞는지 검증하는 방법. 통계 분석이나 머신러닝과 관련
- 탐색적 데이터 분석 : 데이터를 보면서 그 의미를 읽어내려고 하는 방법. → 책은 이것만 설명
데이터 분석을 위해 사용되는 Tool
- 다양한 원시 데이터를 처리하기 위해 가장 인기많은 R, Python
- DataFrame
- pandas
- SQL
BI 도구와 모니터링
- 스프레드시트로 현상을 모니터링 할 수 있음
- 현황 파악을 위해 KPI가 자주 사용됨
- 현황의 자세한 배경을 알기 위해서는 BI의 도입이 필요
- 제대로 된 BI의 이용을 위해서는
시각화하기 쉬운 데이터
를 만들어야 한다.
- 그러기 위해서는 수동으로 데이터베이스에서 데이터를 가져와 손수 스프레드시트를 만들수도 있고
- DM을 만들어 자동화할 수도 있다.