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

[사례 연구, Thorn] 더 빠른 인신매매 아동 식별을 위해 SingleStore Managed Service(Helios)로 데이터 구축

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

Thorn의 아동 성매매 조사 도구인 Spotlight는 성매매 사이트에서 정보를 수집하여 인신 매매 피해자를 빨리 찾을 수 있는 도구를 법 집행 기관에 제공합니다. (위스콘신 인신 매매 전담반 특별 요원은 스포트라이트를 다음과 같이 설명합니다. “인신 매매와의 싸움에서 우리가 가지고 있는 가장 큰 도구입니다.”) SingleStore를 사용하는 것이 그 중 하나입니다. SingleStore는 SQL 지원을 포함하여 Thorn의 요구 사항인 빠른 쿼리 응답 시간; 기계 학습 및 AI 지원; 크고 확장 가능한 동시 사용자 수; 수평적 스케일 아웃을 충족시키는 강력한 솔루션입니다. 또한 SingleStore는 온프레미스 설치 및 모든 주요 퍼블릭 클라우드를 포함하여 거의 모든 곳에서 실행됩니다.


Thorn은 여전히 비즈니스 문제가 있었습니다. 기술 비영리 단체인 이들은 소규모 팀이 가장 큰 영향을 줄 수 있는 트레이드 오프를 식별하고 만드는 데 매우 능숙합니다. 그들은 끊임없이 변화하는 디지털 환경에서 Spotlight를 기민하게 유지하는 데 집중해야 피해자를 더 빨리 찾을 수 있다는 걸 알고 있습니다. 따라서 Spotlight의 운영 및 유지 관리를 가능한 한 간단하고 관리하기 쉽게 유지해야합니다.

Thorn은 이 전략을 지원하기 위해 SingleStore에서 완전하게 관리되고 온디맨드(On-Demand)이며 탄력적인 클라우드 데이터베이스인 SingleStore Managed Service로 이동하고 있습니다. SingleStore 7.0이 Thorn의 데이터베이스 요구를 충족시키는 경우, SingleStore Managed Service는 Thorn의 운영요구를 충족시키기 때문에 Thorn의 개발 및 운영 담당자는 데이터베이스 작업을 SingleStore에 맡깁니다.

Thorn의 데이터 엔지니어인 Peter Parente는 다음과 같이 말합니다. “데이터가 어떻게 저장될 것인지에 대한 모든 세부 사항을 관리하는 것이 아니라 임무를 위한 애플리케이션을 구축하는 데 시간을 집중하고 싶습니다.” 이제 Thorn은 사용자의 요구를 충족시키고 아동의 성적 학대를 방지하는 기술을 구축하기 위하여 Spotlight를 성장시키는 데에만 집중할 수 있습니다.

Thorn이 제공하는 것

Thorn은 아동 성 학대자가 아동 인신매매를 촉진하기 위해 새로운 기술을 사용할 수 있지만, 고맙게도, 그 같은 새로운 기술은 아동 인신매매를 막기 위해서도 사용될 수 있다고 설명합니다. Thorn은 데이터를 활용하여 인신매매 어린이를 더 빨리 찾고, 모든 어린이가 안전하고 호기심이 많으며 행복한 세상을 만들 수 있는 기술을 구축합니다.

미국 전역에 매일 15만 건이 넘는 에스코트 광고를 포함하여 연간 총 수백만 건의 광고가 게재되고 있으며, 그 산더미 같은 데이터 어딘 가에서 아동들이 성매매로 판매되고 있습니다. Thorn의 연구는 아동 성매매 생존자 중 63%가 어느 특정한 시점에서 온라인 광고로 나왔다는 것을 보여주며, Spotlight는 아동 성매매 사건을 적극적으로 조사하는 데 관여하는 사용자들에게 무료로 이 데이터를 활용할 수 있도록 제공합니다.

몇 년 전에 Thorn은 몇몇 문제가 되는 사이트와 온라인 소스에만 집중했습니다. 이제는 아동 성매매 콘텐츠가 있는 사이트가 늘고 있으며, Spotlight에 대한 사용자 기반도 성장했습니다. Thorn의 경우는 매우 많은 조직이 거의 무제한에 가까운 확장성과 동시 액세스를 필요로 하는 강력한 사례입니다.

