본문 바로가기
엑셈 경쟁력/이만큼 재미있는 빅데이터 스토리

이.빅.스 | 실시간 데이터는 어떻게 활용할 수 있을까?

by EXEM 2023. 3. 30.

 

안녕하세요. 세 번째 이.빅.스 입니다.

이번 달은 실시간 데이터 활용에 대해서 알아볼게요.

 

실시간 데이터는 수집되는 즉시 사용할 수 있는 데이터로, 주로 우리에게 친숙한 환경에서 발생합니다. 스마트폰을 이용한 음악 듣기, SNS 게시물 공유, 그리고 Netflix, Youtube 등 영상 스트리밍 서비스를 이용한 시청 방식 또한 실시간 데이터를 활용한 대표적인 예라고 볼 수 있습니다. 이처럼 스트리밍이 가능하게 된 계기는, 네트워크 속도가 빨라지고 이 네트워크 성능을 받쳐 줄 하드웨어가 발전해 왔기 때문이겠죠?

 

 

 

그렇다면 실시간 데이터는 어떻게 만들어지고 관리되는 걸까요. 실시간 데이터는 인터넷 검색, 센서, 소셜 미디어, 모바일 기기 등 여러 소스를 통해 생성되고, 저장하는 방법 또한 다양합니다. 예를 들어, 웹 서버에서는 방문자의 행동, 키워드 검색, 링크 클릭 등을 추적하고 해당 정보를 데이터베이스에 저장합니다. 그리고 이렇게 데이터베이스에 저장된 실시간 데이터를 활용하여 사용자에게 필요한 서비스를 제공합니다.

 

참고로! 엑셈의 빅데이터 시스템인 EBIGs빅데이터 시스템을 운영 및 모니터링 할 때 해당 시스템의 실시간 정보를 데이터베이스에 저장하여 활용합니다.

 

EBIGs를 통한 Flamingo 모니터링

 

Hadoop Eco System 중 Flamingo는 각 서비스와 서버의 정보를 실시간으로 수집하여 DBMS에 저장하고 Dashboard, Monitoring 등 여러 메뉴의 특징에 맞게 정보를 제공합니다. 위의 이미지는 Flamingo의 Monitoring 페이지로, 실시간 데이터를 활용하여 서버와 관련된 서비스 정보를 제공합니다. (이외에 EBIGs의 자세한 기능이 궁금하다면 링크를 참고해주세요)

 

아무튼! 대규모 실시간 데이터를 다루는 경우, 분산 데이터 처리 프레임워크를 사용하는 것이 일반적입니다. 대부분 Hadoop Eco System을 사용하고 있으며, 관련 서비스로는 Apache Hadoop과 Apache Kafka가 있습니다. Apache Hadoop은 데이터의 높은 가용성과 처리 속도를 보장하여 대규모 처리를 용이하게 하고, Apache Kafka는 대규모 실시간 데이터 처리를 위한 오픈소스 메시지 큐 시스템으로 데이터 스트림을 저장하고 처리하며, 여러 시스템 간의 데이터 통신을 지원합니다. 따라서 Hadoop Eco System에서 Apache Hadoop과 Apache Kafka를 사용한다면 대규모 실시간 데이터를 좀 더 유용하게 다룰 수 있는 것이죠.

 

다양한 스트리밍 서비스

 

일상 생활에서 자주 이용하는 서비스라고 하면? 대표적으로 Youtube와 Netflix를 꼽을 수 있습니다.

 

Youtube에서는 어떻게 실시간 데이터를 처리할까요?

Youtube는 Hadoop Eco System을 사용하여 대량의 데이터를 처리하고, 분석하고, 저장하고, 관리합니다. 대표적으로 클릭, 조회수, 시청 시간, 좋아요/싫어요 등의 실시간으로 발생하는 데이터를 수집하고, 분산 메시지 시스템인 Apache Kafka를 사용하여 해당 데이터를 처리합니다. 그리고 Apache Kafka를 통해 처리된 데이터를 HDFS에 저장합니다. 이렇게 저장된 데이터를 기반으로 사용자의 취향에 맞는 콘텐츠를 추천하기 위해 Youtube에서는 Spark를 사용하여 다양한 머신러닝 알고리즘을 적용합니다. Youtube에서는 이러한 실시간 데이터 처리 방식을 통해 사용자들에게 추천 동영상을 제공할 수 있는 것입니다.

 

Netflix 대규모 실시간 데이터를 수집, 처리 및 분석하기 위해 Hadoop Eco System을 사용합니다. Apache Kafka를 사용하여 수집한 데이터를 처리하고, Apache Spark와 같은 Hadoop 기반의 프레임워크를 사용하여 데이터 처리 및 분석을 수행합니다. Spark는 메모리 기반의 빠른 데이터 처리는 물론, 스트리밍 데이터 처리를 위한 Spark Streaming도 제공합니다. 이러한 서비스들을 통해 Netflix에서는 사용자들에게 실시간으로 영화 및 TV 프로그램을 추천하고, 영상 스트리밍을 제공하게 됩니다.

 

Netflix 드라마 <더글로리> 시즌 2 포스터

 

최근에 Netflix에서 더글로리 시즌2를 공개했습니다. 개인적으로도 매우 흥미롭게 시청했죠. 국내 뿐아니라 해외에서도 폭발적인 인기몰이를 하며, 시즌2 공개 후 3주간 누적 시청시간이 2억9640만 시간을 기록했다고 하네요. 이렇게 누적 시청시간이 말해주듯 더글로리 시즌 1을 시청한 수많은 시청자들의 데이터를 실시간으로 수집해서, Hadoop Eco System을 이용해 시즌 1을 시청한 시청자들에게 이와 유사한 장르의 작품을 추천합니다. '내 마음을 어떻게 알았지?' 싶을만큼요. 더글로리 시즌2가 공개되었을 때, 앞서 유사 콘텐츠를 시청했던 사용자들에게 보다 먼저 영상을 추천했을 것입니다. 실시간 데이터 활용에 대표적인 예라고 할 수 있습니다.

 

실시간 데이터를 활용하는 서비스들이 점차 늘어나고, 이러한 서비스를 사용하는 사용자들 또한 급진적으로 늘어나고 있습니다. 이에 따라 실시간 데이터를 대규모로 처리해야 하는 시대가 왔습니다. 실시간 데이터를 좀 더 빠르고 효율적으로 활용하기 위한 몇 가지 예시를 살펴보았는데요. 위에서 언급한 방식들을 통해 대량의 데이터를 보다 빠르게 처리한다면 사용자들이 먼저 찾는 서비스가 될것입니다.

 

 

 

 

** 출처 **

 

Big Data 시대에 살고 있는 우리의 삶 (techworld)

다양한 스트리밍 서비스(dignited)

'더 글로리' 3주 연속 넷플릭스 1위 (ddaily.co.kr)

 

 

 

 

 

 

글 | 빅데이터기술연구팀 김민후

 

 

댓글