실시간데이터수집및처리 Network Computing System Architecture Lab Dongguk University MooSeon Choi 2013.11.07
목차 1. 연구목표 2. 2차발표리뷰 3. 실시간데이터수집및처리 4. 향후연구계획
3 / 14 연구목표 ( 1 세부 데이터페더레이션을위한기술 ) 모바일기반 SNS( 비정형 ) 데이터와기존 RDBMS( 정형 ) 데이터의 페더레이션을위한웹크롤러, 하둡처리시스템, 페더레이션모듈플랫폼설계 클라우드플랫폼핵심기술연구하둡에코시스템구조연구데이터처리및관리기술페더레이션기술
4 / 14 2 차발표리뷰 - 데이터통합모듈 Crawler Module Web Crawler Hbase Flume HMaster HDFS Sqoop MySQL
5 / 14 2 차발표리뷰 질의처리쿼리문 유형 질의 SELECT COUNT(*) 함수활용 1 FROM airline_delay WHERE delayyear = 2000; SELECT COUNT(1) 함수활용 2 FROM airline_delay WHERE delayyear = 2001 OR delayyear = 2002... OR delayyear = 2007; SELECT Year, Month, AVG(ArrDelay) AS avg_arrive_delay_time, AVG(DepDelay) AS avg_departure_delay_time FROM airline_delay 함수활용 3 WHERE delayyear = 2002 AND ArrDelay > 50 GROUP BY Year, Month; 초 (Sec) 300 200 100 질의처리시간 하이브 임팔라 0 함수활용 1 함수활용 2 함수활용 3
6 / 14 실시간데이터수집및처리 정보화시대 SNS 데이터사용급증 데이터용량급증 비정형대용량데이터저장 & 분석처리기술필요 실시간성중요 기졲의하둡시스템실시간성부족 비정형대용량데이터실시간분석기술모델필요 실시간성만족 모바일클라우드에적합 빠른응답속도
7 / 14 실시간데이터수집및처리 Twitter Storm 데이터수집단계 스톰은트위터에서사용하는실시간분산시스템이다. 스톰의아키텍처는하둡 (Hadoop) 과매우유사하지만하둡의 MR 작업은정해짂데이터세트를처리한후완료되지만스톰에서는실시간으로메시지를처리하는토폴로지작업을수행하기때문에실시간기술에유용하다. Storm 에도하둡의 JobTracker 역할을하는 Nimbus 와하둡의 TaskTracker 역할을하는 Supervisor 이있다. Nimbus 는수행할코드를배포하고 Supervisor 노드에작업을할당하며장애조치 (failover) 등을담당한다. Supervisor Node 는할당된토폴로지의일부를처리할작업프로세스 (worker process) 의구동을담당한다. Nimbus 와 Supervisor 는주키퍼 (Zookeeper) 를이용해서장애상황에대응한다.
8 / 14 실시간데이터수집및처리 Twitter Storm 데이터수집단계 스톰은트위터에서사용하는실시간분산시스템이다. 스톰의아키텍처는하둡 (Hadoop) 과매우유사하지만하둡의 MR 작업은정해짂데이터세트를처리한후완료되지만스톰에서는실시간으로메시지를처리하는토폴로지작업을수행하기때문에실시간기술에유용하다. 스톰에는데이터를받아서처리하는데필요한 streams, spouts, bolts 의세가지기본개념이있다. spouts 는데이터수집단계에서스톰클러스터외부에서데이터를추출하고데이터를 bolts 로젂송한다. streams 는분산환경에서생성되고처리되는튜플 (Tuple) 의끊임없는연속이며 spouts 와 bolts 의사이의데이터를젂송가능하게만들어준다. bolts 는스톰의모든프로세싱작업을담당하며, spouts 에서젂달된튜플을가지고비즈니스로직을수행하고결과를다른 bolts 에젂달한다.
9 / 14 실시간데이터수집및처리 Complex Event Processing(CEP) 기반오픈소스 Esper 데이터분석단계 CEP - 대용량데이터를실시간으로분석하는툴 Esper CEP 기반오픈소스로대용량데이터를넘나들며지속적으로처리가능한툴인데의미있는이벤트를찾아내고필터링하는데효과적이다. 하지만에스퍼는구조화된데이터만분석처리가능하기때문에트위터스톰을이용해비정형데이터인트위터의스트림을수집부분을설계.
10 / 14 실시간데이터수집및처리 Storm & Esper 통합모델 모델의기대효과 이모델은비정형데이터를실시간으로분석하는데효과적이다. 스톰에서실시간으로정보를받아오면 CEP 엔짂인에스퍼에서도실시간으로복합이벤트처리를짂행한다. 데이터수집면에서실시간성과데이터분석면에서의실시간성모두성립하기때문에, 기졲에졲재하던하둡시스템과는차이가난다. 오픈소스에스퍼는비정형데이터를다루기어렵기때문에트위터에서개발한스톰과 CEP 시스템기반오픈소스인에스퍼를연동해서설계한다. 스톰에서비정형데이터인트위터의정보를실시간으로추출해내서에스퍼에게젂달하면에스퍼에서는이데이터의의미있는이벤트를찾아쿼리문을이용해실행 하둡에서실시간분석을이용하려면비정형빅데이터수집도구인플럼 (Flume) 을사용해야하는데플럼또한실시간으로비정형빅데이터를수집가능하다. 하지만플럼에서받아온비정형빅데이터를배치분석인하둡 MR 작업이처리하기때문에이는수집면에서실시간성이유효하지만분석면에서는배치성을가지고분석하기때문에준실시간의특성을가짂다. 다양한종류의데이터가주목받는시기인만큼데이터를실시간으로다룰수있는도구가필요하다. 또한, 실시간으로쿼리문을실행하기때문에변화에빠르게대응하여여러장르, 서비스에응용이가능하다.
11 / 14 실시간데이터수집및처리 인메모리 DB 를이용한처리속도향상모델 하둡은대용량빅데이터처리가가능한오픈소스프레임워크이다. 계속해서생겨나는막대한데이터를실시간으로처리하기위해서하둡의성능향상은필수적이다. 데이터베이스시스템은메모리에데이터를저장하기때문에데이터로의접근속도가빠르다. 맵리듀스과정에서이시스템을통해데이터를가져온다면하둡의속도향상을기대할수있다. 효율적으로데이터를저장하고처리하는기술인하둡을인메모리데이터베이스시스템을이용하여처리속도를높이는모델 Redis(Remote Dictionary Server) 는 Salvatore Sanfilippo 와 Pieter Noordhuis 에의해만들어짂오픈소스소프트웨어로서, 메모리기반의 <Key,Value> 저장소이다. 메모리기반이기때문에휘발성이지만, 주기적으로메모리상의데이터를하드에저장해두기때문에데이터를보졲할수있다. Redis 서버를실행한뒤데이터를저장하면메모리상에저장되었다가디스크에저장이된다. 그후서버를재가동하면디스크에있던데이터는다시메모리에올라간다. 따라서 Redis 를사용하면데이터의손실위험감소와동시에접근속도향상을기대할수있다.
12 / 14 실시간데이터수집및처리 Memory MapReduce Input Data Redis Redis Redis Redis Map Map Map HDD HDFS map() 의성능을향상시키도록인메모리데이터베이스시스템인 Redis 를이용한하둡프레임워크의설계. Redis 는 HDFS 에있는데이터를메모리상에올리는역할을한다. 즉데이터는 HDFS 에저장되어있다가 Redis 를통해메모리에저장되는것이다. 그후 map() 이진행되는데, 이과정에서디스크에접근하여데이터를가져올필요없이메모리에있는데이터를사용한다. MR 처리과정은그림 8 과같다. 먼저입력데이터를가지고 map() 을시작한다. map() 은하둡클러스터의데이터노드에서동작하므로, Redis 를사용하여데이터노드의메모리상에데이터를올린뒤 map() 을진행한다. 데이터는 map() 단계가완료된후메모리에다시저장되었다가 reduce() 로전달된다. 이렇게전달된데이터는 reduce() 에서병합되어메모리에저장되었다가 HDFS 에저장된다. 기대효과 Redis 를비롯한인메모리데이터베이스시스템역시빠른처리속도로주목을받고있다. 특히오픈소스로이루어져있기때문에이들을결합하면저렴한비용으로더빠르게데이터를처리할수있다. 실시간으로폭증하는데이터를저장하고처리하기위해서하둡의성능은더향상되어야한다. 본논문의제안모델과같이 Redis 와하둡을결합하면 map() 단계에서의데이터처리시간을단축시킬수있으므로하둡의성능개선이가능하다.
13 / 14 향후연구계획 ( 1 차년도 ) 웹크롤러의세부구성도설계 Twitter Storm 과 CEP 기반 Esper 의통합세부구성도설계 Impala 를이용한프로그램구성도설계 인메모리 DB 를이용한하둡성능향상모듈설계
감사합니다 Network Computing System Architecture Lab Dongguk University MooSeon Choi 2013.11.07