Parente는 "시간이 지날수록 데이터의 복잡성은 더 커지기 때문에 더 많은 데이터를 저장하고 더 많은 사용자가 해당 데이터를 분석해야 합니다"라고 말합니다. "아동 인신매매 사이트가 더 많이 있으며, 사이트 중 일부는 다른 사이트로부터 유입되는 데이터도 증가시키는 기능을 추가했습니다."

그러나 아동 인신매매 수요가 증가하는 만큼 Thorn의 효과도 증가합니다. Thorn는 엄청난 영향을 끼칩니다. Spotlight는 매우 성공적이어서 1만 명이 넘는 인신 매매 아동을 식별하는 데 도움이 되었습니다. 평균적으로 하루에 8명의 어린이가 식별됩니다. Thorn은 경찰 수사 시간을 63%나 앞당긴 것에 자부심을 느낍니다. 즉, 조사 시간이 거의 3분의 2로 단축되었습니다. (Thorn은 또한 사람들에게 아동 인신매매 주제에 대해 교육합니다. 350만명 이상의 청소년들이 Thorn 프로젝트를 통해 피해자의 누드 이미지에 초점을 둔 강탈을 식별하고 방지하는 방법을 배웠습니다.)

이러한 시스템이 효과적으로 작동하려면 다음과 같은 여러가지 기술적 요구사항을 충족해야 합니다.

· 빠른 인제스트 및 프로세싱. 관심 사이트를 신속하게 처리하고, 몇 시간이 아닌 몇 분 만에 일치 항목을 찾아내며, 보다 쉬운 분석을 위해 사용자에게 결과를 통합합니다.

· 완전한 확장. Thorn은 수평적이고 선형적인 방식으로 용량을 추가함으로써 속도를 높이거나 시스템을 확장할 수 있어야 합니다.

· 빠른 쿼리 응답 시간. 일치 항목 찾기 및 보고와 마찬가지로 쿼리 응답 시간은 분 또는 시간이 아니라 초 단위여야 합니다.

· 높은 동시성. Thorn은 작은 컴퓨터 설치 공간에서 점점 더 많은 수의 로그인한 수신자와 데이터 쿼리를 지원할 수 있어야 하며, 새로운 요구를 충족할 수 있는 완벽한 확장성을 갖춰야 합니다.

게다가, Thorn은 구체적인 임무를 가장 효과적으로 수행할 수 있도록 다음과 같은 두 가지 비즈니스 지향적 요구사항을 파악했습니다.

· 적은 비용의 유지 보수. Thorn은 기능 세트를 확장하여 Spotlight를 개선하기 위해 가능한 많은 엔지니어링 시간을 소비해야 합니다. 신뢰할 수 있고 유연한 데이터 파이프라인을 구축하여 솔루션을 지원하려면 가능한 번거로움과 걱정이 없어야 한다. Thorn 이외에는 아무도 이 일을 할 수 없습니다. Thorn은 가능한 하나의 핵심 시스템을 낮은 유지보수로 만들어 줌으로써, 이 중요한 일을 위해 그들의 기술적 재능을 유지보수 시간으로 낭비하지 못하게 합니다.

· 스테이트리스(Stateless). Thorn은 Kubernetes를 모든 솔루션의 핵심 요소로 신속하게 식별했습니다. Kubernetes는 스테이트리스(Stateless) 컴포넌트 관리에 매우 좋습니다. 스테이트풀(Stateful) 지원이 최근에 추가되었지만 여전히 진행중인 작업입니다. 스테이트풀(Stateful) 컴포넌트는 스테이트리스(Stateless) 컴포넌트를 관리하는 것보다 항상 더 복잡하기 때문에, Thorn은 솔루션에서 전부는 아니지만 가능한 많은 컴포넌트에서 스테이트리스(Stateless)를 유지하려고 했습니다.

SingleStore Managed Service가 Thorn의 성공을 돕는 방법

Thorn은 모든 요구사항을 충족하는 도구를 만들었습니다.

1. Thorn은 대상 웹 사이트에서 새롭거나 업데이트 된 콘텐츠를 찾습니다.

2. 콘텐츠는 Amazon Simple Storage Service(S3) 버킷에 저장됩니다.

3. Dramatiq 라이브러리(Celery와 유사한)를 사용하는 확장 가능한 파이썬 데이터 파이프라인은 아마존의 SQS(Simple Query Service)를 통해 S3의 새로운 텍스트 및 미디어 콘텐츠에 대한 알림을 수신하고 처리합니다.

