본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 15. 14:08

Google Cloud의 Multi Model Spanner를 사용하여 AI 여행 플래너를 쉽게 구축하기

요약

Google Cloud Spanner가 관계형, 벡터, 그래프, 분석 워크로드를 하나의 시스템에서 처리하는 멀티 모델 데이터베이스로 출시되었습니다. 이를 통해 AI 애플리케이션 개발 시 발생하는 데이터베이스 파편화와 복잡한 ETL 과정을 제거하고 효율적인 AI 여행 플래너 구축을 지원합니다.

핵심 포인트

  • Spanner 멀티 모델 지원으로 관계형, 벡터, 그래프 데이터를 통합 관리 가능
  • 별도의 벡터 DB나 그래프 저장소 없이 단일 인스턴스 내에서 쿼리 수행
  • 데이터 사일로 및 ETL 동기화 작업 감소로 개발 복잡성 해결
  • 글로벌 일관성과 높은 가용성을 유지하며 대규모 AI 워크로드 처리

데이터베이스 확산(Database sprawl)은 빠른 AI 개발의 소리 없는 살인자입니다. 사용자 의도, 추천 또는 지능형 라우팅을 포함하는 AI 제품을 구축해 본 적이 있다면, 여러분은 이 고통과 싸워왔을 것입니다. 트랜잭션 저장소, 시맨틱 검색(semantic search)을 위한 벡터 엔진(vector engine), 그리고 관계 그래프(relationship graphs)를 위한 세 번째 데이터베이스를 번거롭게 조율해야 하는 상황 말입니다. 시스템이 추가될 때마다 ETL, 동기화 작업, 그리고 API의 혼란이 뒤따릅니다. 만약 이 모든 것이 사라진다면 무엇이 달라질까요? Google Cloud Spanner가 진정한 멀티 모델(multi model) 데이터베이스로 출시되었습니다. 즉, 글로벌 일관성(global consistency) 하에 관계형(relational), 벡터(vector), 그래프(graph) 및 분석(analytic) 워크로드를 직접 처리할 수 있음을 의미합니다. Google Cloud Spanner 멀티 모델 데이터베이스 앱을 구축하는 과정이 고된 작업에서 흐름(flow)으로 바뀌고 있습니다.

데이터와 AI가 글루 코드(glue code) 없이 드디어 서로 소통할 수 있게 해주는 Vibe Coding을 통해 처음부터 끝까지 구현된 샌프란시스코용 실제 AI 여행 플래너(AI Travel Planner)가 이를 어떻게 지원하는지 살펴보겠습니다. 이것은 막연한 이론이 아니라 현재 실행 중인 모델입니다. 이것이 무엇을 가능하게 하는지, 그리고 오늘 바로 어떻게 구축할 수 있는지 소개합니다.

Google Cloud Spanner Multi Model Database란 무엇이며 왜 중요한가?

Spanner의 주장은 점진적인 개선 수준이 아닙니다. 10년 넘게 Spanner는 Gmail, YouTube, Google Photos를 지원해 왔으며, 피크 시 초당 60억 개 이상의 쿼리를 처리하고, 17 엑사바이트(exabytes)에 달하는 데이터를 다루며, 99.999%(five 9s)의 가용성과 전 세계적으로 분산된 일관성을 제공합니다. 그 규모는 논쟁의 여지가 없습니다.

새로운 점: 이제 Spanner는 정확히 동일한 분산 인스턴스 내에서 **다중 데이터 모델(multiple data models)**을 실행합니다. 관계형 테이블(Relational tables), 그래프 관계(graph relationships), 벡터 임베딩(vector embeddings), 전체 텍스트 및 분석 검색(full-text and analytical search)이 모두 함께 저장되고 쿼리됩니다. 별도의 벡터 DB나 사이드카(sidecar) 그래프 저장소가 필요 없습니다.

기존의 고통: 데이터 모델 확산(data model sprawl)

전형적인 AI 아키텍처는 여러 전문 데이터베이스를 조율해야 함을 의미합니다:

  • 관계형 (Postgres, Spanner, MySQL): 트랜잭션, 예약, 사용자용
  • 벡터 (Pinecone, Vertex AI, Weaviate): 시맨틱 검색(semantic search) 또는 추천용
  • 그래프 (Neo4j, TigerGraph): 연결 및 관계용

각각은 하나의 조각만을 처리합니다. 이들을 함께 사용하면 스키마 매핑 (schema mapping), 파이프라인 (pipelines), 그리고 운영 리스크 (operational risk)가 폭발적으로 증가합니다. 모든 ETL 또는 동기화 (sync) 작업은 고장 날 수 있는 또 다른 가동 부품이 됩니다. 분석 (Analytics)은 느려지고, 디버깅 (debugging)은 여러 API를 넘나들어야 합니다.

