로그인

회원가입 | ID/PW 찾기

취재

구글 빅쿼리, 게임 데이터 분석에서 인사이트 도출까지

"데이터에 따르면 이 게임은 오후 9시에 미국에서 인기가 높습니다"

에 유통된 기사입니다.
김승준(음주도치) 2023-06-28 10:50:33

게임에는 수많은 데이터가 존재한다. 유저 접속 기록부터, 어떤 맵에서 어떤 활동이 많이 벌어지고 있는지 등등 데이터가 많아지면 그 무게도 무거워지기 마련이다. 이런 상황에서 유용하게 활용할 수 있는 빅쿼리(BigQuery)는 페타바이트급 이상의 데이터에 대해서도 스케일링 분석을 할 수 있게 해주는 구글의 데이터 웨어하우스다.

 

구글 클라우드 김종옥 커스터머 엔지니어(CE)는 빅쿼리를 활용해 FPS 게임 <조노틱>(Xonotic)의 데이터를 직접 분석, 활용하는 예시를 보여줬다. 그리고 빅쿼리가 처리한 자료를 루커(Looker)를 활용해 한눈에 들어오게 시각화하는 과정까지 손쉽게 수행할 수 있었다. /디스이즈게임 김승준 기자 

  

 

# 그래서 빅쿼리는 어떤 도구고 무엇을 할 수 있는가?

  

김종옥 CE는 빅쿼리를 "구글 클라우드에서 제공하는 확장성이 뛰어난 엔터프라이즈 데이터 웨어하우스 솔루션"이라고 소개했다. 페타바이트 규모의 스토리지를 제공하고 모든 데이터가 암호화되어 있어 내구성이 강하고 높은 가용성을 보여준다. 스트리밍 데이터를 통한 실시간 인사이트를 제공하고 예측 인사이트를 실현하기 위한 ML(머신 러닝) 기능도 있으며, 무엇보다도 빠른 속도를 가지고 있다.


오픈 소스 FPS 게임 <조노틱>의 데이터를 빅쿼리에서 처리해보면 게임 데이터에 대한 처리 방식을 조금 더 쉽게 이해할 수 있다. 

  

빅쿼리는 구글 클라우드에서 제공하는 데이터 웨어하우스 솔루션이다. (출처: 구글)

오픈 소스 FPS 게임 <조노틱> 스크린샷 (출처: 조노틱 홈페이지)

  

<조노틱>에서 데이터를 가져와 빅쿼리를 중심으로 구축하면, 수집된 데이터를 분석하고 머신 러닝을 거쳐, 필요에 따라 시각화도 한다. 이를 기반으로 다양한 인사이트를 만들어낼 수 있는데, 새로운 유저를 확보하거나 기존 유저를 강화하는 곳에 사용할 수도 있고, 개인화된 서비스를 제공할 수도 있다. 


<조노틱>에서 유저 프로필을 가져와서 정보를 선택하고, 아고네스(Agones) 위의 게임 서버에서 빅쿼리로 데이터를 가져와 분석을 진행할 수 있다. 이 과정에서는 아무런 작업(ETL) 없이 데이터를 쉽게 가져올 수 있고, 서드파티에서도 데이터 트랜스퍼 서비스가 가능하며, 배치 인제스쳔(Batch ingestion), 스트리밍 인제스쳔(Streaming ingestion)이 가능하다.  

  

게임 서버에서 빅쿼리로 데이터를 가져와 분석한다. (출처: 구글)

  

활용한 데이터는 '이벤트_로그'와 '이벤트_스탯'이라는 이름으로 분류됐고, 각각 6천만 건에 3GB, 백만 건에 160MB의 크기를 가진 데이터다. 언제, 어떤 유저가, 어디에서, 무슨 활동을 했는지에 대한 데이터가 들어있다. 