4. Spotlight 애플리케이션에서의 탐색을 위하여, 데이터 파이프라인은 처리되고 변환된 데이터를 SingleStore Managed Service에 저장합니다.

5. 훈련된 수사관은 아동 인신매매 피해자를 나타내는 핵심 세부사항을 찾고, 그들의 사례를 구축하며 가장 취약한 피해자를 찾습니다.

SingleStore Managed Service(Helios)는 시스템의 핵심에 위치합니다. "이것은 현재 우리의 주요 데이터 저장소입니다."라고 Parente는 말합니다.

식별을 용이하게 하기 위하여 기계학습 및 인공지능 사용

Thorn은 이미지 유사성을 계산하기 위해 이미지 비교에 대한 처리량이 매우 높은 SingleStore의 유클리드 거리 함수를 사용합니다. 이 과정은 SingleStore의 공동 CEO인 Nikita Shamgunov의 블로그 게시물(SingleStore as a Data Backbone for Machine Learning and AI)에 자세히 설명되어 있습니다.

아래 슬라이드는 이 함수의 사용법을 보여줍니다. Thorn은 이전에 이미지 인식을 위한 기계학습의 발전을 위해 SingleStore와 함께 협력했습니다.

데이터 파이프라인으로 Amazon SQS 사용

Thorn은 Amazon S3 및 SQS를 데이터 파이프 라인의 입력 소스로 사용합니다. 다른 많은 SingleStore 고객도 비슷한 상황에서 Kafka를 사용했습니다. (최근에는 주요 기술 서비스 회사의 Kafka-plus-SingleStore 아키텍처를 사용한 사례 연구를 발표했습니다.) 그러나 Thorn은 Amazon SQS의 유지보수 및 관리가 더 쉽다는 것을 알았습니다.

Parente에 따르면, “우리의 데이터는 현재 스트리밍 방식으로 S3에 제공되지 않습니다. 마이크로 배치의 집합입니다. 현재 Kafka와 관련하여 일반적으로 볼 수 있는 스트리밍 지원이 필요하지 않습니다."

“우리는 SQS를 사용하여 데이터가 S3 버킷으로 전달될 때 필요한 알림을 제공합니다.”라고 Parente는 말합니다. "알림을 받으면 데이터 파이프 라인은 응용 프로그램에서 사용할 수 있도록 SingleStore에 결과를 저장하기 전에 일련의 기계 학습 모델과 자연어 처리 주석을 실행합니다."

Thorn의 스테이트리스(Stateless)를 성취할 수 있도록 도와주는 SingleStore Managed Service

Thorn이 AWS에서 직접 설치하고 실행할 수 있는 자체관리형(self-managed) SingleStore 소프트웨어가 아닌 SingleStore Managed Service를 선택한 이유는 무엇입니까? 주요 이유는 그들의 기술 자원을 다른 분야에 집중시키기 위함입니다. 데이터베이스 관리에 절약되는 매 시간은 조사자의 프로세스를 가속화하는 작업에 한 시간씩 여유가 있어 시기적절한 통찰력을 제공하고 시간과 공간에 걸쳐 정보를 취합하여 아동 피해자를 더 빨리 찾을 수 있습니다.

SingleStore Managed Service의 기능은 Thorn의 요구에 적합합니다. Thorn은 대부분의 시스템의 관리 툴로 Kubernetes를 사하고, Kubernetes를 기반으로 구축되어 이를 핵심 데이터베이스로 사용하는 SingleStore Managed Service를 사용하여 소프트웨어 유지보수 및 관리를 최대한 오프로드하는 방식으로 시스템을 설계했습니다.

Kubernetes는 원래 상태 비저장 서비스용으로 개발되었으며, Thorn은 데이터 파이프라인을 최대한 상태 비저장으로 구축했습니다. Parente는 “파이프라인 작업자는 모두 상태 비저장입니다. 일부 입력 데이터 처리에 실패하면 파이프라인은 단지 미래의 어느 시점에서 S3로부터의 입력을 요청합니다.”

더 최근에 Kubernetes는 상태 저장 소프트웨어를 관리하기 위한 기능을 추가했습니다. 이러한 기능을 작동시키려면 SingleStore(또는 모든 데이터베이스)과 같은 상태 저장 소프트웨어에는 데이터베이스와 Kubernetes 사이의 인터페이스 역할을 하는 Kubernetes Operator가 필요합니다. SingleStore는 Kubernetes Operator를 만들어 SingleStore Managed Service 관리에 사용하기 때문에 SingleStore 고객의 자체 개발 노력을 줄일 수 있습니다.

