이전

리뷰 (7)

한줄평
평점 분포
  • 리뷰 총점10 57%
  • 리뷰 총점8 43%
  • 리뷰 총점6 0%
  • 리뷰 총점4 0%
  • 리뷰 총점2 0%
연령대별 평균 점수
  • 10대 0.0
  • 20대 0.0
  • 30대 9.0
  • 40대 10.0
  • 50대 9.0

포토/동영상 (3)

리뷰 총점 종이책
벡터 데이터베이스 국내 1호책
"벡터 데이터베이스 국내 1호책" 내용보기
"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다."벡터 데이터베이스 국내 1호책RAG 구축과 관련된 국내 도서와 강의를 보면 유독 벡터 데이터베이스에 대한 내용이 간단하다. 벡터 데이터베이스와 관련해서 ChromaDB, pgvector, FAISS, Qdrant, Milvus, Pinecone, Weaviate 등의 이름을 들어봤고, Redis, MongoDB, ElasticSearch에서도 지원한다
"벡터 데이터베이스 국내 1호책" 내용보기

"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다."


벡터 데이터베이스 국내 1호책


RAG 구축과 관련된 국내 도서와 강의를 보면 유독 벡터 데이터베이스에 대한 내용이 간단하다. 벡터 데이터베이스와 관련해서 ChromaDB, pgvector, FAISS, Qdrant, Milvus, Pinecone, Weaviate 등의 이름을 들어봤고, Redis, MongoDB, ElasticSearch에서도 지원한다는 얘기는 들은 적이 있다. 


ChromaDB, Qdrant 작업을 하기 위해서 공식 사이트에 방문하여 사용법을 익혔지만, 벡터 데이터베이스의 핵심 요소인 임베딩과 인덱스에 대한 설명은 제대로 찾을 수 없었다. 사실은, 제대로 이해하려고 접근한 적이 없었다.


이 책은 벡터 데이터베이스 관점에서 작성된 국내 1호책이다.  임베딩의 역사와 FAISS 인덱스, 양자화, ANN, HNSW 인덱스 이해하기까지 벡터 데이터베이스의 이론을 자세히 설명한다. 

이어서 실습으로 SQLite—vss, PostgreSQL pgvector로 검색 시스템 및 RAG 시스템을 구축하는 예제를 설명한다. 마지막에는 벡터 쿼리 언어를 제안한다. 


책에서 소개하는 예제는 운영 환경에 바로 적용할 수 있는 완성된 레시피가 아니라 예제를 통해 핵심 개념을 잘 설명하고 있다. 또한 예제의 한계점을 얘기하고 개선할 수 있는 아이디어를 각 장의 말미에 언급한다. 

설명하는 내용은 벡터 데이터베이스의 스키마 설계부터 PDF 전처리, 배치 처리, 하이브리드 검색, Ollama를 통한 답변 생성, 도커 패키징, 검색 시연까지 운영 시스템의 전과정을 총망라하고 있다. 


벡터 데이터베이스는 SQL처럼 표준이나 추상화된 개념이 없어서 벤더별로 커스터마이징해야 할 요소들이 있는데, 마지막 장에서 VQL을 제안한 것이 인상적이다.




d*****3 2026.09.27. 신고 공감 1 댓글 0
리뷰 총점 종이책
[한빛미디어] 벡터 데이터베이스
"[한빛미디어] 벡터 데이터베이스" 내용보기
모든 기술의 청사진은 해당 기술을 통해 서빙하고 자 하는 데이터의 형태를 통해 이해할 수 있다.불과 15년 전까지만 해도, AI를 통해 할 수 있는 업무의 형태는 지금과 사뭇 달랐다. 당시에는 mySql, mariaDB와 같은 RDB가 서비스 구성의 대부분을 전담하고 있었고, 그런 중에 no-sql이 등장했으니 말이다.하지만, "알파고"가 등장하고 AI가 더욱 주목받기 시작하면서 기존의 DB 패러다
"[한빛미디어] 벡터 데이터베이스" 내용보기

모든 기술의 청사진은 해당 기술을 통해 서빙하고 자 하는 데이터의 형태를 통해 이해할 수 있다.


불과 15년 전까지만 해도, AI를 통해 할 수 있는 업무의 형태는 지금과 사뭇 달랐다. 당시에는 mySql, mariaDB와 같은 RDB가 서비스 구성의 대부분을 전담하고 있었고, 그런 중에 no-sql이 등장했으니 말이다.


하지만, "알파고"가 등장하고 AI가 더욱 주목받기 시작하면서 기존의 DB 패러다임으로는 고도화된 AI를 대응하기에 한계가 있음을 연구자들은 깨닫게 되었다. 하여 새로운 DB의 필요성이 주목받기 시작했고 이후, 다양한 DB가 탄생과 소멸을 거듭하여 지금의 vector 기반의 데이터베이스에 이르게 되었다.


이처럼, DB의 형태는 기술의 발전 방향에 따라, 그 목적에 따라, 변화하고 발전해 왔다. 또한 그 변화는 점점 인간의 사고하는 방식 / 판단하는 방식을 닮아가고 있다.


따라서 지금의 DB의 본질과 형태를 제대로 이해하고 사람의 생각의 흐름과 작동 방식을 이해한다면 앞으로 발전해갈 AI의 방향과 DB의 형태를 충분히 가늠할 수 있을 것이라 생각된다.


【책 내용 요약】


