진정한 실시간: 최신 인사이트를 위한 BigQuery 연속 쿼리 도입
Nick Orlove
BigQuery Product Manager
Pavan Edara
Distinguished Software Engineer
세계는 실시간으로 돌아갑니다. 고객이 제품을 구매하고 금융 거래가 이루어지고 상품이 배송되고 센서가 데이터를 생성하고 보안 위협이 발생합니다. 이러한 실시간 이벤트에서 믿기 어려울 정도로 많은 데이터가 생성됩니다. 하지만 여전히 많은 기업이 기존의 일괄 지향적 분석에 의존하는 탓에 데이터 생성 속도를 따라가지 못하고 있습니다.
데이터 분석가와 엔지니어가 BigQuery를 즐겨 사용하는 이유는 방대한 데이터 세트와 복잡한 쿼리를 쉽게 처리할 수 있기 때문입니다. 하지만 입력과 출력 모두의 연속적인 데이터 스트림을 관리할 수 있는 확장된 실시간 기능에 대한 사용자 요구가 증가하고 있습니다. 이러한 고객의 요구를 충족하기 위해 Google Cloud는 BigQuery를 실시간 이벤트 기반 분석 플랫폼으로 발전시켰습니다. 그리고 오늘 BigQuery 연속 쿼리의 프리뷰 버전이 출시되었다는 기쁜 소식을 전해드립니다.
Google Cloud는 진정한 실시간 데이터 분석에 수반되는 비용과 복잡성을 해결하기 위해 BigQuery 연속 쿼리를 개발했습니다. 지금까지 '실시간'은 몇 분 또는 몇 시간이 지난 데이터의 분석을 의미했습니다. 그러나 데이터 수집 및 분석 환경은 빠른 속도로 진화하고 있습니다. 데이터 생성이 급증하고 고객 참여, 의사 결정, AI 기반 자동화가 늘어남에 따라 의사 결정에 허용되는 지연 시간도 크게 줄었습니다. 이제는 몇 분이나 몇 시간이 아닌 초 단위의 인사이트가 요구됩니다.
고객의 기대치도 크게 달라졌습니다. 오늘날 고객은 온라인 경험에서 실시간 맞춤형 상호작용을 원합니다. 기업은 모든 관련 맥락을 고려해 즉각적으로 대응해야 한다는 압박을 받고 있지만 일괄 지향적 분석으로는 이를 간단하게 실현할 수 없습니다.
이러한 요구를 충족하기는 어렵습니다. BigQuery와 같은 엔터프라이즈 데이터 플랫폼도 높은 처리량의 실시간 데이터 수집이 가능하지만, 원래는 일괄 지향적 방식으로 분석을 수행하도록 설계되었습니다. 즉, 데이터를 이벤트 기반으로 '푸시'하는 대신 임시 작업이나 예약된 작업을 통해 시스템에서 '가져옵니다'. 또한 스트리밍 분석이 가능하도록 추가 기술을 BigQuery와 통합할 수는 있었지만 이 경우 아키텍처가 더 복잡해지고 다양한 프로그래밍 기술이 필요하며 해결 가능한 사용 사례의 수가 제한적이었습니다.
BigQuery 연속 쿼리 도입
BigQuery 연속 쿼리로 상황이 완전히 달라졌습니다. BigQuery 연속 쿼리를 사용하면 지속적으로 처리되는 SQL 문을 실행하여 새 이벤트가 BigQuery에 도착했을 때 데이터를 처리, 분석, 변환할 수 있어 인사이트가 항상 최신 상태로 유지됩니다. 이 기능은 Google Cloud 생태계와 기본적으로 통합되기 때문에 더욱 큰 잠재력이 있습니다. Vertex AI와 Gemini를 활용하여 실시간으로 수신 데이터에 대한 머신러닝(ML) 추론을 수행할 수 있습니다. 추가 처리 및 분석을 위해 Pub/Sub 주제, Bigtable 인스턴스 또는 다른 BigQuery 테이블에 대한 연속 쿼리의 결과를 복제할 수도 있습니다. 데이터 스트림을 지속적으로 모니터링하고 주목할 만한 이벤트가 발생하는 순간 작업을 트리거하는 등 필요할 때 언제든 부를 수 있는 분석가가 항상 대기하고 있는 것과 같습니다.
Google Cloud에서는 BigQuery 연속 쿼리로 BigQuery의 기능을 대폭 확장하여 기존 통합 데이터 플랫폼의 강점과 함께 새로운 이벤트 기반의 동적 데이터 처리 기능을 지원합니다. 이 기능을 사용하면 데이터 변화에 즉각적으로 대응하는 애플리케이션을 빌드할 수 있어 새로운 영역의 가능성이 열립니다. 전례 없는 민첩성을 발휘하여 맞춤형 고객 경험을 즉석에서 만들고 상황이 악화되기 전에 이상치를 감지하고 의사 결정 프로세스를 자동화할 수 있습니다.


