본문 바로가기
SingleStoreDB/사례연구

[사례 연구, True Digital Group] COVID-19 감염자 증가 속도를 늦추기 위해 SingleStore 사용

by 에이플랫폼 [Team SingleStore Korea] 2020. 5. 15.

True Digital Group은 접촉자 추적 조사 앱에 SingleStore를 사용하여, 태국에서 COVID-19의 확산을 막고 있습니다. (보도 자료 참고) 이 앱은 프론트엔드에서 React와 Web Workers를 사용하며, SingleStore 파이프라인과 시계열 함수로 이벤트를 빠르게 수집 처리하고, 지리공간(geospatial) 함수는 지도에 데이터를 실시간으로 표시하는데 사용이 됩니다. 이 앱의 첫번째 버전은 2주 만에 만들어졌습니다.


세계적 이동 제재(Global Lockdown)

대유행(팬데믹, pandemic)하는 COVID-19 질병의 확산을 막는 것이 우리의 공동 우선 순위였습니다. 여행, 쇼핑, 친목회와 같은 불필요한 행동들을 피함으로써, 우리는 우리 자신을 안전하게 지키고, 무증상 보균자로부터 가장 취약한 사회 구성원들이 감염되는 것을 막을 수 있습니다. 가장 큰 타격을 받은 발병 지역의 최근 데이터는 사회적 거리 두기가 확진자가 증가하지 않도록 하는데 효과가 있음을 보여줍니다. 식당, 엔터테인먼트, 여행, 서비스업 등 수백만 개의 사업체들이 이에 영향을 받으며 문을 닫아야만 했습니다. 경제를 안전하게 재개할 수 있는 방법을 찾는 것이 시급합니다.

이동 제재를 풀 수 있는 방안

COVID-19의 보균자들은 2주 동안 무증상일 수도 있고, 본인도 모르게 바이러스를 퍼뜨릴 수 있기 때문에 불필요한 이동을 금지하는 명령(Shelter-in-place orders)이 필요합니다. 한 사람이 양성 반응을 보이면, 각각의 환자들을 12시간 동안 인터뷰하여 진단 전 며칠과 지난 몇 주 동안 누구와 접촉했는지 확인하는 것이 전통적인 접근 방식이었습니다. 대부분의 사람은 그들이 접촉했던 모든 사람을 기억할 수 없고, 공공장소와 상점에서 바이러스를 퍼뜨릴 만큼 다른 사람과 가까이 있었는지 모를 수도 있습니다. 이러한 인터뷰는 감염병에 걸린 환자가 접촉한 사람들을 추적하는 사람을 필요로 합니다. 미국에서 인터뷰를 진행하기 위해서는, 인구로 볼 때, 필요한 접촉 추적자 수는 10~30만 명에 이를 것으로 추산이 됩니다. 이를 통해, 직접 만나서 확인하기 위해서는 규모에 맞고 시기적절하게 “검사와 추적”을 수행할 수 있도록 일부를 자동화해야 한다는 것을 알았습니다. 이 문제에 대한 해결책은 아마 당신의 휴대전화일 것입니다.

진정한 해결방안

True Digital Group의 Analytics팀은 태국에서 이 아이디어를 빠르게 추진하고 있습니다. 국내 대표 통신사 True Corporation의 디지털 계열사인 True Digital Group 산하 Analytics팀은 실시간으로 익명의 휴대전화 위치를 수집, 집계하여 태국 정부 당국이 COVID-19의 확산을 추적할 수 있는 도구를 제공하도록 지원하고 있습니다.

 

tracepulse 앱의 COVID-19 추적을 위한 실시간 및 이력 경고