이 책은 Vector DB의 탄생 배경/형상 그리고 Vector DB가 근본적으로 기존 RDB 와 무엇이 다른지, 동작 방식에서는 어떤 차이가 있는지에 대해서 설명하고 있다.


뿐만 아니라, 실무에서 자주 사용하는 PostgresSQL과 SQLite3 등, 개발자라면 한 번쯤 사용했을 법한 DB를 통해 예시 코드를 제공하고 있기에 학습하는 데에 있어 큰 어려움이 없을 것이라 예상된다.


구성은 아래와 같다.

- 배경 설명

- 배경에 근거가 되는 이론 / 코드 제시

- 코드의 라인별 혹은 기능별 리뷰

- 결론 요약


또한 이 책은 AI의 본질인 DB의 성질과 그 원리에 대해서 다양한 예시를 통해 독자의 이해를 돕고 있다. 따라서 이 책을 정독한다면 기본적인 AI의 Embedding, RAG 나아가 Vector DB에 관해 AI 중급자 이상의 지식을 쌓을 수 있다.


【 벡터 데이터베이스를 읽고 나서 】


모든 서비스는 DB에서 시작된다고 봐도 무방하다. RDB의 경우, DB의 관계도를 보면 서비스가 추구하는 방향과 스펙을 대략적으로 가늠할 수 있기 때문이다. 마찬가지로 AI도 동일하다. DB의 형상과 동작 방식을 이해한다면 AI가 근본적으로 어떻게 동작하고 최종적으로 어떤 형태로 데이터를 서빙하고 사람에게 다가가고자 하는지 그 이유와 취지를 이해할 수 있게 된다.


하지만 AI가 고도화됨에 따라, 아이러니하게도 이런 기초 학문 / 기초 지식에 대해서 많은 이들이 등한시하는 경향이 나타나고 있다. 왜냐하면 AI에게 물어보면, 혹은 마우스로 딸칵하면 모든 게 해결될 것이라는 AI를 향한 맹신적 믿음이 있기 때문이다.


이러한 맹신적 믿음은 AI에 대한 객관적 판단뿐만 아니라, 개인 스스로에게도 판단을 흐리게 하고 나아가 스스로의 주체성을 무너트리는 단초가 될 가능성이 크다.


따라서 이럴 때일수록 더욱더 스스로 학습하고 깨닫는 자세가 필요하다.


AI는 도구일 뿐, 판단의 주체가 될 수 없다는 것을 절대로 잊어선 안된다.


#본 도서는 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

0***m 2026.09.28. 신고 공감 0 댓글 0
리뷰 총점 종이책
벡터가 AI 랑 무슨 연관이 있을까
"벡터가 AI 랑 무슨 연관이 있을까" 내용보기
"한빛미디어 서평단 <나는 리뷰어다> 활동을 위해서 책을 협찬받아 작성된 서평입니다."이 책에서 좋았던 점1. 특정 기술의 사용법보다 원리를 설명한다개인적으로 이 부분이 가장 마음에 들었다.RAG나 벡터 데이터베이스를 공부할 때 보통은 특정 라이브러리나 서비스를 사용하는 방법부터 접하게 된다.예를 들어문서 → 임베딩 → 벡터 DB 저장 → 검색 → LLM정도의 흐름은 알 수
"벡터가 AI 랑 무슨 연관이 있을까" 내용보기

 "한빛미디어 서평단 <나는 리뷰어다> 활동을 위해서 책을 협찬받아 작성된 서평입니다."


이 책에서 좋았던 점

1. 특정 기술의 사용법보다 원리를 설명한다

개인적으로 이 부분이 가장 마음에 들었다.

RAG나 벡터 데이터베이스를 공부할 때 보통은 특정 라이브러리나 서비스를 사용하는 방법부터 접하게 된다.

예를 들어

문서 → 임베딩 → 벡터 DB 저장 → 검색 → LLM

정도의 흐름은 알 수 있지만, 막상 왜 벡터로 바꾸는지, 유사하다는 것을 어떻게 판단하는지, 검색 속도를 높이기 위해 인덱스를 왜 사용하는지까지 들어가면 조금 추상적으로 느껴질 수 있다.

이 책은 이런 부분을 직접 코드로 구현하면서 설명한다.

Word2Vec이나 Doc2Vec 같은 임베딩 방식부터 시작해서 벡터 간 유사도를 계산하고, 검색과 인덱싱이 어떤 식으로 연결되는지를 단계적으로 다룬다.

단순히 "이 API를 호출하면 된다"가 아니라 그 API 내부에서 어떤 일이 일어나는지를 이해하는 데 초점이 맞춰져 있다.

개발 공부를 할 때도 라이브러리를 사용하는 것과 내부 원리를 이해하는 것은 꽤 차이가 있다고 생각하는데, 그런 관점에서 읽기 좋았다.

2. 로컬 환경에서 직접 따라 해볼 수 있다

또 하나 좋았던 점은 실습 환경이 비교적 부담스럽지 않다는 것이다.

대규모 클라우드 환경이나 비싼 서비스를 준비하지 않아도 SQLite와 PostgreSQL을 이용해서 직접 실습할 수 있다.

여기에 pgvector, FAISS, Ollama 등을 활용하면서 점점 실제 RAG 시스템에 가까운 형태로 확장한다.

개인적으로 이런 방식의 책을 좋아하는 편이다.

처음부터 거대한 시스템을 보여주는 것보다 작은 예제를 직접 만들어보고,

임베딩
 ↓
벡터 저장
 ↓
유사도 검색
 ↓
