- 빅데이터의 수집 기술은 조직의 내외부에 있는 다양한 시스템으로부터 <로우데이터(raw data)를 효과적으로 수집하는 기술> 이다.
- 빅데이터 수집에는 기존의 수집 시스템보다 더 크고 다양한 형식의 데이터를 빠르게 처리해야 하는 기능이 필요한데, 그래서 확장이 가능하고 분산 처리가 가능한 형태로 구성해야 한다.
- 빅데이터 수집기는 로우(raw) 시스템의 다양한 인터페이스 유형(DB, 파일, API, 메시지 등) 과 연결되어 정형, 반정형, 비정형 데이터를 대용량으로 수집한다.
- 특히 외부 데이터(SNS, 블로그, 포털 등)를 수집할 때는 크롤링 등 비정형 처리를 위한 기술이 선택적으로 적용된다.
* crawling이란?
웹 페이지를 그대로 가져와서 거기서 데이터를 추출해 내는 행위
- 수집 처리에는 대용량 파일 수집과 실시간 스트림 수집으로 나뉜다.
- 실시간 수집의 경우 CEP(Complex Event Processing: 시간에 따라 변화하는 이벤트를 빠르게 분석할 수 있는 기술), ESP(Event Stream Processing: 다양하고 복잡한 이벤트를 분석할 수 있는 기술) 기술이 적용되어 수집 중인 데이터로 부터 이벤트를 감지해 빠른 후속 처리를 수행한다.
- 수집된 데이터는 필요시 정제, 변환, 필터링 등의 작업을 추가로 진행해 데이터 품질을 향상시킨 후 빅데이터 저장소(데이터 웨어하우스)에 적재한다.
- 아파치 플럼(flume)과 스쿱(sqoop)이 대표적임
■ 데이터 레이크(Data Lake : 정보의 강)
1) 기존의 (빅)데이터 처리 개념 : 데이터 웨어하우스
- 기존의 데이터웨어하우스는 RDBMS처럼 사전에 정의된 스키마(테이블)로 데이터를 변환하는 과정이 반드시 필요하다.
- 이 과정을 ETL(Extract : 추출 / Transform : 변환 / Load : 적재)라고 한다.
- 이 ETL 개발단계를 거쳐 최종 애플리케이션에서 데이터를 활용하기까지 많은 시간과 노력, 비용이 소모되었으며, 특히 데이터 사용방법을 미리 결정해야 했다.
- 만약 개발 초기단계에서 불필요하다고 판단했던 데이터는 ETL 과정에서 처리되지 못하고 버려지는데, 나중에 그 데이터가 필요한 경우가 생기면 큰일이 나는 경우가 빈번하다.
(만약 유저의 채팅하는 시간대를 저장 안했는데, 나중에 이 유저 활동 시간을 분석할 일이 생긴다면?)
2) Data Lake의 개념
- 데이터 레이크와 데이터 웨어하우스의 비교
Data Lake | 데이터 웨어하우스 |
데이터 웨어하우스를 보완(대체제는 아님) | Data Lake는 데이터웨어하우스의 소스가 될 수 있음 |
읽을 때 스키마를 처리(Schema on read) | 쓸 때 미리 정의된 스키마로(Schema on write) |
정형, 반정형, 비정형 데이터 전부 | 정형 데이터만 |
새로운 데이터/컨텐츠의 빠른 수집 | ETL 과정이 필요하기 때문에 시간이 필요 |
데이터 과학+예측 고급 분석 | BI에만 사용(고급 분석 불가능) |
저수준(low level) 데이터 사용 가능 | 요약에서 집계된 세부적인 데이터만 사용가능 |
서비스 수준 협의가 느슨함 | 서비스 수준 협의가 매우 디테일해야 함 |
툴 선택에 유연함(고급 분석을 위한 오픈 소스툴) | 툴의 선택이 유연하지 못함(SQL만 사용가능) |
* BI(Business Intelligence)란?
기업에서 데이터를 수집, 정리, 분석하고 활용하여 효율적인 의사결정을 할 수 있는 방법에 대해 연구하는 학문
- 데이터 레이크는 모든 데이터를 사용할 수 있다(우선 다~ 저장하는 거니까.)
- 향후 데이터를 어떻게 사용할지 사전에 추측할 필요가 없다.
- 모든 데이터를 공유할 수 있다.
- 모든 데이터 접근 방식이 가능하다.
- 처리엔진(맵리듀스, 엘라스틱 서치, 스파크)과 애플리케이션(하이브, 스파크, SQL, 피그 등등)을 이용해 데이터를 탐색하고 처리할 수 있다.
'data engineering' 카테고리의 다른 글
Flume 개요 (0) | 2018.09.11 |
---|---|
하둡 운영 (2) | 2018.09.04 |
Hadoop의 개요 #4 - MapReduce와 YARN (0) | 2018.07.25 |
Hadoop의 개요 #4 - 네임노드 HA(High Availability:고가용성) (0) | 2018.07.23 |
Hadoop의 개요 #3 - HDFS 아키텍처 (0) | 2018.07.23 |