가장 효과적으로 추가 확산을 방지하기 위하여, 익명의 휴대전화가 어떻게 움직이고 있는지를 보여주는 데이터는 지연 시간이 짧은 실시간 데이터여야 하며, 인구 밀도가 증가하는 위치를 즉각적이고 능동적으로 판단해야 합니다. 대유행 상황에는 특히 대규모 집회가 우려됩니다. 주요 개념은 대량 인구가 국가의 한 지역에서 다른 지역으로 어떻게 이동하는지를 추적한 다음, 집회에 참여한 이들이 자신을 스스로 보호하고, 바이러스에 대한 검사의 필요성을 없애기 위하여 태국 정부 당국에 무엇을 전달할지 결정하는 것입니다.

그들은 휴대전화 위치의 지리적 밀도를 통해 대규모 집회가 형성되는 위치를 자동으로 결정하는 실시간 시각화 및 경고 시스템을 원합니다. 규모에 따라 익명으로 추적하기 위해 극복해야 할 몇 가지 기술적 난제가 있습니다.

우선, 3000만 대가 넘는 휴대전화를 대상으로 매초 50만 건의 익명 위치 이벤트에 대해 이벤트 스트림 처리를 해야 합니다.

둘째, 시각화는 적어도 2분마다 업데이트되어야 합니다.

셋째, 솔루션은 추적 조사를 위한 실시간 및 최근 데이터에 대한 쿼리를 지원하기 위해 지정되지 않은 기간의 이동 시간대를 지원해야 합니다.

넷째, 추가 분석 및 조사를 위해 참조 데이터와 과거 데이터를 사용할 수 있어야 하며, 이 데이터셋은 2PB(petabyte)입니다.

다섯째, 실시간 시각화는 밀리초 단위로 초저지연의 지리 분석 쿼리를 지원해야 합니다.

그리고 마지막으로, 이 시스템의 첫 번째 기능 버전은 2주 이내에 구축되어야 합니다.

대유행 상황 이전에 True Digital Group의 Analytics팀은 위치, 탐색 활동 등 수조 개의 관련 고객 data point들을 다룰 수 있는 플랫폼을 성공적으로 구축하여 이미 통신사 분석 분야에서 선두를 달리고 있었습니다. True Digital Group의 Analytics팀은 이를 기반으로 위치 서비스를 성공적으로 출시했습니다(예, 최적의 지점 위치 선정). 데이터 처리 전략은 데이터를 Hadoop에 저장한 후, 24시간마다 예정된 배치 처리 방식으로 데이터에 대한 맵리듀스(map-reduce)작업을 실행하여 집계 및 결과 데이터를 만드는 것이었습니다. 그러나 이 툴은 배치 모드에서 작동하도록 설계되었으며, 실시간 기능이 없었습니다. Pandemic 상황이 발생하자, 이 필요성은 “지연된 데이터여도 좋음”에서 “SLA를 충적하는 즉각적인 분석”으로 옮겨졌습니다.

해결책은 구글 클라우드 스토리지(GCS)를 통해 통신사의 코어 네트워크에서 원시 이벤트 데이터를 SingleStore로 스트리밍하는 것이었습니다. 이제, 이 해결책으로 특정 지역에 얼마나 많은 사람이 몰려드는지 알 수 있습니다.

첫 번째 용도는 위기관리 센터의 벽면 크기의 대시보드를 통해 태국의 한 주, 구 또는 하위 구역을 확대하여 얼마나 많은 사람이 있는지 실시간으로 확인하는 것입니다. 이것은 대규모 집회가 어디에서 형성될지 예상하는 데 도움이 됩니다.

두 번째 용도는 의료용품과 같은 자원의 최적 배치를 결정하는 데 사용하는 것입니다. 이를 통해 인적 자원과 물적 자원을 동적으로 재분배할 수 있어 재해 구호 노력이 더 능동적이고 시기적절하게 이루어질 수 있습니다.

SingleStore를 사용한 최신 앱