검색 결과 활용
 ↓
RAG

이런 식으로 하나씩 확장해가는 편이 전체 구조를 이해하기 쉽기 때문이다.

3. 단계적으로 난이도가 올라간다

처음부터 RAG 시스템을 만들어보는 것이 아니라, 먼저 임베딩과 시맨틱 검색에 대한 기본적인 내용을 다룬다.

그 다음 SQLite를 이용한 검색부터 시작해서 PostgreSQL과 pgvector, FAISS 등을 활용하고, 이후에는 실제 논문 데이터를 검색하는 시스템과 Ollama를 이용한 RAG 시스템까지 확장한다.

그래서 책을 따라가다 보면 처음에는 단순한 벡터 검색이었던 것이 점점 하나의 AI 애플리케이션으로 발전하는 과정을 볼 수 있다.

개인적으로는 이 부분이 책의 구성이 잘 되어 있다고 느꼈다.

 이런 사람에게 잘 맞을 것 같다

  • RAG가 어떤 원리로 동작하는지 제대로 이해해보고 싶은 개발자
  • 벡터 데이터베이스를 단순히 API 형태로만 사용해본 사람
  • 임베딩과 시맨틱 검색의 원리가 궁금한 사람
  • 특정 프레임워크에 의존하기보다 기본적인 구조부터 공부하고 싶은 사람
  • LLM을 이용한 서비스를 직접 만들어보고 싶은 사람

특히 이미 개발 경험이 있는 사람이라면 코드를 직접 따라가면서 읽는 방식이 잘 맞을 것 같다.

 읽어보고 느낀 점

책을 읽으면서 가장 기억에 남았던 것은 LLM 자체만큼 어떤 데이터를 어떻게 가져와서 전달하느냐도 중요하다는 점이었다.

LLM이 아무리 좋은 모델이라고 하더라도 질문에 필요한 정보가 컨텍스트로 제대로 전달되지 않으면 원하는 답변을 만들기 어렵다.

결국 RAG는 단순히 LLM 앞에 검색 기능 하나를 붙이는 것이 아니라,

"사용자의 질문과 관련된 데이터를 얼마나 잘 찾아서 LLM에게 전달할 수 있는가"

에 대한 문제라고 볼 수 있을 것 같다.

평소에는 벡터 검색을 하나의 추상화된 기능처럼 생각했는데, 책을 통해 임베딩부터 유사도 계산, 인덱싱, 검색, 그리고 RAG까지 이어지는 과정을 직접 따라가면서 전체 구조를 조금 더 구체적으로 이해할 수 있었다.

특히 특정 벡터 DB 제품의 사용법을 외우는 방식이 아니라 벡터 검색 자체의 동작 원리를 먼저 이해한다는 점이 좋았다.

AI 관련 기술을 공부하면서 RAG나 벡터 데이터베이스가 정확히 어떤 방식으로 동작하는지 궁금했던 사람이라면 한 번쯤 읽어볼 만한 책이라고 생각한다.

c*****2 2026.09.27. 신고 공감 0 댓글 0
리뷰 총점 종이책
벡터가 왜 필요한지 알게 해주고 실습해주는 책입니다.
"벡터가 왜 필요한지 알게 해주고 실습해주는 책입니다." 내용보기
"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬받아 작성된 서평입니다."부제 : SQLite, PostgreSQL로 직접 만드는 시맨틱 검색과 RAG AI를 활용한 어플리케이션이 많이 개발되고 있습니다.클로드, 코덱스의 API를 활용하는 기술을 통해서 개발하고, RAG, MCP 등을 통한실시간 데이터를 활용한 개념을 도입하려고 할때 항상 나오는 것이 벡터 테이터베이스 입니다.  그러
"벡터가 왜 필요한지 알게 해주고 실습해주는 책입니다." 내용보기

"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬받아 작성된 서평입니다."

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

 

AI를 활용한 어플리케이션이 많이 개발되고 있습니다.

클로드, 코덱스의 API를 활용하는 기술을 통해서 개발하고, RAG, MCP 등을 통한

실시간 데이터를 활용한 개념을 도입하려고 할때 항상 나오는 것이 벡터 테이터베이스 입니다.

 

 

그러면 기존에 있는 데이터베이스와 어떤 차이를 가지고 있는 것일까요?

벡터에 대한 구조를 저장할 수 있는 데이터 베이스는 무엇이 있고, 기존 일반적인 RDBMS와의 차이는 무엇인지

살펴보고 AI개발시 어떠한 부분을 고려해야 하는지 알아볼수 있는 책입니다.

정확히 알고 벡터 데이터베이스를 사용해야 하는 시점에 필요한 책이 출간 된것 같습니다.

 


■ 벡터DB란 무엇일까?

· 말을 풀어보면 벡터의 요소를 저장하는 database를 의미합니다. 그러면 벡터의 요소를 어떻게, 어디에 저장이 가능할가요?

책의 부제목처럼, SQLite, PostgreSQL 을 활용해서 데이터를 저장하는 방식을 구성합니다.

우선 우리가 일반적으로 아는 텍스트 형태의 정보말고 벡터의 의미를 정확히 이해해야 할것 같습니다.

그리고 책에서 주로 살펴보것은 왜 AI시대에 벡터DB가 중요하고, 무엇을 해결하기 위해서 벡터 DB를 이시점에 이용해야 하는지

이해하고 어떻게 활용할수 있을지 이해하는 것이 중요할것 같습니다.

