Solostack의 쇼츠 **「왜 다들 PostgreSQL만 쓸까 — AI 검색까지 이거 하나로」**에서는 PostgreSQL이 단순 관계형 DB를 넘어, 확장 기능을 이용해 **Vector Search·Full Text Search·Graph Query까지 한 번에 처리할 수 있는 이유**를 설명합니다.
## PostgreSQL의 핵심은 확장성
PostgreSQL이 오래 쓰이는 이유 중 하나는 필요한 기능을 별도 시스템으로 완전히 갈아타지 않고 **Extension을 추가해 확장할 수 있다는 점**입니다.
AI 검색 관점에서는 특히 다음 세 가지가 중요합니다.
- 의미 기반 검색
- 키워드 기반 검색
- 관계 기반 검색
## 1. 의미로 찾기 — pgvector
pgvector를 사용하면 텍스트를 Embedding Vector로 저장하고 유사도 검색을 할 수 있습니다.
예를 들어 사용자가 **돈 돌려받기**라고 검색해도 실제 문서에는 **환불**이라는 표현만 있어도 의미가 비슷하면 찾을 수 있습니다.
즉, 문서 → Embedding → pgvector → Vector Search 구조로 RAG 검색을 구성할 수 있습니다.
별도의 Vector DB를 반드시 도입하지 않고도 PostgreSQL 안에서 시작할 수 있다는 장점이 있습니다.
## 2. 단어로 찾기 — Full Text Search
PostgreSQL은 Full Text Search 기능도 기본적으로 제공합니다.
Vector Search가 의미를 찾는 데 강하다면, Full Text Search는 정확한 단어·표현을 찾는 데 강합니다.
예를 들어 정책명, 제품명, 코드명, 고유명사, 정확한 문구처럼 의미 유사도보다 정확한 문자열 검색이 중요한 경우에 유용합니다.
그래서 실무 RAG에서는 **Vector Search + Keyword Search**를 함께 사용하는 Hybrid Search가 자주 사용됩니다.
## 한국어 검색에서 주의할 점
영상 설명에서는 한국어 전문검색에서 조사와 형태 변화 때문에 단순 simple tokenizer가 정확 매칭을 놓칠 수 있다고 설명합니다.
대안으로 Prefix Matching이나 pg_bigm 같은 방법을 고려할 수 있습니다.
즉, 한국어 RAG에서는 단순 FTS 설정만으로 끝내기보다 **한국어 토큰화 특성**을 고려해야 합니다.
## 3. 관계로 찾기 — Recursive Query
PostgreSQL은 재귀 쿼리를 이용해 계층이나 연결 관계를 따라갈 수도 있습니다.
예를 들어 배우 → 출연 → 영화 → 감독 → 다른 영화 같은 관계를 연속적으로 탐색할 수 있습니다.
단순 문서 검색이 아니라 관계를 따라가는 질의가 가능해지는 것입니다.
## 본격적인 Graph Query — Apache AGE
더 본격적인 Graph Query가 필요하다면 **Apache AGE** 같은 PostgreSQL 확장을 사용할 수 있습니다.
Apache AGE는 PostgreSQL 위에서 Graph 데이터를 다루고 openCypher 스타일의 Query를 사용할 수 있게 해줍니다.
즉, **PostgreSQL + pgvector + FTS + Apache AGE** 조합으로 하나의 DB 안에서 여러 검색 패턴을 처리할 수 있습니다.
## RAG와 GraphRAG를 한 DB에서
- Vector RAG → pgvector
- Keyword / Hybrid Search → PostgreSQL FTS
- GraphRAG → Recursive Query / Apache AGE
즉, 서비스 규모가 크지 않거나 운영 복잡도를 줄이고 싶다면 **여러 DB를 따로 운영하지 않고 PostgreSQL 중심으로 통합**할 수 있습니다.
## 장점
- 기존 PostgreSQL 인프라 재사용
- 별도 Vector DB 도입 부담 감소
- 검색·트랜잭션 데이터를 한곳에서 관리
- 오픈소스 생태계
- 백업·권한·운영 도구 통합
- 작은 팀이나 초기 서비스에 적합
특히 이미 PostgreSQL을 사용 중인 서비스라면 AI 검색을 추가하기 위해 새로운 데이터베이스를 바로 도입하지 않아도 된다는 점이 큰 장점입니다.
## 하지만 항상 하나로 끝나는 것은 아니다
PostgreSQL 하나로 많은 기능을 구현할 수 있지만, 규모가 커지면 전문 시스템이 더 적합할 수 있습니다.
예를 들어 초대규모 Vector Search, 매우 복잡한 Graph Traversal, 대규모 전문검색, 고성능 분산 검색에서는 전용 Vector DB, Search Engine, Graph DB가 더 유리할 수 있습니다.
즉, PostgreSQL 통합 전략은 **초기·중소 규모에서 운영 복잡도를 줄이는 강력한 선택지**이고, 요구사항이 커지면 전문 시스템으로 분리할 수 있습니다.
## 핵심 정리
> **PostgreSQL은 단순 SQL DB가 아니라 확장 기능을 통해 Vector Search, Keyword Search, Graph Query를 하나의 플랫폼에서 처리할 수 있다.**
RAG 시스템을 처음 구축한다면 **PostgreSQL + pgvector + FTS**로 시작하고, 관계 검색이 필요해지면 **Recursive Query / Apache AGE**를 추가하는 방식이 현실적인 출발점이 될 수 있습니다.
콘텐츠를 불러오는 중..

댓글목록
등록된 댓글이 없습니다.