BigQuery 연속 쿼리의 획기적인 잠재력
BigQuery 연속 쿼리의 도입은 데이터가 위치하는 실시간 및 이벤트 기반 데이터 분석의 큰 발전을 의미합니다. 다음과 같은 작업이 가능합니다.
-
실시간 파이프라인 간소화: 익숙한 SQL 언어를 사용해 복잡한 실시간 데이터 변환 및 분석을 표현할 수 있어 추가적인 기술이나 전문 프로그래밍 기술이 필요 없습니다.
-
실시간 AI 사용 사례 활용: 실시간 데이터 변환과 Vertex AI 및 Gemini를 사용하는 Google의 강력한 AI 제품을 통합하여 맞춤형 콘텐츠 생성, 데이터 보강 및 항목 추출, 즉각적인 이상치 감지, 이벤트 기반 아키텍처 지원 등 다양한 실시간 AI 기반 애플리케이션을 구현할 수 있습니다.
-
역방향 ETL 간소화: BigQuery 연속 쿼리는 Pub/Sub 및 Bigtable과 같은 다른 Google Cloud 서비스와 통합됩니다. 따라서 연속 쿼리의 결과를 Pub/Sub 주제로 보내 이벤트 기반 데이터 파이프라인과 실시간 애플리케이션 서빙을 위한 Bigtable 인스턴스를 만들 수 있습니다. 추가 분석을 위해 연속 쿼리의 결과를 다른 BigQuery 테이블에 쓸 수도 있습니다.
-
확장성 및 성능 제공: BigQuery의 강력한 서버리스 인프라를 기반으로 한 연속 쿼리는 방대한 양의 데이터를 높은 처리량과 짧은 지연 시간으로 처리할 수 있습니다.
즉, BigQuery 연속 쿼리는 실시간 이벤트 처리를 범용화하여 광범위한 대상의 접근성을 높이고 기업이 SQL을 사용해 자사 데이터의 잠재력을 최대한 발휘할 수 있도록 지원합니다.
세계 최대 규모의 제약 및 생물 의학 기업 중 하나인 Bayer와 같은 고객은 BigQuery의 연속 쿼리에 새로운 실시간 사용 사례를 실현할 가치가 있다고 평가했습니다.
“Bayer는 과거에 어렵다고 입증된 실시간 분석을 제공해야 하는 중압감을 안고 있습니다. 이제 BigQuery 연속 쿼리를 평가할 기회를 얻게 되어 향후 이 기능의 활용 가능성에 대한 기대감이 매우 큽니다. ERP, CRM, IoT 데이터의 실시간 통합부터 실시간 모니터링 및 알림 사용 사례에 이르기까지 연속 쿼리는 데이터 웨어하우스 내에서 더욱 다양한 비즈니스 과제 유형을 해결하는 획기적인 솔루션이 될 것입니다.” - Anthony Savio, Bayer 데이터 웨어하우스 엔지니어링 리드
실전 예시
실제로 어떻게 사용하는지 보는 것만큼 효과적인 학습 방법은 없습니다. 따라서 BigQuery 연속 쿼리가 장바구니 이탈이라는 일반적인 전자상거래 과제를 어떻게 해결하는지 살펴보겠습니다.
심혈을 기울여 좋은 제품을 만들었고 잠재고객을 웹사이트로 유치했으며 고객들이 장바구니에 상품을 추가했다고 가정하겠습니다. 하지만 구매를 완료하지 않은 채 고객들이 이탈합니다. 정말 답답한 상황일 것입니다. Baymard Institute에 따르면 평균 장바구니 이탈률이 70%에 달할 정도로 장바구니 이탈은 매우 흔한 문제입니다. 해결책을 제시해 드리겠습니다. BigQuery 연속 쿼리로 실시간 참여를 유도하여 고객의 관심을 다시 불러일으키세요.
시연을 위해 BigQuery 테이블을 사용하여 웹사이트의 장바구니 이탈 이벤트를 로깅하고 고객 연락처 정보, 이탈된 장바구니의 내용물, 이탈 시간을 캡처해 보겠습니다. BigQuery 연속 쿼리를 실행하여 장바구니 이탈 테이블에 새 이벤트가 있는지 지속적으로 모니터링한 후 Vertex AI를 통해 이탈된 새 장바구니를 전송하여 고객별로 맞춤설정된 프로모션 이메일을 생성하고 제품 추천 및 한시적 할인을 제공하고 맞춤형 이메일 콘텐츠를 Pub/Sub 주제에 게시할 것입니다. 마지막으로 간단한 Application Integration 플랫폼 트리거를 사용해 수신된 각 Pub/Sub 메시지에 대한 이메일을 전송합니다.