· 결국 AI시대에서도 핵심은 데이터 이고, 기술적인 핵심은 임베딩 방식입니다. 이제 이책을 통해서 명확히 이해를 시작해봅니다.

 

<책의 대상 독자>

 

  • 처음으로 AI 애플리케이션을 구축하는 엔터프라이즈 소프트웨어 개발자
  • 의미 기반 검색을 구현하려는 데이터 과학자
  • RAG 시스템을 개발하는 머신러닝 엔지니어
  • 기존 시스템에 벡터 기능을 추가하려는 백엔드 개발자

 

<관련 저장소>

 

 

 

■ 벡터 DB알아보기 (1장~3장)

· 기존 방식은 비정형 데이터에 대해서 BLOB으로 저정하거나, 파일에 직접 저장한 뒤 관계형 데이터베이스에서 파일 저장 위치를 가르키는 방식으로 구성했습니다. 저장은 하고 있지만, 효율적으로 사용하기 힘든 구조 입니다.

· 새로운 데이터 타입인 벡터를 구성하고, PostgreSQL에서 확정 시스템 타입을 새로 추가해서, pgvector확장이 VECTOR타입 컬럼을 생성하는 기능을 제공합니다.

· 유사도 검색기능

  단순히 정렬된 부동 소수점 수의 집합을 저장하고 조회하는 방식에서 VECTOR타입을 구별해 주는 핵심 요소입니다.

  이 기능 덕분에 주어진 텍스트와 의미상 유사한 텍스트를 찾을수 있습니다.



· 임베딩에 대해서

구조화되지 않은 데이터를 청크 단위로 나누어 백터, 부동소수점 수 목록으로 매핑하는 과정입니다.

이러한 매핑은 단어나 문장이 사용된 문맥을 보존합니다. 의미가 가까까운 단어들은 벡터 공간에서 서로 가까운 위치의

벡터로 매핑됩니다.

3장에서 임베딩에 대해서 더욱 구체적으로 다룹니다. 그것을 이해해야지 벡터DB를 더 잘 활용할수가 있습니다.

Word2Vec를 통해서 기술적인 활용도가 높아진 벡터의 동작원리를 파악하고, 오늘날까지 기술의 혁신이 된 부분을 확인합니다.

Doc2Vec을 통해서 단어에서 문서를 활용하기 위한 방식, 희소 임베딩, 밀집 임베딩을 살펴보고

Word2Vec와 Doc2Vec이 정적 벡터 표현을 제공했다면, 현대 LLM의 핵심인 트랜스포머 아키텍처를 통해서 대규모 동적으로 조작하고 생성합니다. 

BERT와 같은 인코더 전용 트랜스포머, GPT계열의 디코더 전용 트랜스포머에 대해서 설명하면서 기본적으로 딥러닝 내용에서 언급하고 설명할 사항일 벡터DB가 왜 필요할지, 우리는 어떻게 활용해야 할지 이해할수 있습니다.

 

 

· 최근접 이웃검색 등 벡터DB가 어떻게 검색되고 동작하는지 원리를 살펴봅니다.



 

· 기존 RDBM에서 처리하기 힘든 부분과 차이점, NO-SQL을 통해서 해결시도 등에 대해서 다룹니다.

 NO-SQL을 통해서도 시도는 해보았지만, 벡터정보를 처리하기 하기에는 어려움이 있습니다.



 

· RAG 파이프라인

 - 기본 python코드로 구성 및 sentence-transformers 라이브러리를 이용해서 구현 실습합니다.

 

·FAISS(Facebook AI Similarity Search)는 대규모 고차원 밀집 벡터(dense vector)의 유사도 검색과 클러스터링을 아주 빠르게 처리하기 위해 페이스북에서 개발한 오픈소스 라이브러리입니다. 

https://github.com/facebookresearch/faiss


FAISS를 이용해서 벡터DB를 실습하고 연습합니다.

오픈소스 아키텍처를 하나하나 살펴보고, 동작 원리를 살펴봅니다.

벡터구성을 어떤 식으로 알고리즘 적용하는 것을 하나하나 분석합니다.



 

  • Index (추상 기반 클래스)
  • IndexFlat
  • IndexIVF (역파일 색인)
  • IndexPQ
  • IndexIVFPQ
  • IndexHNSW
  • IndexBinary

 

 

■ SQLite3와 PostgreSQL을 사용한 어플리케이션 구축 (4장~8장)

· SQLite를 이용해서 SQL인터페이스와 벡터유사도 검색을 결합해 키워드가 아니라 의미를 기준으로 검색하는 방법을 파악합니다.

FAISS를 래핑한 SQLite확정인 sqlite-vss를 사용해서 벡터 검색을 관계형 데이터베이스 환경에 통합합니다.

 



 

· 개발환경을 구성해서 코드적으로 실습을 진행하게 구성되어 있습니다.



- DB생성을 통한 테이블 구성을 진행하고, 스카마 설계를 결정 합니다.

- 데이터 구성은 캐글 레딧 댓글 데이터셋에서 로컬 지식 베이스용 레코드 추출하여서 CSV파일을 로컬 데이터 소스로 활용합니다.

실제 예제를 동작시키면서, 의미기반 검색을 동작시켜 봅니다.



 

 

· PostgreSQL pgvector로 arXiv 논문 검색 시스템 구축하기

· SQLite VSS와 Ollama로 검색 증강 생성 시스템 구축하기

· PostgreSQL과 pgvector로 과학 논문 RAG 시스템 구축하기

 

