게임에는 수많은 데이터가 존재한다. 유저 접속 기록부터, 어떤 맵에서 어떤 활동이 많이 벌어지고 있는지 등등 데이터가 많아지면 그 무게도 무거워지기 마련이다. 이런 상황에서 유용하게 활용할 수 있는 빅쿼리(BigQuery)는 페타바이트급 이상의 데이터에 대해서도 스케일링 분석을 할 수 있게 해주는 구글의 데이터 웨어하우스다.
구글 클라우드 김종옥 커스터머 엔지니어(CE)는 빅쿼리를 활용해 FPS 게임 <조노틱>(Xonotic)의 데이터를 직접 분석, 활용하는 예시를 보여줬다. 그리고 빅쿼리가 처리한 자료를 루커(Looker)를 활용해 한눈에 들어오게 시각화하는 과정까지 손쉽게 수행할 수 있었다. /디스이즈게임 김승준 기자
김종옥 CE는 빅쿼리를 "구글 클라우드에서 제공하는 확장성이 뛰어난 엔터프라이즈 데이터 웨어하우스 솔루션"이라고 소개했다. 페타바이트 규모의 스토리지를 제공하고 모든 데이터가 암호화되어 있어 내구성이 강하고 높은 가용성을 보여준다. 스트리밍 데이터를 통한 실시간 인사이트를 제공하고 예측 인사이트를 실현하기 위한 ML(머신 러닝) 기능도 있으며, 무엇보다도 빠른 속도를 가지고 있다.
오픈 소스 FPS 게임 <조노틱>의 데이터를 빅쿼리에서 처리해보면 게임 데이터에 대한 처리 방식을 조금 더 쉽게 이해할 수 있다.
<조노틱>에서 데이터를 가져와 빅쿼리를 중심으로 구축하면, 수집된 데이터를 분석하고 머신 러닝을 거쳐, 필요에 따라 시각화도 한다. 이를 기반으로 다양한 인사이트를 만들어낼 수 있는데, 새로운 유저를 확보하거나 기존 유저를 강화하는 곳에 사용할 수도 있고, 개인화된 서비스를 제공할 수도 있다.
<조노틱>에서 유저 프로필을 가져와서 정보를 선택하고, 아고네스(Agones) 위의 게임 서버에서 빅쿼리로 데이터를 가져와 분석을 진행할 수 있다. 이 과정에서는 아무런 작업(ETL) 없이 데이터를 쉽게 가져올 수 있고, 서드파티에서도 데이터 트랜스퍼 서비스가 가능하며, 배치 인제스쳔(Batch ingestion), 스트리밍 인제스쳔(Streaming ingestion)이 가능하다.
활용한 데이터는 '이벤트_로그'와 '이벤트_스탯'이라는 이름으로 분류됐고, 각각 6천만 건에 3GB, 백만 건에 160MB의 크기를 가진 데이터다. 언제, 어떤 유저가, 어디에서, 무슨 활동을 했는지에 대한 데이터가 들어있다.
이런 작업은 필드별로 진행할 수도 있고, 여러 자료를 피벗해서 한눈에 보이게 시각화할 수도 있다. 국가가 열, 시간이 행으로 등장하게 만든 자료가 도출됐다. 가장 인기 있는 게임 맵은 어디였는지, 킬 수 상위 10명의 플레이어는 누구였는지 빠른 시간 안에 분석이 가능하다.
빅쿼리에서 처리한 데이터는 구글 시트에서도 쉽게 다룰 수 있다. 구글 시트를 다루는 것이 익숙한 유저들에게는 이쪽이 더 편리할 것이다. 한편, 또 다른 방법으로는 루커 스튜디오로 시각화를 할 수도 있다. 루커 템플릿으로 시각화를 하면 조금 더 눈에 잘 들어오는, 다양한 BI 대시보드를 구축할 수 있다.
현장에서 직접 보여준 예시에서는 인기 있는 무기가 무엇인지, 어떤 맵이 많이 플레이됐는지, 어떤 모드를 많이 플레이했는지 등이 여러 그래프로 표시됐다.
김종옥 CE는 자연어 처리를 하는 것으로 게임 커뮤니티의 반응을 분석할 수 있을 것으로 예상했다. 빅쿼리에서도 생성형 AI를 사용할 수 있다.
이런 기능들도 모두 펑션이 만들어져 있다고 한다. 김종옥 CE는 "게임마다 데이터를 분석하는 환경은 모두 다르다. 그렇지만 구글 클라우드에서는 이런 엔터프라이즈 기능을 모두 포함하고 있다. 앞으로도 최적의 분석 환경을 구축할 수 있도록 계속 지원하겠다."고 밝혔다.