나에게 필요한 지식과 기술을 검색해 보세요.

벡터 데이터베이스

SQLite, PostgreSQL로 직접 만드는 시맨틱 검색과 RAG

지은이

니틴 보르완카르

옮긴이

정영균

출간일

2026.08.30

레벨

중급

정가

28,000

판매가

25,200

총 결제 금액

10%

25,200

적립 예정

1,260P

예약 구매 안내

출고 예상일 : 2026-08-30 (수령까지 1~2일 소요)

출시가 지연될 수 있으며, 일반 도서와 함께 주문 시 예약도서 출고일에 일괄 배송됩니다.

헛소리하는 AI, 범인은 따로 있다.
응답의 퀄리티를 바꾸는 벡터 데이터베이스.

 

분명 문서 안에 있는 내용인데 AI는 모른다고 답합니다. 모델 탓일까요? 같은 LLM이라도 필요한 정보를 얼마나 정확히 찾아 전달하느냐에 따라 답변의 품질이 달라집니다. 텍스트, 이미지, 오디오처럼 형태가 다른 데이터도 벡터로 표현하면 키워드가 일치하지 않아도 의미가 비슷한 정보를 찾아낼 수 있습니다. 그렇다면 벡터는 어떻게 만들어지고, 저장되고, 검색될까요?
 

이 책은 임베딩과 유사도 검색, 인덱스, RAG까지 벡터 데이터베이스의 핵심 개념을 직접 코드로 구현하며 익히는 책입니다. 어려운 이론부터 파고들거나 복잡한 인프라를 먼저 구축할 필요는 없습니다. 익숙한 SQLite3와 PostgreSQL에 벡터 검색 기능을 더하고, 시맨틱 검색을 거쳐 실제로 작동하는 RAG 시스템까지 확장해 봅니다. FAISS와 pgvector, Ollama를 활용해 모든 과정을 직접 따라 할 수 있습니다. 코드를 하나씩 실행하다 보면 벡터 검색이 어떻게 작동하는지, 검색 결과가 LLM의 답변을 어떻게 바꾸는지 자연스럽게 손에 잡힐 겁니다.
●    SQLite3, PostgreSQL 등 익숙한 SQL 데이터베이스에 벡터 검색 기능을 더하는 실전 방법
●    로컬 LLM과 벡터 검색을 결합해 개인용부터 실무용까지 RAG 애플리케이션을 구축하는 방법
●    임베딩 생성부터 인덱스 선택과 최적화, 하이브리드 검색까지 실제 문제에 적용하는 방법
●    벡터 검색을 관계형 데이터베이스와 통합하고, 벤더에 종속되지 않는 벡터 쿼리 언어(VQL)로 다루는 방법

 


 

출판사 리뷰

AI 애플리케이션의 격차는 데이터에서 벌어진다
 

ChatGPT 이후 많은 서비스가 AI를 활용하기 시작했습니다. 같은 모델, 비슷한 프롬프트로 만들어도 어떤 서비스는 정확하게 답하고 어떤 서비스는 엉뚱한 답을 내놓습니다. 사용자의 질문과 의미가 통하는 정보를 얼마나 잘 찾아내느냐에서 갈리고, 그 기술의 중심에 벡터 데이터베이스가 있습니다. 임베딩, 유사도 검색, RAG 같은 용어가 더 이상 연구자의 언어가 아니라 현업 개발자의 기본기가 된 이유입니다.

 

사용법이 아니라 원리를 배우다

 

시중의 많은 자료는 특정 벡터 DB 제품의 사용법이나 프레임워크 튜토리얼에서 멈춥니다. 따라 하면 일단 돌아가지만, 검색 품질이 떨어지거나 데이터가 늘어 성능이 무너질 때 어디를 손봐야 할지 알기 어렵습니다. 이 책은 반대 방향에서 출발합니다. 임베딩이 어떻게 만들어지는지, 유사도는 어떻게 계산하는지, 인덱스는 왜 필요한지를 코드로 직접 구현하며 확인합니다. 특정 벤더에 종속되지 않는 벡터 쿼리 언어(VQL)로 벡터 검색을 다루는 관점까지 익히면 어느 도구에나 적용할 수 있게 될 겁니다.

 

가벼운 실습 환경으로 끝까지 완주한다

 

실습의 장벽도 낮췄습니다. 유료 클라우드나 대규모 인프라 없이 SQLite3, PostgreSQL, FAISS, pgvector, Ollama처럼 무료로 쓸 수 있는 도구만으로 전 과정을 로컬 환경에서 진행합니다. 익숙한 SQL 데이터베이스에 벡터 검색을 더하는 작은 실습에서 시작해 시맨틱 검색과 하이브리드 검색을 거쳐, 문서에 근거해 답하는 RAG 시스템을 완성하기까지 단계적으로 나아갑니다.
 