데이터 트랜스퍼는 정기적으로 가져오게 세팅할 수도 있는데, 김종옥 CE는 24시간마다 가져오는 예시를 보여줬다. 테이블을 어디에 저장할지, 데이터 파일이 어디에 있는지 지정해주고, CSV 포맷을 선택한 후, 데이터의 첫 줄은 타이틀이 있으니 무시하게만 설정하면 정기적으로 데이터를 가져올 수 있는 과정이 쉽게 설정된다. 이 안에는 유저가 어떤 맵에서 킬을 했는지, 사용한 무기가 무엇인지, 어느 나라에서 플레이했는지 등의 자료가 모두 들어있다.

실시간으로 데이터를 가져올 때는 아파치 빔(Apache Beam)을 활용했다. 아파치 빔은 큰 데이터도 스케일러블하게 처리 가능하게 구글이 만든 오픈 소스 모델이다. 

국가별로 시간대별로 언제 어디서 많이 플레이했는지 카운트를 하도록 요구해봤다. 미국, 그리스, 캐나다, 중국, 일본 등의 나라가 1초 만에 결과로 도출됐다. 이런 작업 과정을 상세하게 들여다볼 수 있다. 어떤 작업을 어떤 단계로 처리했는지, 각각 얼마나 시간이 걸렸는지도 볼 수 있다. 

이런 작업은 필드별로 진행할 수도 있고, 여러 자료를 피벗해서 한눈에 보이게 시각화할 수도 있다. 국가가 열, 시간이 행으로 등장하게 만든 자료가 도출됐다. 가장 인기 있는 게임 맵은 어디였는지, 킬 수 상위 10명의 플레이어는 누구였는지 빠른 시간 안에 분석이 가능하다. 

  

데이터 묶음을 넣고 나면 (출처: 구글)

여러 방식으로 데이터를 분석, 활용할 수 있다. (출처: 구글)

  

# 루커를 활용한 시각화와 생성형 AI를 활용한 분석

  

빅쿼리에서 처리한 데이터는 구글 시트에서도 쉽게 다룰 수 있다. 구글 시트를 다루는 것이 익숙한 유저들에게는 이쪽이 더 편리할 것이다. 한편, 또 다른 방법으로는 루커 스튜디오로 시각화를 할 수도 있다. 루커 템플릿으로 시각화를 하면 조금 더 눈에 잘 들어오는, 다양한 BI 대시보드를 구축할 수 있다. 


현장에서 직접 보여준 예시에서는 인기 있는 무기가 무엇인지, 어떤 맵이 많이 플레이됐는지, 어떤 모드를 많이 플레이했는지 등이 여러 그래프로 표시됐다.  

  

구글 시트로도 시각화할 수 있지만, 루커를 사용하면 데이터 시각화에 더 도움을 받을 수 있다. (출처: 구글)

  

김종옥 CE는 자연어 처리를 하는 것으로 게임 커뮤니티의 반응을 분석할 수 있을 것으로 예상했다. 빅쿼리에서도 생성형 AI를 사용할 수 있다. 


번역 API를 호출해서 번역하고, 팜2의 바이슨 모델을 호출한다. 일련의 과정을 거쳐 인사이트와 결과를 제안해 달라고 하고 한글로 변환하라고 하니, "데이터에 따르면 이 게임은 미국, 캐나다, 인도에서 인기가 높습니다. 오후 9시경이 피크로, 저녁 시간에 마케팅에 집중해야 됩니다. 미국에서는 스트리머와 협력하여 게임을 홍보할 수 있습니다."와 같은 답변이 나왔다. 

이런 기능들도 모두 펑션이 만들어져 있다고 한다. 김종옥 CE는 "게임마다 데이터를 분석하는 환경은 모두 다르다. 그렇지만 구글 클라우드에서는 이런 엔터프라이즈 기능을 모두 포함하고 있다. 앞으로도 최적의 분석 환경을 구축할 수 있도록 계속 지원하겠다."고 밝혔다.  

 

팜 API와 번역 API를 활용해 데이터를 분석하는 과정의 한 부분 (출처: 구글)