SingleStore는 확장 가능한 백엔드를 제공하는 분산 운영 데이터베이스로, 트랜잭션 데이터베이스와 분석 데이터베이스의 기능을 결합하는 동시에 고속 병렬 수집과 관계형 SQL을 지원합니다. 또한 지리정보, 시계열, 다큐멘트, 키-밸류(Key-Value)의 활용 사례를 지원하는 특수한 데이터 유형 및 기능도 제공합니다. 이러한 기능과 SingleStore의 ANSI SQL의 조합은 이 프로젝트의 요구사항에 적합하여 True Digital이 백엔드 데이터 플랫폼을 통합하고 단순화할 수 있었습니다.

 

익명화된 위치 데이터는 통신사 핵심 네트워크에서 일련의 Parquet 파일로 구글 클라우드 스토리지(GCS)에 지속해서 기록됩니다. 이런 파일이 생성되면 SingleStore 파이프라인에 의해 지속해서 수집된 다음 SingleStore의 스토어드 프로시저에 의해 처리됩니다. 이러한 상황이 발생하는 동안, 데이터베이스는 대화형 지리 분석 대시보드에서 호출된 매우 많은 동시 쿼리를 처리합니다. 이 Zoom in/out할 수 있는 대시보드는 국가에서 도시에 이르기까지 특정 지역의 휴대전화 밀집도를 실시간으로 보여줍니다. 사용자는 이 지리 정보를 시각적으로 분석하고 익명화된 휴대전화의 클러스터를 보다 세분화하고 상세하게 확대하여 잠재적인 새로운 문제를 발견할 수 있습니다. 이러한 각각의 클릭들은 SingleStore에 지속적으로 쿼리하여 사용자가 Zoom in할 때 각 지역에 대한 새 통계를 계산합니다. SingleStore의 지리공간 함수는 거리, 포함 및 교차 계산과 같은 데이터 간의 공간 관계를 결정하는 기능을 지원합니다. 지리공간 객체는 SingleStore에서 최고급 데이터 유형으로, 공간 관계를 사용하여 테이블을 조인할 수 있습니다. 예를 들어, 한 마을의 모든 사업체를 찾으려면 사업 위치(점, point)가 마을의 형태(다각형, polygon)에 포함되는지에 대해 사업 테이블과 마을 테이블을 조인합니다.

 

True Digital 솔루션은 React 및 NodeJS를 활용하여 API를 백엔드 마이크로 서비스에 노출해 최상의 대화형 사용자 환경을 보장하는 PWA (Progressive Web Application)입니다. 프론트엔드 구현에 React 및 Web Workers를 사용하면 앱의 즉각적인 대화식 응답성을 보장할 수 있습니다. 빠르게 변화하는 데이터의 경우, 백엔드 데이터베이스의 응답 시간은 이러한 빠른 사용자 환경을 보장하는 데 있어 중요한 구성요소입니다. SingleStore는 이러한 유형의 워크로드에 유일하게 적합하며, 작성 중인 새로운 데이터의 확장성을 갖춘 동시에 복잡한 분석 쿼리뿐만 아니라 매우 많은 동시 조회를 처리합니다. SingleStore는 원시 데이터에 대해 초당 1조 행 이상을 지원하므로 초당 50만 개의 이벤트 수집을 편안하게 처리하고 고객 대면 애플리케이션을 위한 애플리케이션 데이터베이스가 됩니다.

이 앱은 최근 데이터 이력에 대하여 위치별로 쿼리를 지원하므로 사용자는 시간 경과에 따른 추세를 볼 수 있습니다. 데이터는 이벤트 시퀀스로 정의되며 각 이벤트에는 타임스탬프로 레이블이 지정됩니다. 시계열(Time series) 데이터는 로우스토어(Rowstore)또는 컬럼스토어(Columnstore) 테이블을 사용하여 SingleStore에 저장할 수 있습니다. 각 행에는 이벤트 시간을 저장할 시간 속성 열이 있습니다. 타임버킷팅과 스무딩(time bucketing, smoothing)같은 시계열 기능을 사용할 수 있습니다.

