SurrealDB 데이터 모델 — 문서·그래프·벡터·시계열·지리
SurrealDB 데이터 모델
데이터베이스를 생각하면 보통 '테이블'부터 떠올려요. 테이블은 행과 열의 모음이고, 관계형 DB에서 테이블들은 외래 키(다른 테이블의 기본 키를 가리키는 컬럼)로 연결되죠. SurrealDB는 여기에 멀티모델이라는 유연성을 더해요. 데이터를 어떤 형식으로 저장할지 사용 사례에 맞게 고를 수 있다는 뜻이에요.
지원하는 데이터 모델
SurrealDB는 아래 데이터를 모두 다룰 수 있어요.
- 그래프(graph) — 노드와 엣지의 관계 탐색
- 문서(document) — 유연한 중첩 구조의 레코드
- 시계열(time-series) — 시간 순서 데이터
- 벡터(vector) — 임베딩 벡터 저장과 최근접 이웃 검색
- 전체 텍스트 검색(full-text search) — 키워드 기반 역색인 검색
- 지리공간(geospatial) — 위치 기반 조회
SurrealQL로 다루기
이 모든 모델은 SurrealQL로 이뤄져요. SQL·NoSQL·그래프 개발자 출신이든, 각자 익숙한 사고방식과 대응하면서 SurrealDB를 배울 수 있어요. 예를 들어 벡터 데이터는 임베딩을 저장한 뒤 유사도 검색으로 가까운 항목을 찾고, 그래프 데이터는 관계를 따라 탐색하죠. RAG(검색 증강 생성)와 Graph RAG 패턴도 한 쿼리로 구현할 수 있어요.