Spanner의 새로운 모델: 이 모든 데이터 요구사항을 하나의 시스템에서 처리합니다. 데이터 사일로 (silos)가 줄어듭니다. 동기화 (syncs)가 줄어듭니다. 복잡성이 훨씬 낮아집니다.

핵심 요약: 취약하고 특화된 저장소들을 동물원처럼 모아 붙이는 대신, Google이 스스로를 위해 신뢰하는 규모의 단일 서비스 위에서 AI 제품을 구축할 수 있습니다.

Google Cloud Spanner는 어떻게 AI 여행 플래너를 구동할까요?

Spanner의 멀티 모델 (multi model) 백본 (backbone)은 AI 에이전트 (AI agents)를 설계하는 방식을 변화시킵니다. 데모에서는 샌프란시스코를 위한 여행 플래너를 구축했습니다. 이는 데이터베이스를 번갈아 가며 사용할 필요 없이 여행을 예약하고, 질문에 답하며, 의도 (intent)를 이해하는 하나의 에이전트 시스템 (agentic system)입니다.

세 가지 워크로드 (workloads), 하나의 기반

  1. 트랜잭션 (Transactional): 관계형 데이터 (Relational data)가 예약, 여행 일정, 장소 등을 추적합니다. 별도의 연결 도구 (glue)가 필요 없습니다. 이것이 백본 (backbone)입니다.
  2. 시맨틱 (Semantic): 벡터 검색 (Vector search)을 통해 플래너는 사용자의 요청(예: “골든 게이트 파크 근처의 루프탑 뷰가 있는 호텔” 또는 “수요일에 예술 애호가들을 위한 일정”)을 실제 관심 지점 (points of interest)과 즉시 매칭합니다. Postgres에서 Pinecone으로의 ETL이 필요 없습니다. 임베딩 (embeddings)이 동일한 DB에 존재하기 때문입니다.
  3. 그래프 (Graph): 관계(예: “함께 여행하는 사람들”, “동네별로 그룹화된 명소”, “X 명의 사용자가 방문한 곳”)는 일반 테이블이거나 통합된 그래프 함수 (graph functions)로 처리됩니다. 모두 직접적인 SQL을 통해 이루어집니다.

결정적인 차이점: 하나의 데이터베이스가 이 모든 것을 수행하며, 즉각적인 일관성 (immediate consistency)과 균일한 보안 (uniform security)을 제공하고, 수동으로 작성된 동기화 (sync) 코드도 필요하지 않습니다.

지연되는 파이프라인이 아닌 실시간 AI

샌프란시스코 AI 여행 플래너를 구축할 때, 사용자의 의도 이해, 일정 업데이트, 다음 목적지 추천과 같은 모든 에이전트 단계는 통합된 쿼리 (unified queries)를 통해 Spanner에 접속합니다. 이는 데이터 저장소 간의 조인 (joining)이 없고, 다운스트림 작업 (downstream jobs)으로 인한 지연 시간 (latency)이 없으며, 개발자를 위한 단순화된 멘탈 모델 (mental model)을 의미합니다.

당신은 단일하고 원자적인 (atomic) 제품을 출시하게 됩니다. 시스템은 더 빠르게 학습하고, 지연 없이 응답하며, 결코 동기화가 어긋나지 않습니다.

핵심 요약(Takeaway): 의도(intent)와 추천 기능을 갖춘 AI 에이전트가 매주 업데이트되는 파이프라인 데이터가 아닌, 통합된 데이터 표면(unified data surface) 위에서 실시간으로 실행됩니다.

Vibe Coding이란 무엇이며 어떻게 개발을 가속화하는가?

Vibe Coding은 "만드는 것"과 "만들어졌다" 사이의 간극을 의미합니다. 이는 자연어(natural language)와 현대적인 에이전트 도구(agentic tools)를 사용하여 흐름(flow)을 유지하며 빠르게 코드를 작성하는 것을 뜻합니다. 데모는 AI 네이티브(AI-native) 방식의 신속한 멀티모달(multimodal) 개발을 위해 설계된 제품군인 Anti-Gravity와 같은 도구들을 사용하여 구현되었습니다.

Vibe Coding의 실제 적용

  • 자연어 우선 (Natural language first): 스키마(schemas), 쿼리(queries), 로직(logic)을 자신의 언어로 설명합니다. 현대적인 도구들은 이를 파싱(parse)하여 코드나 콘솔 단계를 생성합니다.
  • AI 네이티브 빌딩 블록 (AI-native building blocks): 기존 SQL GUI를 사후에 맞춘 것이 아니라, 벡터(vectors), 그래프(graphs), 에이전트(agents)와 함께 작업할 것을 전제로 하는 툴링(tooling)을 사용합니다.
  • 채팅 속도의 반복 (Iterate at chat speed): 기능을 설명할 수 있는 속도만큼 빠르게 구축, 교체 및 테스트를 수행합니다. 사소한 수정을 위해 공식적인 업데이트/재배포(redeploy) 루프를 거칠 필요가 없습니다.