매우 빠른 딜리버리

급변하는 공중 보건 위기에 직면하여, 매 순간 정확한 예방 시스템을 마련함으로써 생명을 구할 수 있습니다. 바이러스와의 전쟁의 최전선에서, 우리는 의료 및 필수 서비스 근로자들을 영웅으로 보고 있습니다. 데이터 설계자, 데이터 엔지니어 및 프론트엔드 개발자들은 이 생명 구조 시스템을 개발하기 위해 쉬지 않고(24/7) 일하고 있으며, 확산을 방지하고, 바이러스를 억제하며 확진자가 증가하지 않도록 만드는 데 도움을 주고 있습니다. 단 1주일 만에 애플리케이션의 첫 번째 운영 버전이 SingleStore로 설계 및 구축되어 빠른 개발과 신속하고 민첩한 DevOps 사이클이 SingleStore로 수행 가능함을 보여주었습니다. 이후 태국 정부 당국에 새로운 분석 가능성을 입증하기 위해 반복적으로 개발되고 확장되었습니다.

COVID-19 종식을 위한 노력 및 과제

전 세계에서 많은 사람이 치료법과 백신을 개발하기 위해 일하고 있지만, 이것은 꽤 오랜 시간이 걸릴 것입니다. 미국의 COVID-19 의료 연합은 그러한 노력의 한 예로써 의료기관, 기술 기업, 비영리단체, 학계, 스타트업이 모여 의료 전달 체계를 유지하고 미국 국민 보호를 돕는 민간 주도 대응을 하고 있습니다. True Digital의 것과 같은 새로운 위기관리 시스템은 새로운 표준의 요구를 충족시키기 위하여 계속해서 빠르게 개발되고 확장될 것입니다. 직장에서, 회사들은 이러한 새로운 표준(뉴노멀, new normal)들이 사업 연속성 계획 및 인적 자원에 어떤 영향을 미치는지 고려해야 합니다. 사회적 거리 두기에서 새롭게 나타나는 붕괴(breakdown)를 식별하는 수단을 제공해주는 True Digital의 노력은 우리가 위기에서 더 나은 관리를 할 수 있도록 도와줍니다. 이와 같은 접근법은 우리가 백신을 기다리는 동안 다시 안전한 방식으로 세상을 움직이고 경제를 다시 시작할 방법을 제공할 수도 있습니다. SingleStore는 그러한 중요한 목적을 위해 True Digital과 협력하는 것을 자랑스럽게 생각합니다.

True Digital Group에 대하여

True Digital Group은 태국의 대표적인 통신회사인 True Corporation의 디지털 계열사입니다. True Digital Group은 디지털 솔루션 분야에서 국내 선두주자가 되는 것을 목표로 인공지능(AI), 빅데이터, 블록체인, 클라우드, 사물인터넷(IoT), 로봇공학과 같은 최첨단 기술 분야에서 깊은 역량을 쌓았습니다. 이를 통해 True Digital Group은 소비자, 가맹점 및 기업의 디지털 요구를 충족시켜 고유한 디지털 플랫폼 및 솔루션 생태계를 구축할 수 있습니다. True Digital Group은 인도네시아와 필리핀을 처음 두 개의 새로운 시장으로 하여 동남아시아 전역에 지역사업을 시작했습니다. 자세한 내용은 웹사이트 www.truedigital.com 참고하시길 바랍니다.

May 7, 2020

Domenic Ravita


출처: https://www.singlestore.com/blog/case-study-true-digital-group-helps-to-flatten-the-curve-with-memsql/

 

Case Study: True Digital Group Helps to Flatten the Curve with SingleStore

True Digital has used SingleStore as the backend for an app that supports contact tracing for COVID-19 across Thailand, with real-time responsiveness.

www.singlestore.com

 

 

※ www.a-platform.biz | info@a-platform.biz