· PostgreSQL을 통해서는 pgvector를 활용하여서 arXiv 논문검색 및 과학논문 RAG 시스템을 구축합니다.

 - 시스템 구성 아키텍처는 아래와 같습니다.



 

- 세부적인 데이터의 흐름도는 아래와 같습니다.



- 디렉토리 구성은 아래와 같이 개발을 진행합니다.



 

엔티티구성을 통한 데이터베이스 설계를 진행하고, 벡터 저장 및 인덱싱 전략을 적용합니다.

PDF의 텍스트를 추출하고 처리합니다. 

임베딩 생성 및 저장을 통해서, 유사도 구현까지 진행을 진행합니다.

 

배포에 대한 부분도 도커 / ks8을 통해서 실제 서비스 구현 레벨까지 구현합니다.



 

· SQLite을 통해서 VSS와 Ollama을 이용해서 검색 증강 생성 시스템을 구축해봅니다.

 - 테스트용 로컬 LLM 실행 환경으로 Ollama을 이용합니다.

https://ollama.com/


RAG용 스키마 생성 후, 검색 인덱싱 생성을 효율적으로 진행하기 위해서 2가지 생성합니다.

임베딩을 사용한 컨텐츠를 저장하고, Ollama API를 연동합니다.

이것을 통해서 RAG 파이프라인을 구축합니다. 모든 구성요소가 하나로 이어집니다.

e******m 2026.09.24. 신고 공감 0 댓글 0
리뷰 총점 종이책
벡터DB를 이해하면 RAG가 보인다
"벡터DB를 이해하면 RAG가 보인다" 내용보기
한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬받아 작성된 서평입니다.  어느새 RAG는 손쉽게 구현할 수 있는 것처럼 여겨지지만, 기반 지식없이는 효율적으로 원하는 바를 구현하기가 쉽지 않다고 생각한다. 물론 RAG를 보다 쉽고 효과적으로 구축할 수 있는 다양한 오픈소스 프레임워크들이 나오고 있지만, 그래도 기반 동작을 익히는 데에는 이유가 있다. 이번에 읽은
"벡터DB를 이해하면 RAG가 보인다" 내용보기

한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬받아 작성된 서평입니다.

 

어느새 RAG는 손쉽게 구현할 수 있는 것처럼 여겨지지만, 기반 지식없이는 효율적으로 원하는 바를 구현하기가 쉽지 않다고 생각한다. 물론 RAG를 보다 쉽고 효과적으로 구축할 수 있는 다양한 오픈소스 프레임워크들이 나오고 있지만, 그래도 기반 동작을 익히는 데에는 이유가 있다. 이번에 읽은 책 <벡터 데이터베이스(한빛미디어, 니틴 보르완카르 저) >는 RAG의 핵심 구성요소인 임베딩과 벡터DB의 기본을 다져주는 책이다.

 

한빛에서 번역서가 나오기 전에 원서로 앞부분을 읽었던 터라, 2장 임베딩과, 5장 PGVector 이용한 논문 검색 시스템 구축, 6장 Ollama로 RAG 시스템 구축하기 관련 내용을 중점적으로 읽었다. 역시 한글이 쏙쏙 쉽고 빠르게 읽힌다.

 

먼저 임베딩부터 이야기해보자면, 문장을 구성하는 토큰을 다차원 공간에 매핑함으로써 유사한 어휘(토큰)들이 비슷한 공간에 위치하게 만드는 것이다. 좀 더 정확히 기술하자면 비정형 데이터를 고차원 벡터 공간의 숫자 표현으로 변환하는 것이다.  의미나 맥락이 비슷한 데이터는 이 벡터 공간에서도 상대적으로 가까운 위치에 배치된다. 가장 유명한 그림이 아래 그림이다. Word2Vec이 보여준 흥미로운 결과중 하나가 단어 사이의 의미 관계를 벡터 연산으로 어느정도 드러난다는 점이다. 인간이 사용하는 언어의 관계가 군집으로 표현되고, 그 군집간 벡터를 상징하는 단어가 있다는 사실이 놀랍다. 이걸 처음 발견한 초기 연구자들은 어떤 감정이었을까?

예전에 검색엔진 개발 팀에서 형태소 분석 결과를 바탕으로 역색인 파일을 만들고, 동의어 검색을 구현하기 위해 사전을 만들고, 사용자 질의를 어떻게 확장할 것인지를 정의하기 위해 온갖 짓들을 다했는데, 그때와 비교하면 요즘 임베딩과 벡터DB로 구현된 시맨틱 검색은 정말 엄청난 상전벽해의 느낌을 준다.

왕 - 남성 + 여성 = 여왕, 출처: 1장 벡터데이터베이스 소개, 37쪽

 

이 관계를 Word2Vec, Doc2Vec, 트랜스포머 모델까지  설명하면서 벡터데이터베이스의 등장 배경을 설명하는 것이 1장과 2장의 주요 내용이다. RDB나 NoSQL로도 벡터를 저장할 수 있지만, 코사인 유사도나 최근접 이웃검색을 효과적으로 수행하기엔 역부족이다. 그래서 결국 HNSW나 ANN 인덱스 등으로 벡터 검색에 특화된 벡터DB 사용을 고려할 수 밖에 없다.  개인적으로는 별도의 벡터DB를 도입하기 전에 일단 pgvector를 검토한다. FAISS, SQLite3-VSS,Chroma 등이 있지만, 메타 데이터와 벡터를 하나의 트랜잭션 경계 내에서 관리한다는 장점도 크고, 별도의 운영 시스템을 추가하기 않아도 되므로 pgvector를 사용하는 것이 정답이라 생각한다.

 

