SurrealDB

SurrealDB

SurrealDB Ltd · 기타

SurrealDB는 문서, 그래프, 벡터, 관계형 데이터를 하나의 엔진에 담은 멀티모델 데이터베이스다. SurrealQL로 질의하고 하나의 ACID 트랜잭션으로 처리한다.

SurrealDB 미리보기

SurrealDB 소개

What Is SurrealDB

SurrealDB는 2022년에 세워진 영국 기업 SurrealDB Ltd가 만든 데이터베이스다. 강점은 폭이다. 관계형 데이터베이스, 문서 데이터베이스, 그래프 데이터베이스를 나란히 돌리는 대신 셋을 모두 다루는 엔진 하나만 유지하면 된다. 벡터와 시계열도 같은 자리에서 처리한다. 질의 언어는 SurrealQL로 통일되고, 쓰기는 모두 하나의 ACID 트랜잭션에 들어간다.

효과가 드러나는 건 한 기능이 여러 데이터 형태를 동시에 필요로 할 때다. 추천 기능은 유사도를 재는 벡터와 관계를 따라가는 그래프를 원한다. 소셜 피드라면 게시물용 문서와 팔로우용 간선이 필요하다. SurrealDB는 둘 다 한 문장으로 처리하고, 데이터 사본도 하나만 쓴다. 시스템 사이에 동기화할 것도 남지 않는다.

한계도 봐야 한다. 엔진이 PostgreSQL이나 MongoDB보다 젊어서 다룰 줄 아는 사람도, 검증된 서드파티 도구도 적다. 라이선스(BSL 1.1)는 특정 용도 하나를 더 막는다. 자체 스키마를 만드는 제3자에게 SurrealDB를 관리형 데이터베이스 서비스로 제공하는 일이다. 운영 환경에서 자체 호스팅하는 건 허용된다.

Getting Started

  1. SurrealDB Cloud 무료 계정을 만들거나, curl --proto '=https' --tlsv1.2 -sSf https://install.surrealdb.com | sh로 바이너리를 설치한다.
  2. surreal start --user root --pass root memory로 테스트 인스턴스를 띄우거나 Studio에서 클라우드 인스턴스를 배포한다.
  3. SurrealQL에서 DEFINE TABLE과 DEFINE FIELD로 테이블과 필드를 정의하고, CREATE로 레코드를 넣는다.
  4. SELECT로 질의하고, 화살표 문법으로 간선을 따라가며, vector::similarity::cosine으로 벡터 유사도 순으로 정렬한다.
  5. 공식 SDK로 앱을 연결하거나, 함께 제공되는 질의 도구 Surrealist로 데이터를 눈으로 확인한다.

제품 정보

SurrealDB의 요금, 지원 플랫폼, 성능을 한눈에 확인해 보세요.

무료 플랜예
유료 플랜$15.33 - $1,758.57/mo
플랫폼Linux, macOS, Windows, Cloud, WebAssembly
개발사SurrealDB Ltd
카테고리기타
출시일Sep 2022
최근 업데이트Sep 2026
웹사이트 방문 수81.1K
웹사이트 글로벌 순위394.3K
API 제공 여부예

추천 대상

이 도구가 가장 잘 맞는 사용자, 작업, 상황입니다.

사용자

  • 백엔드 개발자
  • 에이전트를 만드는 AI 엔지니어
  • 작은 프로덕트 팀

작업

  • GraphRAG 검색 구성
  • 실시간 대시보드 운영
  • 지식 그래프 설계
  • 앱에 데이터베이스 내장

활용 상황

  • 정형 데이터와 비정형 데이터가 섞이는 기능을 프로토타이핑할 때
  • 쌓여 있는 데이터베이스를 통합할 때
  • 오프라인이나 엣지에서 돌아야 하는 앱을 출시할 때

주요 기능

하나의 엔진, 모든 데이터 모델

SurrealDB는 문서 저장소, 그래프 데이터베이스, 벡터 데이터베이스, 관계형 데이터베이스를 동시에 겸하고 시계열 저장까지 더한다. 접착 코드로 이어 붙인 별도 시스템을 두지 않고 한꺼번에 질의한다. 제품의 나머지 요소는 모두 이 부분 위에 올라간다.

SurrealQL

SurrealQL은 SQL 문법에 그래프와 벡터 연산을 섞은 언어다. 한 문장으로 관계를 순회하고, 코사인 유사도로 정렬하고, 필드로 걸러낼 수 있다. SQL과 충분히 닮아 빨리 익히지만, 기존 쿼리를 그대로 돌릴 만큼은 아니다.

라이브 쿼리

LIVE SELECT는 데이터베이스를 실시간 데이터베이스로 바꾼다. 조건에 맞는 행이 바뀌면 서버가 웹소켓으로 구독한 클라이언트에 갱신을 보낸다. diff와 patch를 지원해 전송량도 부풀지 않는다. 채팅, 대시보드, 모니터링에서는 폴링 계층 하나가 사라진다.

세밀한 접근 제어

권한은 역할, 테이블, 레코드, 필드 단위로 설정하고 규칙은 SurrealQL로 쓴다. 사용자나 서비스, 에이전트는 허용된 레코드만 본다. 프런트엔드가 데이터베이스에 직접 붙을 때 특히 중요한 부분이다.

내장과 분산 모두

같은 엔진이 앱에 내장되거나, 서버 위의 자체 호스팅 데이터베이스로, 또는 TiKV를 기반으로 한 분산 클러스터로 돌아간다. 메모리로 시작해 RocksDB로 디스크에 옮기고, 쿼리를 다시 쓰지 않고 확장할 수 있다.

관리형 클라우드와 에이전트 메모리

SurrealDB Cloud는 인프라, 백업, 모니터링을 대신 맡고 사용한 만큼 청구한다. 더 새로운 제품인 Agent Memory는 AI 에이전트가 배운 내용을 출처와 시각과 함께 같은 엔진에 저장한다.

장단점

장점

  • 여러 데이터베이스를 하나의 엔진으로 모아 배포와 동기화 작업을 줄인다.
  • 문서, 그래프, 벡터, 관계형 데이터를 하나의 ACID 트랜잭션에서 질의한다.
  • 라이브 쿼리가 별도 메시징 계층 없이 변경을 클라이언트로 밀어낸다.
  • 내장, 자체 호스팅, 관리형 클라우드 어디서든 같은 쿼리를 쓴다.
  • 무료 등급에 1GB 저장소가 포함되고 만료가 없다.

단점

  • 주변 도구가 PostgreSQL이나 MongoDB보다 젊어서 서드파티 도구도 커뮤니티 문서도 적다.
  • SurrealQL은 표준 SQL이 아니라서 기존 쿼리를 다시 써야 하고 팀은 학습 곡선을 감수해야 한다.
  • BSL 1.1 라이선스는 SurrealDB를 제3자용 관리형 데이터베이스 서비스로 제공하는 걸 금지해서 일부 비즈니스 모델은 쓸 수 없다.
  • 관리형 클라우드는 지금은 AWS에서만 돌고 Azure는 아직이다.

자주 묻는 질문

무료다. 엔진은 운영 환경을 포함해 무료로 쓰고 고치고 자체 호스팅할 수 있고, SurrealDB Cloud에는 만료 없는 1GB 저장소가 딸린 무료 등급이 있다. BSL 1.1 라이선스가 제한하는 건 제3자용 관리형 서비스로 제공하는 경우뿐이다.