생성형 AI(GenAI) 입문자에게 이는 강력한 기능을 빠르게 얻을 수 있음을 의미합니다. 5단계 기술 스택(five-stack)을 학습할 필요 없이, 며칠간의 설정 과정 없이 바로 에이전트를 실행할 수 있습니다. 숙련된 개발자에게는 보일러플레이트(boilerplate)와 글루 코드(glue code)를 제거하는 것을 의미합니다. 검색 엔진을 억지로 끼워 맞추거나(shoehorn) 취약한 ETL을 유지 관리하기 위해 작업을 멈출 필요가 없습니다.

결과적으로: 2019년이었다면 무모해 보였을 속도로 통합된 데이터 스택 위에서 복잡한 에이전트 기반 AI 시스템을 출시할 수 있게 됩니다.

핵심 요약(Takeaway): Vibe Coding과 Spanner의 멀티 모델 DB(multi model DB)를 결합하면, 티켓을 발행하는 속도가 아닌 생각하는 속도로 현대적인 AI 소프트웨어를 구축할 수 있습니다.

오늘 바로 Google Cloud Spanner를 멀티 모델 데이터베이스로 사용하는 방법

이제 Spanner에서 멀티 모델 워크로드(multi model workloads)를 구축할 수 있습니다. 개발자가 실제로 이를 시도하는 방법은 다음과 같습니다. 단순한 개념 설계가 아닌 실제 단계입니다.

1. Spanner 인스턴스 설정

표준 GCP 프로젝트로 시작합니다.

# GCP CLI로 인증
gcloud auth login

...

2. 멀티 모델 기능 활성화

멀티 모델 기능은 새로운 Spanner 엔진 옵션과 함께 제공됩니다. 콘솔 또는 CLI를 통해 기능을 활성화하세요:

벡터 및 그래프 확장 기능 활성화 (예시; 현재 구문은 GCP 문서를 확인하세요)

gcloud spanner databases ddl update my-database
--instance=my-multimodel-db
...