책의 전체적인 얼개는 벡터DB의 필요성 -> 개인이 사용하는 RAG 유틸 -> 서비스로 구축하기 -> 앞으로의 개선점(벡터 질의 언어)로 구성된다. 1,2장은 벡터DB의 등장 배경, 필요성을 언급했다면 3장에서는 벡터DB의 유사도 검색을 위한 색인(인덱싱) 기법을 설명한다. 정확도를 약간 희생하더라도 검색속도를 높이기 위한 인덱싱 기법을 살펴보면 벡터DB가 단순히 벡터 데이터를 저장하는 것이 아니라는 점을 알 수 있다. 5장에서는 arXiv 논문을 다운로드 받아서 텍스트를 추출하고, 이를 청크로 나눠서 벡터화한 다음, 조회하는 시스템을 Pgvector를 기반으로 구현한다. 6장은 Sqlite3를 사용하지만 Ollama를 통한 로컬 임베딩 API를 사용하는 것에 대한 내용이 주다. 임베딩 모델은 대체로 크기가 작은 편이므로 충분히 로컬 검색 환경을 구성하기가 쉽다. 이후 장에서 다루는 내용은 개인이 사용하는 것이 아니라 서비스로 구축하기 위한 스키마 설계부터 데이터 처리 파이프라인을 다룬다.

 

따라서 RAG를 한번이상 고민해 봤다면 1장부터 3장까지는 상식 측면에서 쉽게 읽을 수 있고, 4장부터는 서비스를 구축하는 과정으로 이해해서 8장까지 파이썬 코드와 함께 책을 읽으면 된다. 전체적으로 벡터DB와 RAG에 대하여 좀 더 자세히 이해하는데 도움이 되는 책이다. 다시 한번 RAG에서 어려운 부분은 벡터 검색 구현이 아니라, 어떤 데이터를 수집하여 청크를 어떻게 나누고, 어떻게 임베딩하며, 메타 데이터를 관리할 것이며, 검색 결과를 평가하는 것이  더 중요하다는 점을 느낀다. 결국 RAG도 데이터 엔지니어링의 도메인에 속하는 것 같다.

 

파이썬 코드를 사용하지만, 그렇게 난이도가 있는 코드를 사용하지 않으므로(또한 파이썬도 직관적인 언어이므로) 개발자 뿐만 아니라 AI 서비스 기획자도 앞부분부터 차례대로 읽어나가면서 개념을 이해할 수 있는 책이라 생각된다. RAG 시스템을 구축하겠다 이런 의도를 가진 팀이라면 반드시 학습해야 장점과 단점, 한계점을 공유할 수 있을 것이다.

 

단점은..결국 원서인 까닭에 한글 처리에 대한 내용이 부족하다. 책에서는 all-MiniLM-L6-v2 모델을 주로 사용하는데, 이 모델은 한국어 처리가 부실한 것으로 알려져 있다. 따라서 다중언어 버전인 paraphrase-multilingual-MiniLM-L12-v2이나 한국어에 특화된 KURE모델, Ko-SBERT 모델 등으로 예제가 보완되었으면 어떨까 하는 아쉬움이 있다. LLM이 등장하면서 한국어 처리의 벽이 많이 무너지긴 했지만, 그래도 벽은 여전히 벽이다.

 

 

YES마니아 : 로얄 n**********r 2026.09.27. 신고 공감 0 댓글 0
리뷰 총점 종이책
벡터 데이터베이스 - 어려워도 하나씩
"벡터 데이터베이스 - 어려워도 하나씩" 내용보기
“한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다.”일하면서 데이터를 다루다 보니, 최근 몇 년 사이 임베딩이니 RAG니 하는 말을 여기저기서 계속 듣게 됐다. 검색이 예전처럼 단어를 정확히 맞추는 방식이 아니라, ‘의미가 비슷한 것’을 찾아주는 쪽으로 넘어가고 있다는 것도 감으로는 알고 있었다.그런데 정작 그게 안에서 어떻게 동작하는
"벡터 데이터베이스 - 어려워도 하나씩" 내용보기

“한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다.”


일하면서 데이터를 다루다 보니, 최근 몇 년 사이 임베딩이니 RAG니 하는 말을 여기저기서 계속 듣게 됐다. 검색이 예전처럼 단어를 정확히 맞추는 방식이 아니라, ‘의미가 비슷한 것’을 찾아주는 쪽으로 넘어가고 있다는 것도 감으로는 알고 있었다.


그런데 정작 그게 안에서 어떻게 동작하는지는 설명하기 어려웠다. 임베딩이 뭔지, 유사도를 어떻게 계산하는지, RAG가 왜 그냥 LLM 호출이 아닌지 물어보면 말이 막혔다.


한빛미디어의 벡터 데이터베이스를 고른 이유가 그거였다. 개념만 훑는 책이 아니라 FAISS, SQLite3, pgvector, Ollama 같은 도구로 직접 구현하면서 익히는 구성이라 손이 갔다.


2장 임베딩 - 코사인 유사도 앞에서 멈췄다

가장 오래 붙잡고 있었던 장은 2장 임베딩이었다.

Word2Vec과 Doc2Vec으로 시작해서 단어와 문서가 어떻게 벡터로 바뀌는지, 그 벡터 사이의 거리를 어떻게 재는지를 다룬다. 여기서 코사인 유사도가 나온다.

