spiceai/spiceai

Add a real-time analytics node to your operational database. Spice is a portable, accelerated SQL query, search, and LLM-inference engine in Rust for data-grounded AI apps and agents.

🌶️ Spice.ai – 오픈 소스 데이터 기반 AI 엔진

개요 Spice.ai (spiceai/spiceai 저장소)는 애플리케이션 옆에서 실행되는 Rust 기반 런타임으로, 익숙한 단일 SQL 스타일 인터페이스를 사용하여 모든 데이터 소스에 대해 쿼리, 검색 및 LLM 추론을 수행할 수 있게 해줍니다. 특정 테이블을 로컬에 구체화("가속")하여 서브밀리초 지연 시간을 구현하거나, 쿼리를 원래 소스로 푸시 다운할 수 있습니다. 이 모든 기능이 표준 API(HTTP, Arrow Flight, JDBC/ODBC 및 OpenAI 호환 LLM 게이트웨이)를 통해 노출되므로, 이 엔진을 대규모 언어 모델을 호출할 줄 아는 작은 데이터베이스처럼 다룰 수 있습니다.

주요 특징

  • 실시간 분석 복제본 – CDC 기반의 제로 ETL 복제(PostgreSQL, MySQL, MongoDB 및 DynamoDB Streams)를 통해 프로덕션 DB에 부하를 주지 않으면서 약 2초의 신선도를 가진 분석용 데이터 복사본을 제공합니다.
  • 페타바이트 규모의 하이브리드 검색 – 벡터, 전체 텍스트 및 결합(RRF) 검색이 내장되어 있으며, S3 객체, DuckDB HNSW 또는 Elasticsearch kNN 인덱스에서 직접 실행할 수 있고 모두 SQL에서 호출 가능합니다.
  • AI 네이티브 런타임 – OpenAI 호환 엔드포인트, 모델 컨텍스트 프로토콜(MCP) 서버/게이트웨이 및 텍스트-투-SQL(NSQL) 기능을 통해 에이전트가 자동으로 근거 있는 쿼리를 생성할 수 있습니다.
  • 운영 부담 없는 분산 쿼리 – Apache Ballista를 확장하여 객체 스토리지를 통해 다중 활성 스케줄러를 조정함으로써, 바이너리나 컨테이너 하나만으로 클러스터 규모의 성능을 제공합니다.
  • 플러그형 가속 – "Cayenne" 엔진(Vortex 컬럼 형식 기반)은 가속된 테이블을 RAM이나 디스크에 유지하며, 보조 인덱스, 클러스터링 및 포인트 룩업 최적화를 지원합니다.

핵심 구성 요소

구성 요소 기능 액세스 방법
SQL & 검색 API 표준 SQL, 벡터/텍스트 검색, UDTF (vector_search, text_search, rrf, rerank) HTTP, Arrow Flight, Flight SQL, JDBC/ODBC/ADBC
NSQL (텍스트-투-SQL) 자연어 프롬프트를 연합 스키마에 대한 SQL로 변환 HTTP API, REPL, 에이전트 도구 호출
LLM 게이트웨이 (OpenAI 호환) OpenAI, Anthropic, Bedrock, Vertex AI, Databricks 또는 로컬 CUDA/Metal 모델로 호출 라우팅; 프롬프트 캐싱 포함 HTTP (OpenAI 스타일)
Iceberg Catalog REST 쿼리 및 ACID 안전 쓰기(INSERT INTO)를 위한 통합 Iceberg 카탈로그 REST
MCP 서버/게이트웨이 스트리밍 모델 컨텍스트 상호작용을 위한 모델 컨텍스트 프로토콜(2026-07-28 사양) 구현 HTTP + SSE

일반적인 워크플로우

  1. 데이터셋 선언 – 30개 이상의 지원 소스(Postgres, Snowflake, S3, Kafka, GitHub 등) 중 하나를 나열하는 spicepod.yaml을 작성합니다.
  2. 가속 선택 – 메모리나 디스크에 구체화할 테이블을 표시하고 CDC, 인덱싱, 클러스터링 등을 구성합니다.
  3. 바이너리 실행 – spiced(런타임)를 사이드카, 독립형 서비스 또는 다중 노드 클러스터로 시작합니다.
  4. 앱에서 쿼리 – SQL 클라이언트나 HTTP/Flight 엔드포인트를 호출합니다. SQL 내에 LLM 호출을 직접 포함하거나 NSQL을 통해 에이전트가 쿼리를 생성하게 합니다.

사용 대상

  • 제품 팀: 사용자 지정 파이프라인을 구축하지 않고도 최신 비즈니스 데이터를 활용하는 AI 강화 기능을 구축하려는 경우.
  • 데이터 엔지니어: 벡터 검색과 LLM 추론을 동시에 제공할 수 있는 운영 부담이 적은 연합 쿼리 계층이 필요한 경우.
  • ML Ops / AI 에이전트: 구조화된 데이터와 모델 호출 모두에 대해 단일 진실 공급원(Single Source of Truth)이 필요하여 "데이터 기반" 에이전트를 구현하려는 경우.
  • 기업: 다중 테넌트 격리, 비밀 관리(Vault, Azure Key Vault), mTLS 및 OpenTelemetry를 통한 관측 가능성이 필요한 경우.

시작하기

# CLI 설치 (바이너리 또는 Homebrew 사용)
brew install spiceai/tap/spice
# 로컬 Postgres에 연결하는 간단한 pod 초기화
spice init --from postgres://user:pass@localhost/db
# 런타임 시작 (사이드카로 실행)
spiced start
# HTTP를 통한 쿼리
curl http://localhost:8000/v1/sql -d 'SELECT * FROM orders LIMIT 5;'

저장소에는 단계별 예제가 포함된 Cookbook(https://github.com/spiceai/cookbook)과 AI 코딩 에이전트가 Spice pod를 자동 구성할 수 있게 해주는 Skills 저장소가 제공됩니다.

성능 하이라이트 (README 기준)

  • TPC-H SF100에서 단일 노드 DataFusion보다 2.9배 빠름.
  • 유사한 쿼리 속도에서 Spark보다 8배 적은 RAM 사용.
  • Cayenne 가속: TPC-H SF100에서 DuckDB보다 1.5배, TPC-DS SF100에서 Spice 1.x보다 26배 빠름.
  • S3 벡터에서의 하이브리드 검색: 전용 벡터 DB 대비 최대 90% 비용 절감.
  • 실시간 CDC 복제: Spice 1.x 수집 속도의 약 170배.

라이선스 Apache-2.0 (오픈 소스). 저장소에는 런타임(spiced)과 CLI(spice)가 포함되어 있습니다. 상용 클라우드 및 엔터프라이즈 에디션은 동일한 코어 위에 구축된 선택적 추가 기능입니다.


결론 – Spice.ai는 모든 데이터베이스, 데이터 레이크 및 LLM 모음을 단일 저지연 쿼리 가능 서비스로 취급할 수 있게 해주는 풀스택 오픈 소스 데이터 및 AI 엔진입니다. 별도의 ETL 파이프라인, 벡터 저장소 및 모델 호스팅 인프라의 필요성을 제거하여 데이터 기반 애플리케이션과 AI 에이전트를 위한 강력한 기반이 됩니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트