스트리밍 분석의 기초: 현대적인 데이터 결정 솔루션

Evren Eryurek
Director of Product Management, Google Cloud
* 본 아티클의 원문은 2020년 12월 11일 Google Cloud 블로그(영문)에 게재되었습니다.
현대의 데이터 수집 분야에서 스트리밍 분석이란 말 그대로 이벤트 스트리밍이라고 불리는, 끊임없이 움직이는 데이터 흐름을 가리킵니다. 이 스트림은 웹 클릭, 거래, 사기 행위 등 동작의 결과로 발생하는 모든 이벤트로 구성되며 모든 시간대를 포함합니다. 스트리밍 분석을 사용하면 이러한 작업 이벤트를 지속적으로 모니터링하고 이벤트 스트림이 생성되는 즉시 자동으로 동작을 수행할 수 있습니다. 스트리밍 분석이 원활하게 작동하는 경우 고객이 특정 시점에 어떤 상품을 온라인으로 구매하는지, 어떤 오류 메시지가 얼마나 자주 나타나는지 등 데이터에 대한 정보를 파악하여 올바른 결정을 손쉽게 내릴 수 있습니다. 스트리밍 분석을 알맞게 활용하려면 원하는 목표가 무엇인지 분명히 해 두는 것이 좋습니다. 리소스와 시간을 어디에 집중시킬 것인지, 관련 정보를 파악하려면 어떤 데이터가 필요한지 고려하세요.
스트리밍 분석을 사용해야 하는 이유
IDC는, 2025년에 이르면, 전 세계 데이터 지형에서 생성되는 데이터 중 1/4이 넘는 비율이 사실상 실시간 데이터일 것이라고 예측합니다. 그러한 성장을 촉구하는 요인은 무엇일까요? 오늘날 우리의 일상과 비즈니스에서 하는 모든 활동은 디지털 흔적을 남깁니다. 실시간 데이터 생산에 기여하는 요소는 무수히 많습니다. 산업 센서, 스마트폰, 웨어러블 기기, 자동차 내비게이션 같은 디지털 기기 및 연결된 기기 또는 혁신형 연결 기기는 물론, 구매 내역, 클릭 스트림, 광고, 인벤토리, 원장 같은 온라인 상호작용뿐만 아니라 소셜 미디어 게시물, 사진, 이메일, 공동작업 플랫폼 같은 디지털 커뮤니케이션 서비스가 모두 여기에 해당합니다. 데이터의 양과 생산 속도, 다종성은 기하급수적으로 증가하고 있으며, 따라서 이 새로운 시대에 적응해야 비즈니스가 경쟁력을 유지할 수 있습니다.
지금까지 분석용 데이터를 정리하는 방법은 일괄 처리였습니다. 이때 새 데이터를 처리하는 데는 몇 시간이나 며칠, 혹은 몇 주까지도 걸립니다. 일괄 처리 방법은 과거의 정보에 초점을 맞추므로 비즈니스도 지난 이벤트에만 반응할 수 있다는 한계가 있습니다. 오늘날 비즈니스 환경에서 데이터는 흔히 전략적 차별 요소로 작용합니다. 따라서 데이터를 실시간에 가깝게 처리하지 못한다면 필요한 결정도 한 박자 늦게 내릴 수밖에 없습니다. 이벤트 소스에서 생성되는 실시간 데이터는 빠른 시간 내에 가치가 소멸되기 쉬운 정보를 파악하고 조치를 취할 수 있는 유용한 기회를 제공합니다. 즉 비즈니스가 빠르게 행동해야 하며, 그러려면 행동이 필요한 시점에 실시간으로 데이터 분석이 완료되어 있어야 합니다. 사기를 발견하느냐 예방하느냐, 고객이 장바구니에 담긴 항목을 포기하느냐 구매하느냐, 고객 서비스를 뒤늦게 비효율적으로 제공하느냐 사전에 효율적으로 제공하느냐의 차이는 바로 여기에 달려 있습니다.
실시간 데이터가 비즈니스의 수익에 영향을 미칠 수 있는 영역은 그 밖에도 다양합니다.
- 타겟팅 가격 책정 전략 수립: 비즈니스에서 상품 프로모션을 운영하는 경우, 고객의 구매 여부를 결정 짓는 데 무엇보다 중요한 것은 적절한 가격 책정을 테스트하는 것입니다. 스트리밍 데이터를 사용하면 각각의 고객을 위한 가격 탄력성과 할인 제공 시기, 맞춤 혜택, 영업 채널에 대해 보다 세밀한 조치를 취할 수 있습니다.
- 실시간 사기 감지: 실시간 스트리밍 데이터에 액세스하면 모든 재무 부정행위에 대해 신속한 대응이 가능합니다. 따라서 사기 가능성이 있는 트랜잭션에 소모되는 비용을 상각하는 대신 즉시 신고할 수 있습니다.
- 고객 충성도 구축 및 시장점유율 확보: 고객과 원활히 소통하는 관계를 구축하면 고객의 신뢰를 얻고 매출을 올리는 데 도움이 됩니다. 잠재 고객에게 거의 실시간으로 콘텐츠, 가격 책정, 솔루션에 대해 맞춤 혜택을 제안하며 소통하면 고객들의 만족도와 충성도가 향상됩니다.
- 운영 효율성 증진: 실시간 데이터 분석을 사용하면 지속적으로 데이터 무결성을 모니터링하고 자동 대응할 수 있습니다. 스트리밍을 도입하면 오류가 발생하기 쉬운 수동 처리 과정을 줄일 수 있으며, 다른 조직과의 데이터 상호 운용성이 향상되고 데이터의 활용도를 높임으로써 출시 속도를 가속화할 수 있습니다.
스트리밍 분석이 내 비즈니스에 적합한지 평가하는 방법
스트리밍 분석의 이점이 모든 문제에 동일하게 적용되지는 않습니다. 또한 실시간 데이터로 전환하는 것이 간단하지만은 않습니다. 데이터를 확보하고 수집하고 처리하는 방법은 다양합니다. 정보의 대부분은 기업의 데이터를 분석하여 얻는 것입니다. 수집 및 분석하는 데 적합한 데이터는 어떤 데이터일까요? 실시간으로 확보할 데이터와 나중에 확보할 데이터의 우선순위를 정하는 올바른 방법은 무엇일까요? 스트리밍 분석이 나에게 적합한지 알아보려면 다음을 고려해야 합니다.
- 현재 환경 평가하기: 조직에서 데이터를 생성하는 애플리케이션을 파악하고 중요도에 따라 데이터 스트림의 순위를 정하세요. 소매업의 예를 들어 본다면, 웹사이트 클릭 스트림이 수익 창출 기회와 직접적인 관련이 있다는 점에서 백오피스 급여보다 실시간 애플리케이션을 사용해야 할 필요성이 더 높습니다.
- 실시간 분석 사용 사례를 데이터 스트림에 매핑하기: 매출 및 수익을 모두 높이는 데 중요한 활동이 무엇인지 결정하세요. 고객 응대일 수도, 제품 결함 감지일 수도, 보안 강화일 수도 있습니다.
- 구축인가, 구매인가 선택하기: 기술의 활용도를 극대화할 수 있는 적절한 역량을 보유한 직원이 있나요? 이러한 전문가를 고용할 리소스가 있나요? 여기에 대한 대답이 완전 관리형 서비스를 사용할지, 오픈소스 기술을 사용할지 평가할 때 반영될 수 있습니다.
Google Cloud의 완전 관리형 실시간 스트리밍 플랫폼으로는 내구성 높은 메시지 스토리지이자 실시간 메시지 전송을 제공하는 Cloud Pub/Sub, 실시간 및 일괄 파이프라인을 위한 데이터 처리 엔진인 Cloud Dataflow, 서버리스 데이터 웨어하우스인 BigQuery가 있습니다. 이러한 플랫폼은 유연성과 확장성에 알맞게 설계되며, Google Cloud는 친숙한 오픈소스 도구와 Cloud Storage, 데이터베이스 등 그 밖의 Google Cloud 도구를 지원 및 통합합니다. 따라서 손상 없이 일괄 소스 및 스트리밍 소스를 한곳으로 가져와 손쉽게 액세스하고 효율적으로 분석할 수 있습니다.
활용도 높은 사용 사례에서 아키텍처를 시작할 수 있도록 참조 패턴을 제공해 드립니다.