말로는 ‘의미가 비슷하면 벡터도 가깝다’는 게 이해가 됐다. 그런데 그걸 각도와 내적으로 계산하는 수식 앞에서는 속도가 확 느려졌다. 개발 일을 하면서도 이런 수학을 실제로 다시 들여다볼 일은 많지 않았다는 걸 새삼 느꼈다.


실전 예제가 있어서 끝까지 갈 수 있었다

수식에서 막혀도 책을 놓지 않을 수 있었던 이유는 따로 있다. 각 장마다 실제로 돌려볼 수 있는 예제가 바로 이어졌기 때문이다.

3장에서 FAISS로 유사도 검색을 해보고, 4장에서 SQLite3에 벡터 검색 기능을 붙여본다. 5장부터는 pgvector로 arXiv 논문 검색 시스템을, 6~7장에서는 SQLite VSS와 pgvector 각각으로 RAG 시스템을 완성하고, 8장에서는 대화 기록까지 검색하는 RAG로 마무리한다.

개념을 완전히 이해하지 못해도 코드를 따라 치고 결과를 눈으로 확인하면서 감을 잡을 수 있었다. 수식은 못 따라가도 실습은 따라갈 수 있는 구성이라는 게 이 책의 진짜 장점이라고 생각한다.


이런 분께 추천합니다

SQL에는 익숙한데 벡터 검색은 처음인 개발자

기존 관계형 데이터베이스는 다뤄봤지만 임베딩이나 유사도 검색은 이름만 들어본 경우. SQLite3, PostgreSQL처럼 익숙한 도구에 벡터 기능을 붙여보는 실습이라 낯선 인프라부터 새로 배우지 않아도 된다.


FAISS·pgvector·Ollama가 뭔지 헷갈리는 사람

이름은 여러 번 들어봤는데 서로 뭐가 다른지 설명하기 어려웠다면, 다섯 개의 실습 프로젝트를 거치면서 각 도구가 어느 지점에서 쓰이는지 비교하며 정리할 수 있다.


이런 분께는 권하지 않습니다

수학과는 아예 거리를 두고 싶은 분 — 2장에서 코사인 유사도 같은 개념을 수식으로 다룬다. 여기를 완전히 건너뛰면 뒤로 갈수록 이해가 흐릿해진다.


파이썬과 SQL이 둘 다 낯선 분 — 책이 이 둘은 다룰 줄 안다고 전제하고 넘어간다.


정리 - 다음엔 기초부터 다시 보고 싶다

벡터 데이터베이스를 덮고 나서 든 생각은 ‘이해했다’보다는 ‘더 알아야겠다’에 가까웠다.

실습을 따라가며 벡터 검색이 실제로 작동하는 흐름은 눈에 들어왔지만, 그 밑에 깔린 수학은 여전히 낯설다. 다음에는 이 책보다 한 단계 앞선, 벡터와 유사도의 기초부터 다루는 자료를 찾아 더 공부해볼 생각이다.

w******4 2026.09.22. 신고 공감 0 댓글 0
리뷰 총점 종이책
벡터 데이터베이스 책 한 권으로 마스터하기 - 한빛미디어 벡터 데이터베이스
"벡터 데이터베이스 책 한 권으로 마스터하기 - 한빛미디어 벡터 데이터베이스" 내용보기
"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬받아 작성된 서평입니다."예전의 검색은 단순했습니다. 정확한 단어를 넣으면 그 단어가 든 문서가 나왔고, 틀리게 넣으면 못 찾는 게 당연했습니다.지금은 좀 다릅니다. 표현을 조금 다르게 써도 의도를 알아듣고, 수많은 문서와 이미지 사이에서 맥락상 가장 가까운 것을 꺼내 주기를 기대하죠. 검색에 대한 우리의 기준
"벡터 데이터베이스 책 한 권으로 마스터하기 - 한빛미디어 벡터 데이터베이스" 내용보기


"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬받아 작성된 서평입니다."


예전의 검색은 단순했습니다. 정확한 단어를 넣으면 그 단어가 든 문서가 나왔고, 틀리게 넣으면 못 찾는 게 당연했습니다.


지금은 좀 다릅니다. 표현을 조금 다르게 써도 의도를 알아듣고, 수많은 문서와 이미지 사이에서 맥락상 가장 가까운 것을 꺼내 주기를 기대하죠. 검색에 대한 우리의 기준 자체가 올라간 셈입니다.


한빛미디어의 [벡터 데이터베이스]는 그 기대를 실제로 구현하는 기술을 개념부터 코드까지 한 줄로 이어서 설명하는 책입니다.


생성형 AI와 RAG가 빠르게 현장으로 들어오는 지금, 이 책은 새로운 데이터베이스 하나를 소개하는 데서 멈추지 않습니다. AI가 데이터를 '의미'로 다룬다는 게 무슨 뜻인지, 그걸 서비스로 만들려면 무엇을 준비해야 하는지까지 짚어 줍니다.


기술이 빨리 바뀔수록 용어를 외우는 일보다 그 기술이 풀려는 문제가 무엇인지 아는 게 중요합니다. 알고 쓰는 것과 모르고 쓰는 것은 결과가 완전히 다르니까요. 이 책은 딱 그 지점에서 출발합니다.


왜 하필 벡터일까


기존 데이터베이스와 키워드 검색은 정확한 문자열을 찾는 데 아주 강합니다. 문제는 사람의 말이 그렇게 단순하지 않다는 것이죠.