CREATE TABLE Users (
  UserID STRING(36) NOT NULL,
  Name STRING(MAX),
...

작성한 DDL은 관계형 (Relational), 벡터 (Vector), 그래프 (Graph) 스키마를 하나로 통합합니다.

이제 모델 간 교차 쿼리가 가능합니다: 유사한 취향을 가진 사용자를 찾거나 (벡터), 일반 SQL로 여행 그래프를 구축할 수 있습니다.

3. 데이터 수집 (Ingest): 관계형 + 그래프 + 벡터

벡터의 경우: 임베딩 (Embeddings)을 사용자 및 명소 레코드와 함께 직접 저장합니다 (보통 모델에서 매핑된 BYTES 형식으로 저장).
그래프의 경우: 모든 "연결 (Links)" 테이블을 쿼리에서 탐색할 수 있습니다.

4. 멀티 모델 쿼리

샘플 쿼리: "미션(Mission) 지역에서 명소를 예약한 사용자 중, 이 사용자와 가장 유사한 사용자는 누구인가?"

SELECT u2.UserID, u2.Name
FROM Users u1
JOIN Users u2 ON VECTOR_COSINE(u1.Embedding, u2.Embedding) > 0.85
...

5. 혼합 워크로드 최적화

  • 스키마 (Schema): 임베딩을 컴팩트하게 유지하세요. 관계를 중복 생성하는 것을 피하세요: 하나의 그래프 테이블을 유지하고, 필요에 따라 크로스 조인 (Cross-join)을 수행합니다.
  • 인덱싱 (Indexing): 핫스팟 (Hotspot) 쿼리를 위해 Spanner의 보조 인덱스 (Secondary indexes)를 사용하세요 (예: 지역별 명소, 의도별 사용자).
  • 쿼리 튜닝 (Query tuning): 벡터 연산은 연산 집약적 (Compute-heavy)일 수 있습니다. 먼저 관계형 로직으로 필터링한 다음, 벡터 검색을 적용하세요.

결과: 전 세계적으로 일관성을 유지하면서 초당 수십만 개의 하이브리드 쿼리를 처리할 수 있습니다.

핵심 요약: Spanner의 통합된 접근 방식은 클라우드 네이티브 (Cloud-native) 규모를 갖추면서도 별도의 연결 도구(Glue) 없이 세 개의 시스템을 대체하는 단일 시스템을 구축할 수 있게 해줍니다.

[[DIAGRAM: 단일 Spanner 멀티 모델 데이터베이스 vs 세 개의 별도 데이터베이스와 취약한 ETL 파이프라인을 가진 레거시 시스템]]

에이전틱 AI (Agentic AI)를 위해 Spanner를 사용할 때의 이점과 과제는 무엇인가요?

에이전틱 AI (Agentic AI)는 단순히 응답하는 것이 아니라 목표에 따라 행동하는 시스템에 관한 것입니다. 에이전틱 여행 플래너는 자유 형식의 사용자 요청을 분석하고, 추천하고, 계획하며, 종종 실시간으로 자율적으로 예약까지 수행합니다.

주요 이점

주요 이점

  • 통합 데이터 뷰 (Unified data view): 더 이상 사일로(silos) 간의 데이터를 조정할 필요가 없습니다. 에이전트들은 하나의 스키마를 통해 세상을 바라봅니다.
  • 확장성 및 일관성 (Scalability and consistency): Spanner의 글로벌 규모는 마케팅 수사가 아닙니다. 행성급 트래픽을 견디고 일관성을 유지합니다.
  • 성능 (Performance): 적절한 스키마를 사용하면 벡터(vector) 및 그래프(graph) 쿼리가 트랜잭션 범위 내에서 실행됩니다. 이는 낮은 지연 시간의 추천 기능을 제공하며 배치 작업이 필요 없습니다.

과제점 (Challenges)

  • 학습 곡선 (Learning curve): Spanner 모델은 간단하지 않습니다. 글로벌하게 생각하고 혼합된 데이터 유형에 걸쳐 쿼리해야 합니다.
  • 비용 (Cost): 글로벌 DB는 가장 저렴한 기준(baseline)이 아닙니다. 프로젝트는 특히 벡터가 많은 워크로드의 경우 스토리지와 컴퓨팅 모두를 고려하여 범위를 설정해야 합니다.
  • 도구링 (Tooling): 생태계는 진화하고 있습니다. 전문 도구에서 1차 파티 Spanner CLI, GUI 및 AI 어시스턴트로 마이그레이션할 것을 예상하십시오.

요약: 만약 귀하의 에이전트형 AI(agentic AI)가 확산성이나 파이프라인 지연에 병목 현상을 겪고 있다면, 통합 멀티 모델 Spanner는 실제적인 동력원(lever)입니다. 단, 준비가 되어 있어야 합니다.

데이터베이스 아키텍처의 미래: Google Cloud Spanner가 어떻게 자리 잡을 것인가

업계는 하나의 교훈으로 수렴하고 있습니다: 장기적으로는 데이터베이스 통합이 승리합니다 (database consolidation wins in the long run). 스택은 '시스템별 단일 모델' 단계를 넘어섰습니다. 멀티 모델 데이터베이스가 다음 논리적 단계이며, Spanner는 규모에서 입증된 신뢰성을 바탕으로 합니다.

Spanner의 10년 이상의 가동 시간과 엑사바이트(exabyte)급 데이터 처리는 기반입니다. 새로운 멀티 모델 기능들—특히 벡터 및 그래프 지원—은 이제 AI 기능을 글로벌 트랜잭션 및 분석과 일관성 있게 나란히 실행할 수 있음을 의미합니다.

Google Cloud의 연계: 이러한 종류의 통합 데이터베이스는 이제 1차 파티 AI 서비스, 네이티브 이벤트링(native eventing), 그리고 글로벌 서빙과 직접 조정됩니다.

요약: 세상에서 가장 신뢰할 수 있는 관계형 웨어하우스로 시작했던 것이 이제 현대적이고 에이전트형 AI를 위한 원스톱 데이터 레이어가 되었습니다.

마무리: 하나의 데이터베이스, 하나의 흐름

Google Cloud Spanner 멀티 모델 데이터베이스 (multi model database)는 데이터베이스 확산 (database sprawl) 문제에 대한 현재까지 가장 신뢰할 수 있는 해답입니다. 관계형 (relational), 벡터 (vector), 그래프 (graph) 및 분석 (analytic) 워크로드를 하나의 시스템으로 통합함으로써, Spanner는 개발자와 AI 애플리케이션이 단일하고 일관된 진실의 원천 (source of truth) 위에서 작업할 수 있게 해줍니다. 이제 새로운 AI 기능을 추가할 때마다 ETL을 조율하거나 Spark 작업을 처리하며 고군분투할 필요가 없습니다. 바이브 코딩 (Vibe Coding)의 부상과 이러한 새로운 프리미티브 (primitives)와 함께 작동하도록 구축된 도구들 덕분에, 아이디어에서 출시된 AI 시스템으로 가는 경로가 빠르게 단축되고 있습니다. 에이전트형 (agentic) 지능형 애플리케이션의 미래는 하나의 시스템으로 깊어지는 것이며, Spanner는 이미 그 경계를 넘어섰습니다.

전체 과정을 확인하려면 Vibe Coding with Google Cloud's Multi Model Spanner: Building an AI Travel Planner를 참조하세요.

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0