Thorn은 SingleStore Operator를 사용하여 자체 관리 SingleStore 소프트웨어를 Kubernetes 관리 프레임 워크에 통합할 수 있었습니다. 대신, 그들은 SingleStore Managed Service를 선택했습니다. “어떻게든지 우리는 Kubernetes의 상태 저장 기능에 의존하고 있습니까?”라는 질문에 대한 간접적인 대답은 '그렇습니다. 그러나 Managed Service를 통해 간접적으로'입니다.” Thorn은 상태 저장 소프트웨어 (SingleStore 데이터베이스)의 관리를 SingleStore Managed Service를 통해 SingleStore회사에 맡김으로써, 상태 비저장 관리 프레임워크를 유지합니다.

"우리가 SingleStore Managed Service를 사용하는 이유 중 하나는 상태 저장 데이터 저장소를 관리해야 하는 부담을 덜기 위함입니다."라고 Parente는 말했습니다. "SingleStore Managed Service를 사용하지 않고 자체 데이터베이스를 호스팅하는 경우 Kubernetes에서 데이터베이스를 확장하여 노드를 다시 시작한 후 데이터를 유지하고 새로운 노드를 활용하기 위해 데이터를 다시 파티셔닝하는 등의 책임이 있습니다."

Thorn은 다른 데이터 저장소를 위해 업계 선두의 다른 전문가들을 대변합니다. "S3의 경우, 아마존이 복잡성을 관리하고 있다. 파일이 작성되고, 그 다음에 우리는 S3가 광고된 대로 작동한다고 가정합니다."고 Parente는 말합니다.

두 기술 모두에 대해 동일한 질문이 있습니다. “백업이 확실합니까? 규모가 커질까요? AWS 및 SingleStore를 포함한 다른 공급 업체에 이를 제공하려고 합니다. 그것은 우리의 사명 중심의 일에 더 나은 시간을 보냈습니다. 우리는 시스템을 구축하는 방법에 더 중점을 두거나 처리된 정보를 사용자에게 최상의 방식으로 제공합니다.”

두 기술 모두에 대해 동일한 질문이 제기됩니다: "백업된 것이 확실합니까? 규모가 커집니까? 우리는 그것을 AWS와 SingleStore를 포함한 다른 벤더로 오프로드하고 싶습니다. 그 시간을 우리의 임무 지향적인 일을 위해 사용하고 싶습니다. 우리는 어떻게 시스템을 구축하는지, 또는 처리된 정보를 사용자에게 가장 적합한 방식으로 공개하는지에 더 초점을 맞추고 있습니다."

이러한 접근 방식을 통해 Thorn은 사용자와 보다 긴밀하게 협력하고, 사용자 요구를 충족시키기 위해 시스템을 개선하며, 필요한 방식으로, 아동 성매매 피해자 신원 확인의 우선 순위를 정하는 데 필요한 형식 및 시기에 따른 데이터를 얻을 수 있습니다.

결론

Thorn의 CEO Julie Cordua는 말하길 SingleStore는 실시간 결정과 예측 분석을 더 쉽게 할 수 있도록 함으로써 조직에 실질적인 영향을 미치고 있습니다. SingleStore는 우리의 기계학습과 AI 요구를 지원하도록 쉬운 확장이 가능하여, 우리가 인신매매와 성 학대 피해자들을 더 빨리 찾을 수 있는 더 나은 도구를 지속적으로 구축할 수 있도록 도와줍니다. 사람들의 삶에 실질적인 변화를 가져올 수 있는 방식으로 기술이 적용되는 것은 진정한 사례일 것입니다.

당신도 SingleStore Managed Service의 사용 편의성, 관리 용이성, 신뢰성을 이용할 수 있습니다. 지금 무료로 SingleStore를 사용하거나 SingleStore에 문의하시길 바랍니다.

December 5, 2019

 

Floyd Smith


출처: https://www.singlestore.com/blog/case-study-thorn-frees-up-resources-with-memsql-helios-to-identify-trafficked-children-faster/

 

Case Study: Thorn Frees Up Resources with SingleStore Managed Service to Identify Trafficked Children Faster

Spotlight, the child sex trafficking investigations tool from nonprofit Thorn, uses SingleStore to help law enforcement find trafficked children, fast.

www.singlestore.com

 

 

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