이 GitHub 저장소를 사용하여 단계별 안내를 따라 나만의 엔드 투 엔드 연속 쿼리 데모를 구축합니다.
데모 환경이 설정되고 실시간 이벤트가 BigQuery 장바구니 이탈 테이블로 스트리밍되면 아래와 같이 처리할 SQL 쿼리를 작성하고 생성형 AI를 사용하여 맞춤형 이메일을 만들어 Pub/Sub 주제에 작성할 수 있습니다.
그다음 BigQuery 편집기에서 BigQuery 연속 쿼리 모드를 간단하게 사용 설정하고 이 쿼리를 영구적으로 실행하여 새로운 이벤트가 도착할 때마다 데이터를 처리하도록 구성합니다.


이제 장바구니 이탈이 발생하면 몇 초 만에 아래 예시와 같은 맞춤형 이메일이 고객에게 전송되어 판매가 다시 진행될 가능성이 커집니다. BigQuery 연속 쿼리 내에서 단순하고도 강력한 SQL을 사용해 이 모든 것이 조정됩니다.




“Confluent는 Confluent Cloud와 BigQuery 연속 쿼리를 통합하여 조직에서 실시간으로 데이터의 잠재력을 최대한 실현하도록 지원하고 있습니다. 이러한 협업을 통해 데이터 파이프라인을 간소화하고 의사 결정을 개선하고 혁신적인 데이터 기반 애플리케이션을 만들어 비즈니스에서 상당한 경쟁력을 확보하고 있습니다.” - Mike Agnich, Confluent 데이터 스트리밍 플랫폼 부문 부사장 겸 총괄 이사
보다 익숙한 대화형 경험을 원하는 데이터 과학자를 위해 BigQuery 연속 쿼리가 BigQuery DataFrames와 통합됩니다. 이제 Python 노트북 내에서 직접 실시간 데이터 처리를 활용하여 실험을 간소화하고 프로토타입을 빠르게 제작하고 기존 머신러닝 워크플로에 연속 쿼리를 원활하게 통합할 수 있습니다. 자세한 내용은 Python 스트리밍 Dataframes 노트북 예시를 확인하세요.
시작할 준비가 되셨나요?
오늘날의 급변하는 세계에서 과거 데이터 또는 거의 실시간에 가까운 데이터에만 의존하는 비즈니스는 불리할 수밖에 없습니다. 실시간 인사이트는 더 이상 선택 사항이 아닙니다. 오히려 정보에 입각한 결정을 내리고 특별한 고객 경험을 제공하며 경쟁에서 앞서 나가기 위한 필수 요소입니다. 숨겨진 패턴을 발견하는 데이터 과학자, 전략적 이니셔티브를 추진하는 비즈니스 분석가, 조직이 나아갈 방향을 정하는 최고 책임자 등 모두가 실시간 데이터가 지닌 힘을 이해해야 합니다.
BigQuery 연속 쿼리는 SQL이라는 범용화된 언어를 사용하여 데이터가 유입될 때 그 잠재력을 최대한 활용할 수 있는 혁신적인 솔루션을 제공합니다. 이제 이벤트 기반 데이터 분석이 가능해졌습니다. 지금 공개 프리뷰를 신청하고 BigQuery 연속 쿼리로 실현할 수 있는 가능성을 살펴보세요. 또한 여기에서 BigQuery 연속 쿼리를 집중적으로 다룬 Google Cloud Next 2024 세션을 시청할 수 있습니다.
미래에는 진정한 실시간 데이터가 곧 경쟁력입니다. BigQuery가 이를 돕겠습니다.