다섯 살도 알 수 있게 · AI
벡터 DB가 뭐예요?
벡터 데이터베이스를 좌표 딱지 순서로 책을 꽂아 둔 서가 이야기로 풀어봤어요.
책 백만 권에 딱지는 다 붙어 있어요. 그런데 한 권씩 재 보면 하루가 걸려요.좌표 딱지는 있어요. 문제는 찾는 속도예요.
보통 서가는 이름순·번호순이에요. 뜻 순서가 없어요.뜻이 같은 냥이와 야옹이가 멀리 떨어져 있어요. 그래서 가까운 딱지를 찾으려면 전부 뒤져야 해요.
벡터 DB는 좌표 딱지 순서로 정리한 서가예요. 가까운 딱지가 가까운 칸에 꽂혀요.질문 딱지가 (3, 9)면 동물 칸만 보면 돼요. 백만 권을 다 재지 않아도 돼요. 딱지가 뭔지는 좌표 딱지 이야기에서.
딱지로 꽂아요이름이 아니라 좌표 순서로
근처 칸만 뒤져요빠른 대신 대략이에요
책마다 이름표도 같이언어·연도·부서로 걸러요
앵무새를 바꾸면 다시 꽂아요딱지 지도가 달라져요
근처 칸에서 가까운 순서로 몇 권만 꺼내요. 그리고 이름표로 한 번 더 걸러요.다섯 권 달라고 하면 다섯 권 — 그게 top-5 예요. 딱지가 가까워도 이름표가 안 맞으면 빼요.
근처 칸만 보니 가끔 더 좋은 책을 놓쳐요. 그리고 서가는 찾을 뿐, 답하지 않아요.빠른 대신 대략이에요(근사). 찾은 책을 앵무새에게 읽혀서 답하게 하는 이야기는 사서가 찾아온 페이지에서.
한 줄로
벡터 DB = 좌표 딱지 순서로 정리한 서가. 가까운 딱지가 가까운 칸에 있어서 근처 칸만 뒤지면 되고, 책마다 이름표로 한 번 더 걸러요. 빠른 대신 대략이고, 찾을 뿐 답하진 않아요.
Vector database. 임베딩 벡터를 인덱스(HNSW 등)로 저장해 근사 최근접 탐색(ANN)으로 가장 가까운 top-k 를 빠르게 찾는 저장소예요. 메타데이터 필터, 청크 단위 저장, 키워드+벡터 하이브리드 검색을 지원하고, 임베딩 모델을 바꾸면 전체를 다시 인덱싱해야 해요. RAG 의 검색 층이에요.
어른들은 이렇게 불러요
- 벡터 데이터베이스
Vector database - 딱지로 정리한 서가. Pinecone, Milvus, pgvector, Chroma 가 이 서가예요.
- 인덱스 (HNSW)
Index (HNSW) - 칸 나누는 방법. 가까운 딱지끼리 다리를 놓아 몇 걸음 만에 근처로 가요.
- 근사 최근접 탐색
Approximate nearest neighbor - 근처 칸만 뒤지기. 전부 안 재서 빠르지만, 가끔 더 좋은 책을 놓쳐요.
- top-k
top-k - 가까운 순서로 k 권. 5권 달라면 5권. 너무 많이 꺼내면 쟁반이 넘쳐요.
- 메타데이터 필터
Metadata filter - 책 이름표로 거르기. 언어·연도·부서 같은 조건. 딱지 거리와 같이 써요.
- 청크
Chunk - 책을 페이지로 쪼개 꽂기. 책 한 권이 아니라 몇 문단씩 딱지를 붙여요. 쟁반에 올리기 좋게.
- 하이브리드 검색
Hybrid search - 글자 + 딱지. 이름·번호 같은 정확한 말은 글자로, 뜻은 딱지로 같이 찾아요.
- 임베딩
Embedding - 좌표 딱지. 서가에 꽂는 그 딱지. → 낱말마다 좌표 딱지
다음 이야기
사서가 찾아온 페이지 →