빅데이터 분산 스트리밍 플랫폼, Apache Kafka
기고자 김우태
연락처 matica5127@naver.com
소속 아이리포기술사회
경력사항 컴퓨터시스템응용기술사, 수석 감리원
ATSC 3.0기반 지상파 UHD방송 시스템 및 콘텐츠 보호시스템 개발/구축
지상파DMB HD-DMB/케이블/IPTV 방송사 CAS솔루션 설계/개발
케이블 방송사 VOD 시스템 개발/구축
Technical Architect
Software Architect
최근 2년 동안 생성된 데이터가 전 세계 데이터의 80%를 차지한다고 합니다. 급속하게 증가하고 있는 이 많은 데이터 중 80%가 빅데이터 분석이 필요한 비정형 데이터(SNS, IOT, 이미지, 음성, 비디오)라고 예상되고 있습니다. 다른 IT 신기술에 비해 빅데이터는 ‘3V’라는 표현으로 매우 명확하게 정의하고 있습니다. 빅데이터는 데이터의 크기(Volume), 데이터 입출력 속도(Velocity), 데이터 종류의 다양성(Variety)으로 규정되며, 이제는 진실성(Veracity), 시각화(Visualization), 가치(Value)까지 개념이 확장될 만큼 많은 의미를 담고 있습니다.
우리는 빅데이터로 무엇을 하고자 합니까? 기업 또는 산업분야 마다 그 방향과 적용하는 기술에 차이가 있겠지만 결국 기존 문제점을 개선해 비용을 절감하거나, 새로운 사업모델을 만들어 수익을 창출하고자 하는 것으로 귀결될 수 있을 겁니다. 이번 기고에서는 이 빅데이터의 구현 기술에 대해서 전반적으로 알아 보고, 그 중에서 적재 단계에 많이 활용하는 Kafka에 대해서 이해하는 시간을 가지고자 합니다.
1. 빅데이터 구현 기술
1.1 빅데이터 구축 단계별 역할
빅데이터 구축 단계는 역할별로 수집, 적재, 처리 및 탐색, 분석 및 응용으로 크게 4단계로 나눌 수 있습니다.
1.2 수집 및 적재 구현 기술
* 수집 구현 기술
빅데이터 수집 기술은 구축하고자 하는 시스템의 내외부에 있는 다양한 원천 데이터를 효과적으로 수집하기 위한 기술이며, 기존의 수집 시스템(EAI, ETL, ESB 등)보다 더 크고 다양한 형식의 데이터를 빠르게 처리해야 하는 능력이 필요하며, 이를 위해 분산 처리가 가능한 구조를 가집니다. 그리고 원천 데이터의 다양한 인터페이스와 연동하여 정형 또는 반/비정형 데이터를 수집합니다. 수집 처리에는 배치성 데이터와 실시간 스트림 데이터로 구분할 수 있으며, 이 중에서 실시간 데이터의 경우, CEP(Complex Event Processing), ESP(Event Stream Processing)기술을 적용하여 실시간으로 이벤트를 감지해 빠른 후속 처리를 수행할 수 있습니다. 필요에 따라서 수집 데이터 품질 향상을 위해 정제, 변환, 필터링이 수반될 수도 있습니다.
* 적재 구현 기술
빅데이터 적재 기술은 수집된 데이터를 분산 스토리지에 영구적으로나, In Memory 형태의 임시로 적재하는 기술이며, 대용량 파일 전체를 영구적으로 저장하는 HDFS, 메시징 데이터 전체를 영구 저장하기 위한 NoSQL, 메시징 데이터를 임시 저장하기 위한 InMemory 캐시, 메시징 데이터 전체를 버퍼링 처리하기 위한 Message Oriented Midd ....