'배'가 과일인지 선박인지는 앞뒤 문맥이 정합니다. 비슷한 분위기의 이미지를 찾는 일, 단어는 다르지만 같은 주제를 다루는 문서를 찾는 일도 마찬가지고요. 사용자가 원하는 건 자기가 친 문장이 그대로 들어간 결과가 아니라, 질문의 의도에 가장 가까운 답인 경우가 많습니다.


벡터 데이터베이스는 텍스트와 이미지, 오디오 같은 비정형 데이터를 숫자 벡터로 바꾸고, 그 사이의 거리와 유사도로 의미가 가까운 정보를 찾아냅니다. 이 책은 왜 이런 변화가 필요했는지부터 차근차근 설명해서, '벡터'를 낯선 용어가 아니라 문제를 푸는 도구로 받아들이게 만듭니다.


이론과 실습 사이가 비어 있지 않다


가장 좋았던 점은 개념과 코드가 끊기지 않고 이어진다는 것입니다.


벡터 데이터베이스가 왜 필요한지, SQL·NoSQL과는 어떤 관계인지, 정형 데이터와 벡터 데이터를 함께 다루는 하이브리드 방식은 무엇인지를 먼저 정리한 뒤 임베딩과 유사도 검색으로 넘어갑니다.


실습도 계단이 자연스럽습니다. FAISS로 검색을 해 보고, SQLite3 기반의 의미 검색을 만들고, PostgreSQL의 pgvector로 arXiv 논문 검색 시스템까지 올립니다. 이어서 SQLite VSS와 Ollama를 묶은 검색 증강 생성 시스템, pgvector 기반 과학 논문 RAG 시스템, 그리고 완전한 대화형 검색 및 RAG 시스템까지 다룹니다.


덕분에 독자는 개념만 읽고 덮는 게 아니라, 데이터를 준비하고 저장한 뒤 검색 결과를 생성형 AI의 답변으로 연결하는 전 과정을 직접 따라가 보게 됩니다. 처음 보는 사람에게는 학습 순서가 되고, 이미 AI 서비스를 만져 본 사람에게는 내 프로젝트에서 뭘 빠뜨렸는지 확인하는 체크리스트가 됩니다.


결국 승부는 검색에서 납니다


이 책을 권하는 가장 큰 이유는 따로 있습니다. AI를 잘 쓰는 사람과 아닌 사람의 차이는 모델을 호출하는 능력이 아니라, 필요한 데이터를 찾아 알맞은 맥락으로 넘겨주는 능력에서 갈리기 때문입니다.


답을 잘하는 챗봇, 사내 지식을 찾아 주는 업무 도우미, 논문과 보고서를 뒤지는 서비스. 전부 믿을 만한 검색 기반이 있어야 돌아갑니다. 모델이 아무리 뛰어나도 엉뚱한 문서를 근거로 답하면 사용자는 금방 등을 돌리니까요.


그래서 이 책은 RAG를 데모 수준에서 끝내지 않습니다. 저장과 검색은 물론이고 접근 제어, 백업과 복구, 파티셔닝처럼 실제 운영에서 반드시 만나는 문제까지 함께 생각하게 만듭니다.


관계형 데이터베이스에 익숙한 개발자라면 더 반가울 겁니다. 새 도구를 무작정 들이는 대신, 쓰던 DB 안에서 벡터 기능을 붙이는 방법을 배울 수 있으니까요. 새 기술을 고를 때 필요한 기준과 현실 감각도 덤으로 따라옵니다.


읽고 나면 질문이 바뀝니다


책을 덮고 나면 'AI 서비스 한번 만들어 보고 싶다'는 막연한 말이 훨씬 구체적인 질문으로 바뀝니다.


어떤 데이터를 임베딩할 것인가. 어떤 검색 방식을 고를 것인가. 정형 조건과 의미 검색을 어떻게 섞을 것인가. 검색 결과를 답변 품질로 어떻게 연결할 것인가.


AI 개발자만의 이야기가 아닙니다. 데이터 엔지니어, 백엔드 개발자, 기술 기획자에게도 쓸모 있는 관점입니다. 기술 이름을 아는 데서 끝나지 않고, 내 업무와 제품에 어떻게 붙일지를 생각하게 만드니까요.


그리고 한 가지를 더 알게 됩니다. AI 시스템의 성능은 모델 혼자 만드는 게 아니라 데이터의 품질과 검색 구조, 사용자가 실제로 마주하는 경험이 함께 만든다는 사실 말입니다.


[벡터 데이터베이스]는 AI 시대의 새로운 검색 방식을 배우게 해 주는 책입니다. 벡터가 낯선 분께는 친절한 입문서가 되고, RAG나 생성형 AI를 이미 실험해 본 분께는 비어 있던 자리를 채워 주는 안내서가 됩니다. 복잡한 기술을 길게 나열하는 대신 왜 이 기술이 필요해졌고 어디에 쓸 수 있는지를 보여 주기 때문에 더 설득력이 있고요.


AI가 더 나은 답을 내놓게 만드는 일은, 결국 데이터를 더 정확하고 의미 있게 찾아내는 데서 시작합니다. 


그 출발점을 제대로 이해하고 구현 감각까지 챙기고 싶으시다면, 한빛미디어의 [벡터 데이터베이스] 책을 추천합니다.


#한빛미디어 #벡터데이터베이스 #aiengineer #ai개발자 #dataengineer 

s*****8 2026.09.19. 신고 공감 0 댓글 0