라이프스타일

Google Cloud, Spanner queues 정식 출시 발표: 메시지 큐를 데이터베이스 트랜잭션에 통합해 AI 에이전트 신뢰성 겨냥

Google Cloud가 Spanner queues 정식 출시를 발표했다. 메시지 생성을 데이터베이스 트랜잭션의 일부로 만들어 AI 에이전트의 '상태'와 '동작'이 어긋나는 문제를 해결하겠다는 것이다. 공식 설명, 주요 기능, 일반 독자에게 갖는 의미를 정리했다.

읽는 데 약 8분

Google Cloud, Spanner queues 정식 출시 발표: 메시지 큐를 데이터베이스 트랜잭션에 통합해 AI 에이전트 신뢰성 겨냥
사진: Mokaair (Original editorial artwork)

Google Cloud가 발표한 내용

Google Cloud는 공식 블로그를 통해 Spanner queues의 정식 출시(general availability, 즉 더 이상 베타가 아님)를 발표했다. Spanner는 Google Cloud의 데이터베이스 서비스이며, 회사 설명에 따르면 Spanner queues는 Spanner 데이터베이스에 직접 내장된 네이티브 트랜잭션 메시징 기능이다. 글은 프로덕트 매니저 Nitin Sagar와 엔지니어링 매니저 Matthew Mucklo의 명의로 게시됐다.

여기서 '큐'는 처리를 기다리며 줄 서 있는 작업 목록이다. '트랜잭션'은 모두 완료되거나 모두 취소되도록 하나로 묶인 데이터 변경 묶음이고, '커밋'은 그 묶음을 최종 확정하는 일이다. Google Cloud는 Spanner queues를 사용하면 메시지 하나를 생성하는 것이 트랜잭션 안의 또 하나의 쓰기에 불과하다고 설명했다. 다시 말해 AI 에이전트(환불 처리, 재고 관리 등을 자율적으로 수행하는 AI 프로그램)가 자신의 상태를 갱신하는 일과 '다음에 무엇을 할지'에 대한 지시가 하나의 일로 함께 기록되며, 모두 성공하거나 모두 무효가 된다.

해결하려는 문제: 상태와 동작의 불일치

Google Cloud는 AI 에이전트가 데이터베이스에 내부 상태를 기록하는 동시에, 별도의 메시지 또는 이벤트 큐 시스템을 통해 비동기 동작(즉시 완료를 기다리지 않고 나중에 실행되는 작업)을 전달해야 하는 경우가 많다고 지적했다. 회사는 두 시스템이 각자 커밋하면 트랜잭션 일관성이 깨진다고 보고 있다.

Google Cloud는 두 가지 실패 시나리오를 들었다. 하나는 데이터베이스는 갱신됐지만 동작이 전송되지 않아 에이전트가 '결정만 하고 실행하지 않은' 경우다. 다른 하나는 동작은 전송됐지만 데이터베이스 갱신이 롤백(취소)되어 에이전트가 무효한 상태를 근거로 행동한 경우다. 회사는 개발자들이 그동안 직접 보완 장치를 구축해야 했다고 설명했다. 그 예로 outbox 패턴 같은 우회 설계, 멱등성 계층(같은 동작이 반복 실행돼도 중복 결과가 생기지 않도록 보장하는 장치), 어긋난 데이터를 나중에 맞춰 주는 대사(reconciliation) 프로그램을 들었으며, 이를 무거운 신뢰성 부담이라고 표현했다.

기존 방식과 Spanner queues 비교. 내용은 모두 Google Cloud 공식 블로그의 설명을 바탕으로 정리
항목기존 방식(Google Cloud 설명 기준)Spanner queues(Google Cloud 주장 기준)
상태와 메시지데이터베이스와 메시지 시스템이 따로 커밋같은 트랜잭션 안에서 함께 커밋되거나 함께 실패
지연과 스케줄링외부 cron 스케줄러(정해진 시간에 작업을 실행하는 도구)나 폴링(주기적으로 반복 확인하는 방식) 필요메시지를 즉시 전달하거나 미래 시점에 도착하도록 예약 가능
신뢰성 보완outbox, 멱등성 계층, 대사 프로그램을 직접 구축메시지의 최소 1회 전달과 최대 1회 확인을 보장하며, 이를 통해 정확히 1회 처리 달성 가능
모니터링 방식메시지 저장소가 흔히 블랙박스처럼 동작표준 SQL로 큐 테이블 조회

