하루 10억건.
앤서스랩코리아가 서비스하는 온라인 포커 게임 'GG포커'에서 매일 쏟아지는 데이터 요청 건수다. 베팅·결제·부정행위 탐지까지 이 데이터를 얼마나 빨리 들여다보느냐에 따라 서비스의 안전과 매출이 갈린다. 불과 몇 년 전까지 이 방대한 데이터를 분석하는 데 최대 일주일이 걸렸다. 지금은 1~2시간이면 끝난다. 클라우드 데이터 플랫폼 스노우플레이크를 도입한 뒤 생긴 변화다.
앤서스랩코리아는 NSUS 그룹 산하 스튜디오다. 온라인 포커 게임 'GGPoker'의 개발을 담당한다. GGPoker는 아이게이밍(iGaming) 서비스로 해외 라이선스를 기반으로 운영된다.
문제는 데이터였다. 4년 전만 해도 회사의 데이터 분석 환경은 SQL 서버 기반 관계형 데이터베이스(RDBMS)였다. 사용자 데이터와 여기서 파생된 분석용 데이터가 서로 다른 시스템에 흩어져 있었다. 두 데이터를 함께 분석하려면 별도 시스템으로 옮겨 담는 작업부터 해야 했다. 방명원 앤서스랩코리아 테크옵스(TechOps) 헤드는 "분석을 위한 시간과 투자 비용이 너무 많이 들었다"고 말했다.
창고에 데이터 쌓아놓고 필요할 때만 계산
스노우플레이크는 여러 곳에 흩어진 데이터를 한 곳에 모아두고 필요할 때만 컴퓨터 자원을 빌려 계산해주는 서비스다. 대형 물류창고에 비유할 수 있다. 평소엔 물건(데이터)을 싸게 보관하다가 주문(분석 요청)이 들어오면 그때만 포장 인력(컴퓨팅 자원)을 투입해 처리하는 방식이다. 보관 비용과 처리 비용이 따로 계산되기 때문에, 분석하지 않을 때는 비용이 거의 들지 않는다.
앤서스랩코리아는 이런 구조 때문에 다른 제품과 비교한 끝에 2023년 스노우플레이크로 전환했다. 전환 작업은 6개월 안에 끝났다. 방 헤드는 다른 제품에 대해 "데이터를 꺼내 가공한 뒤 다시 저장하는 과정(ETL)에 컴퓨팅 비용이 많이 들어간다"고 말했다. 별도의 데이터 레이크(원본 데이터 저장소)부터 새로 구축해야 해서 구축 시간이 오래 걸렸다는 설명이다.
스노우플레이크는 데이터를 하나의 파일로 압축해 저장하는 '마이크로 파티셔닝'이라는 자체 기술을 쓴다. 기존 RDBMS 대비 데이터를 80%가량 압축해 저장할 수 있다. 데이터를 오래, 많이 보관할수록 저장 비용 부담이 상대적으로 낮아지는 구조다.
처리 시간 짧아지고 비용 그대로
효과는 수치로 나타났다. 기존에 일주일 걸리던 분석 작업은 1~2시간으로 줄었다. 커뮤니티에서 부정적 여론이 포착되면 로그 데이터를 분석해 게임 개발사에 패치를 요청하기까지 걸리던 기간도 일주일에서 하루로 단축됐다.
비용 효율도 커졌다. 방 헤드는 "과거엔 연간 10억원 정도의 비용으로 100테라바이트(TB)를 처리했다면지금은 같은 비용으로 1페타바이트(PB, 1000TB)를 처리할 수 있는 수준"이라고 말했다. 앤서스랩코리아는 게임에서 하루 약 10억건씩 발생하는 요청 데이터 전량을 스노우플레이크에서 처리하고 있다.
데이터 보안 기능도 활용도가 높다. 개인정보는 자동으로 마스킹 처리되고 국가별·이용자 그룹별로 접근 권한을 행(row) 단위까지 나눠 설정할 수 있다. 예컨대 브라질 운영자는 캐나다 이용자 데이터에 접근할 수 없도록 막아뒀다.
앤서스랩코리아는 스노우플레이크의 AI 개발 도구 '코텍스 코드(Cortex Code)'도 함께 쓰고 있다. 여러 인공지능(AI) 모델 중 필요에 따라 골라 쓸 수 있는 일종의 AI 게이트웨이다. 현재 조직 내 도입률은 60% 수준이다. 내년 상반기까지 100% 적용을 목표로 하고 있다. 방 헤드는 "서비스 중단은 곧 매출 감소로 이어진다"며 "더 오랜 기간의 데이터를 AI로 분석해 장애를 미리 감지하는 게 목표"라고 말했다.
출처: https://www.bloter.net/news/articleView.html?idxno=673714

![앤서스랩, 스노우플레이크로 이용자 분석 '일주일→1시간' [테크체인저]](https://images.ctfassets.net/b43wb6uje4ke/2rLzzXRy9F74lTjr0Wvs9C/01cfea5c3167b2318a05d991f3597c40/fa113fa0-4d07-4a46-aaef-80c4969c866c.png?w=600&q=80&fm=webp)