저자

목차

CHAPTER 1 벡터 데이터베이스 소개
1.1 벡터 데이터베이스의 필요성
1.2 SQL과 벡터 데이터베이스
1.3 NoSQL과 벡터 데이터베이스 비교
1.4 하이브리드 접근 방식: 정형 데이터와 벡터 데이터의 결합
1.5 결론

 

CHAPTER 2 임베딩
2.1 벡터 임베딩의 필요성
2.2 Word2Vec: 모든 것을 바꾼 혁신
2.3 Doc2Vec: 단어에서 문서로
2.4 임베딩에서 현대 언어 모델까지: 트랜스포머와의 연결
2.5 임베딩 모델: 특화된 벡터 생성기
2.6 임베딩 계층: 제로샷 학습으로 향하는 관문
2.7 Word2Vec을 활용한 벡터 연산: 실습 가이드
2.8 결론

 

CHAPTER 3 FAISS를 활용한 유사도 검색
3.1 벡터 검색의 기초
3.2 FAISS 인덱스
3.3 양자화
3.4 ANN 문제
3.5 HNSW 인덱스 이해하기
3.6 FAISS 아키텍처와 구성 요소
3.7 결론

 

CHAPTER 4 SQLite3를 활용한 의미 기반 검색
4.1 SQLite 벡터 유사도 검색 확장 이해하기
4.2 개발 환경 설정
4.3 데이터베이스 스키마 설계
4.4 캐글 레딧 댓글 데이터셋에서 로컬 지식 베이스용 레코드 추출
4.5 콘텐츠 추출 및 전처리
4.6 임베딩 생성 및 저장
4.7 벡터 인덱스 구축
4.8 의미 기반 검색 구현
4.9 종합 정리
4.10 확장: 증분 인덱싱
4.11 결론

 

CHAPTER 5 PostgreSQL pgvector로 arXiv 논문 검색 시스템 구축하기
5.1 과학 문헌 검색의 과제
5.2 아키텍처 개요
5.3 환경 설정과 의존성
5.4 과학 논문용 데이터베이스 설계
5.5 arXiv 통합과 PDF 관리
5.6 PDF 텍스트 추출 및 처리
5.7 임베딩 생성 및 저장
5.8 유사도 검색 구현
5.9 대화형 애플리케이션과 UI
5.10 로컬 배포를 위한 도커 패키징
5.11 기본 성능 튜닝
5.12 개선 방안
5.13 구현 성과와 확장 가능성
5.14 결론

 

CHAPTER 6 SQLite VSS와 Ollama로 검색 증강 생성 시스템 구축하기
6.1 시스템 아키텍처 개요
6.2 벡터 지원을 포함한 데이터베이스 기반
6.3 텍스트 처리와 임베딩 생성
6.4 하이브리드 검색 구현
6.5 Ollama와 LLM 통합
6.6 RAG 파이프라인
6.7 시연 및 테스트
6.8 다음 단계: 시스템 확장
6.9 결론

 

CHAPTER 7 PostgreSQL과 pgvector로 과학 논문 RAG 시스템 구축하기
7.1 시스템 목표와 기능
7.2 아키텍처 개요
7.3 pgvector를 활용한 데이터베이스 기반
7.4 임베딩 생성 전략
7.5 arXiv 통합과 PDF 처리
7.6 고급 텍스트 청킹
7.7 임베딩을 활용한 저장 파이프라인
7.8 다중 수준 의미 기반 검색
7.9 RAG 파이프라인 심층 분석
7.10 시연 및 대화형 인터페이스
7.11 다음 단계: 과학 RAG 시스템 확장
7.12 결론

 

CHAPTER 8 완전한 대화 검색 및 RAG 시스템 구축
8.1 시스템 목표와 기능
8.2 시스템 아키텍처 개요
8.3 만들어 볼 시스템
8.4 대화 저장을 위한 데이터베이스 기반
8.5 대화 가져오기 및 데이터 처리 파이프라인
8.6 효율적인 임베딩 생성과 배치 처리
8.7 대화 이해를 활용한 컨텍스트 검색
8.8 대화 기록을 위한 RAG 통합
8.9 FastAPI로 완성하는 웹 API
8.10 샘플 데이터와 시스템 시연·실행
8.11 결론: 완전한 개인 지식 시스템

 

CHAPTER 9 벡터 쿼리 언어
9.1 핵심 개념
9.2 벡터 연산
9.3 벡터 함수와 집계
 

리뷰

오탈자

28,000

10%

25,200