본문 바로가기
빅데이터기술

[데이터엔지니어링] 4. 빅데이터 수집

by CodingKwon 2021. 7. 27.

빅데이터 수집 개요

빅데이터 수집

 

빅데이터 수집 절차

 

"정보 없이 데이터만 가질 수 있다. 하지만 데이터 없이 정보를 가질 수는 없다." - 대니얼 키즈 모란

 

 

빅데이터 수집에 활용할 기술

 

1. 플럼 (Flume)

공식홈페이지 http://flume.apache.org
주요 구성 요소 Source 수집한 데이터를 Channel로 전달
Sink 수집한 데이터를 Channel로 전달받아 최종 목적지에 저장하기 위한 기능
Channel Source와 Sink를 연결하며, 데이터를 버퍼링하는 컴포넌트로 메모리, 파일, 데이터베이스를 채널의 저장소로 활용
Interceptor Source와 Channel 사이에서 데이터 필터링 및 가공하는 컴포넌트
Agent Source → (Interceptor) → Channel → Sink 컴포넌트 순으로 구성된 작업 단위로 독립된 인스턴스로 생성

 

플럼 아키텍처의 4가지 방식

플럼 아키텍처 유형 1

1) 가장 단순한 플럼 에이전트 구성으로 특별한 처리 없이 단순 수집/적재

 

플럼 아키텍처 유형 2

2) Interceptor를 추가해 데이터를 가공하고 데이터의 특성에 따라 Channel에서 다수의 Sink 컴포넌트로 라우팅이 필요할 때 구성

 

플럼 아키텍처 유형 3

3) 한 개의 플럼 에이전트 안에서 두 개 이상의 Source-Channel-Sink 컴포넌트 구성

 

플럼 아키텍처 유형 4

4) 수집해야 할 원천 시스템은 한 곳이지만 높은 성능과 안정성이 필요할 때 주로 사용되는 아키텍처

플럼 에이전트 5에서 집계(aggregation)하고 플럼 에이전트 6으로 이중화하여 성능과 안정성을 보장하는 구성

 

 

2. 카프카 (Kafka)

MOM(Message Oriented Middleware) 소프트웨어 중 하나로서 대규모로 발생하는 메시지성 데이터를 비동기 방식으로 중계하는 역할

 

공식 홈페이지 http://kafka.apache.org
주요 구성 요소 Broker 카프카의 서비스 인스턴스로서, 다수의 Broker를 클러스터로 구성하고 Topic이 생성되는 물리적 서버
Topic Broker에서 데이터의 발행/소비 처리를 위한 저장소
Provider Broker의 특정 Topic에 데이터를 전송(발행)하는 역할로서 애플리케이션에서 카프카 라이브러리를 이용해 구현
Consumer Broker의 특정 Topic에서 데이터를 수신(소비)하는 역할로서 애플리케이션에서 카프카 라이브러리를 이용해 구현

 

카프카 아키텍처 유형 3가지

 

카프카 : 싱글 브로커/ 싱글 노드

1) 카프카 서버 1개, Broker 1개 : 업무 도메인이 단순할 때 이용

 

카프카 : 멀티 브로커/싱글 노드

2) 카프카 서버 1개, Broker 2개 : 메시지 처리를 분리 관리해야 할 때 이용

 

카프카 : 멀티 브로커/멀티 노드

3) 카프카 서버 2개, 멀티 브로커 : 대규모 발행/소비 데이터 처리에 적합, 물리적으로 나눠진 브로커 간의 데이터 복제가 가능해 안정성이 높음, 업무 도메인별 메시지 그룹을 분류할 수 있어서 복잡한 메시지 송/수신에 활용에 적합

 

 

카프카를 활용하는 목적은 플럼이 아주 빠르게 발생하는 데이터를 실시간으로 수집하게 되면 이를 최종 목적지에 전달하기 전 중간에서 안정적인 버퍼링 처리를 위함입니다.

 

댓글