주요 기능

  • 원자적 결정과 큐 등록: Google Cloud는 에이전트가 같은 트랜잭션 안에서 메모리나 상태를 갱신하고 다른 에이전트에게 작업을 넘길 수 있다고 밝혔다. 두 가지는 분리될 수 없게 함께 완료된다.
  • 스케줄링과 지연: 회사 설명에 따르면 지연 재시도, 예약 점검, SLA(서비스 수준 약정) 에스컬레이션 타이머를 모두 상태 갱신과 함께 기록할 수 있다.
  • 사람의 승인과 타임아웃: Google Cloud는 관리자 승인을 기다리는 경우를 예로 들었다. 승인 대기 상태를 기록하면서 72시간 뒤 에스컬레이션 처리를 예약할 수 있고, 관리자가 미리 승인하면 같은 트랜잭션 안에서 해당 에스컬레이션 작업을 취소할 수 있다.
  • 리스 관리: '리스'는 처리 프로그램이 작업 하나를 일시적으로 가져가 점유하는 기한이다. Google Cloud는 Spanner가 메시지 리스를 자동으로 관리한다고 밝혔다. 시간이 오래 걸리는 LLM(대규모 언어 모델) 추론이나 외부 API 호출을 처리할 때는 리스를 연장할 수 있다.
  • SQL 모니터링: 회사는 GoogleSQL로 큐를 정의·조회·관리할 수 있고, 표준 SQL로 실행 기록을 감사할 수 있다고 설명했다.

Google Cloud는 Spanner change streams와 Spanner queues도 특별히 구분했다. 전자는 데이터베이스의 데이터 변경을 지속적으로 캡처해 후속(다운스트림) 분석이나 저장소로 스트리밍하는 데 쓰인다. 후자는 트랜잭션 기반 작업 오케스트레이션(여러 작업의 순서와 처리를 조율하는 일)을 위해 설계됐다.

일반 독자에게 미치는 영향

일반 사용자가 Spanner queues를 직접 다룰 일은 없지만, 이 기능이 해결하려는 문제는 간접적으로 체감할 수 있다. Google Cloud는 환불과 승인을 예로 들었다. 에이전트의 '기록'과 '실제 동작'이 어긋나면 해야 할 일이 처리되지 않거나, 승인 후에도 독촉 알림을 받는 등의 상황이 생길 수 있다는 것이다. Google Cloud는 이 기능이 바로 이런 일관성 문제를 데이터베이스가 처리하도록 맡기는 것이라고 밝혔다.

Google Cloud는 Spanner queues를 AI 에이전트 이외의 영역에도 활용할 수 있다고 밝혔다. 예로는 소셜 피드, 실시간 뉴스 업데이트, 소매 주문 및 재고 흐름, 금융 서비스의 거래 알림을 들었다. 실제 효과는 각 기업의 설계와 활용 방식에 달려 있으며, 현재 그 성능을 검증한 독립적인 출처도 없다.

자주 묻는 질문

Spanner queues란 무엇인가?

Google Cloud에 따르면 Spanner 데이터베이스에 직접 내장된 트랜잭션 메시징 기능이다. 메시지 생성은 트랜잭션 안에서 데이터를 한 건 더 쓰는 것과 같아, 다른 데이터 갱신과 함께 성공하거나 함께 실패한다.

Google Cloud는 왜 이 기능이 AI 에이전트에 특히 적합하다고 하나?

Google Cloud는 AI 에이전트가 상태를 기록하면서 동시에 동작을 전달해야 하는 경우가 많다고 지적했다. 둘이 서로 다른 시스템에 속하면 결정만 하고 실행하지 않거나, 무효한 상태를 근거로 실행하는 상황이 생길 수 있다. Spanner queues는 두 가지를 같은 트랜잭션 안에서 완료하게 한다.

작업이 한 번만 실행되도록 보장하나?

Google Cloud는 최소 1회 전달과 최대 1회 확인을 보장하며, 사용자가 이를 통해 정확히 1회 처리를 '달성'할 수 있다고 밝혔다. 즉 여전히 올바른 애플리케이션 설계가 필요하다는 뜻이다. 예컨대 회사의 예시처럼 작업 번호를 외부 API의 멱등성 키로 사용해, 중복 전송된 요청이 두 번 실행되지 않도록 해야 한다.

Spanner change streams와는 무엇이 다른가?

Google Cloud 설명에 따르면 change streams는 데이터 변경을 지속적으로 캡처해 후속 분석이나 저장소로 스트리밍하는 데 쓰인다. Spanner queues는 트랜잭션 기반 작업 조율용이다. 메시지 리스, 예약 전달, SQL 기반 가져오기(pull), 트랜잭션 내 확인을 지원한다.

이 주장들은 독립적으로 검증됐나?

아니다. 이 글의 정보는 Google Cloud 공식 블로그에서만 나온 업체 발표이며, 현재까지 독립적인 제3자의 테스트나 확인은 확인되지 않았다.

이 주제의 최신 뉴스 보기

최신 여행 소식·가이드

출처

라이프스타일