2 minute read

[##Image|kage@x6nyv/btrJAH4szIK/Uaput4nKDpsKCqzSkuVGW1/img.jpg|CDM|1.3|{“originWidth”:914,”originHeight”:1200,”style”:”alignCenter”,”width”:517,”height”:679}##] ​

책의 주제는 ‘자동화된 데이터 처리’

​ 데이터를 어떻게 처리하고 시스템화하는가? ​ 데이터마이닝이란 통계분석과 머신러닝 등의 알고리즘을 사용하여 데이터로부터 가치있는 정보를 발견하는 것 -> 책에서 다루지 않음 ​ RDB(관계형 데이터베이스) ​

Hadoop : 다수의 컴퓨터에서 대량의 데이터 처리

​ 구글에서 개발된 맵리듀스를 참고하여 개발되기 시작했으며 대용량의 스토리지와 순차적으로 처리할 수 있는 구조를 위해 수 천대의 컴퓨터가 이용돼야 한다. ​ 맵리듀스를 이해하려면 자바언어로 프로그래밍해야하는데, 이것을 SQL과 같은 쿼리언어로 바꿔주는 인터프리터 역할을 하는 것이 ‘Hive’이다. 이로인해 많은 사람들이 분산시스템의 혜택을 받을 수 있게 됐다.
모여진 데이터를 나중에 집계하는 것이 목적

NoSQL: 전통적인 RDB의 제약을 제거하는 것을 목표로한 데이터베이스의 총칭

​ 종류 ​ - 키 밸류 스토어 : 다수의 키값과 관련지어 저장하는 ​ - 도큐멘트 스토어 : JSON과 같은 복잡한 데이터 구조를 저장 ​ - 와이드칼럼 스토어 : 여러 키를 사용하여 높은 확장성 ​ RDB와의 차이: 고속의 읽기쓰기 가능 +분산처리에 뛰어나다 ​ 애플리케이션에서 온라인으로 접속하는 데이터베이스 ​ 하둡은 데이터 웨어하우스와의 공존하며, 업무시스템 -> RDB -> Hadoop-> Data Warehouse이 이런 순서로 배치돼어 데이터웨어하우스에 걸리는 부하를 줄이는 역할을 하고있다. ​

데이터 파이프라인의 시스템 구성

​ 데이터 수집 ​ 벌크형 : 이미 어딘가 존재하는 데이터를 정리해 추출하는 방법 ​ 스트리밍형 : 차례차례 생성되는 데이터를 끊임없이 보내는 방법 . ex) 모바일앱과 임베디드 장비 ​

스트림 처리와 배치처리

​ 스트림 처리 : 모바일 앱등의 증가에 따라 스트리밍형 방법을 많이 사용. 실시간으로 데이터 처리 ​ 장기적인 데이터 분석에는 적합하지 않음. ​ 배치처리: 어느정도 정리된 데이터를 효율적으로 관리하는 것 장기적 데이터 분석을 위해서는 분산시스템을 활용해야함. ​

분산스토리지란 객체스토리지, NoSQL데이터 베이스라고 불리며,

​ 여러 컴퓨터와 여러 디스크로 부터 구성된 시스템을 의미한다. Amazon S3등이 유명하다. ​

분산 데이터 처리과정은 쿼리엔진을 도입하는 것과, 외부의 데이터 웨어하우스 제품을 이용하는 것이 있다.

​ 외부의 데이터 웨어하우스 제품을 이용하는 경우 분산 스토리지에서 추출한 데이터를 데이터 웨어하우스에 적합한 형식으로 변환해야하는데 이것을 ETL (extract -transform -load)라고 한다. 추출하고, 가공하고, 데이터웨어하우스에 로드하는 과정이다. ​

데이터 파이프라인의 기본형

​ 업무 시스템을 저장하는 파일 서버는 데이터 소스, 데이터 소스에 저장된 원시데이터를 데이터 웨어하우스에 저장하는 과정을 ETL (Extract Transform Load)이라고 한다. 아무때나 데이터 웨어하우스에 접근하는 경우는 데이터 웨어하우스 시스템에 과부하가 생길 수 있기 때문에 데이터 마트를 이용해서 필요한 데이터를 꺼내서 추출해야한다. 데이터마트는 BI 도구와 조합시켜 데이터를 시각화 하는데도 유용하다. ​

데이터 레이크

​ 데이터를 있는 그대로 축적시킨 것이다. 보통 CSV와 JSON등의 범용적인 형식이 사용된다. ​ 데이터 레이크는 단순 스토리지이기 떄문에, 이것을 가공하기 위해선 MapReduce와 같은 분산 데이터 처리기술을 거쳐 이것을 데이터 마트로 저장된다. 후에 데이터 마트에서 데이터를 추출한 후에는 데이터 웨어하우스의 경우처럼 데이터 분석을 진행할 수 있다. ​ 데이터 엔지니어는 시스템의 구축 및 운용 자동화를 담당한다.

애드혹 분석이란 일회성 데이터 분석의 과정이다.

​ 보통 이 과정에서는 체계가 없기 때문에 데이터 마트를 구축하지 않고, 데이터 레이크에서 데이터 웨어하우스로 바로 연결하는 과정이 많다. 쿼리를 실행해 결과를 즉시 확인할 수 있도록 하는 대화형 분석 도구를선호한다. ​

데이터를 수집하는 목적은 검색,가공 그리고 시각화에 따라 목적이 나뉜다.

​ 고객에 대한 데이터를 검색하는 경우, 언제 무엇에 관한 데이터가 필요할지 예상이 불가능하기 때문에, 모든 데이터를 모아놓아야한다. ​ 검색에 많은 시간이 걸려선 안되기 때문에, 실시간 데이터처리와 검색엔진을 통해 키워드를 찾아내야한다. ​ 가공하는 경우는 , 업무 시스템에 있어서 데이터 처리의 결과를 이용하고 싶을 때, 예를들어 고객 분석을 통해 추천 상품을 제안하는 사례 등이 있다. 이 경우 테스트를 거쳐 워크플로를 관리하여 데이터 가공에 자동화가 꼭 필요하다. ​ 시각화를 목적으로 데이터를 수집할 때는 기업의 의사결정에 도움이 되도록 할 때이다. 시각화를 할때는 데이터 마트의 역할이 중요하다 . ​

확증적 데이터 분석 (CDA) 과 탐색적 데이터 분석 (EDA)

​ CDA는 통계학적 모델링을 통한 분석 , EDA는 보통 시각화와 사람의 직관을 통한 분석이 주된 과정이다. ​ 대화형 데이터 처리 ​ 스프레드 시트 (BI 도구)를 활용한 장기적인 데이터 변화를 모니터링하는 방식 ​ 빅데이터의 취급이 어려운 이유 ​ 1. 분석 방법을 몰라서, 2. 처리하는데 수고와 시간이 걸려서

Updated:

Leave a comment