본문 바로가기
데이터 엔지니어링/AI

[AI-Vector DB]DB가 다르면 결과가 다르게 나온다고? 직접 해보자

by blog_autumn 2025. 8. 13.

벡터 DB 선택 과정

AI 프로젝트를 진행하면서 벡터 DB를 선정해야 할 일이 생겼다.

빠르게 구축하고 테스트해보는 것이 목적이었기에 AWS Bedrock을 활용해보기로 했고, 스터디가 충분하지 않았기 때문에 Bedrock 서비스에서 제공하는 DB(Postgres, OpenSearch) 두 가지를 확인했다.

 

처음에는 참고자료가 많고 쿼리도 자유로운 OpenSearch를 사용하려 했지만, 다른 개발자(DevOps, 백엔드)와의 소통을 위해 Postgres를 사용하기로 결정했다.

 

(사실 데이터를 보는 건 Postgres가 훨씬 편하다… 그래서 나도 postgres를 선택하는 것에 동의했다.)

그럽시다~

개발을 진행하고 있는데 갑자기...

개발을 진행하던 중, 코사인 유사도를 이용한 분석 시 Postgres와 OpenSearch에 따라 결과가 달라지지 않을까 하는 의견이 나왔다.

OpenSearch는 검색에 특화되어 있으므로 당연히 다르게 나올 것 같다고 다른 개발자가 말했다.

 

“같은 데이터인데 코사인 유사도가 Postgres에서는 1, OpenSearch에서는 2가 나오는게 이상하지 않아여..?”

어디서 부터 설명을 해야할까... 하...

 

물론 검색 방법을 바꾸거나 일부 조건을 설정하면 다르게 나올 수 있지만, 기본적으로는 동일한 결과가 나오는게 내 의견이다.

그를 설득하라!...

이제 그 개발자를 설득해야 하는 상황이었다.

이 사람을 어떻게 설득해야 할까... 어떻게 해야 프로젝트가 이상한 방향으로 안 흘러가

조건.

- 많은 사람들 앞에서 발표를 함.

- DB를 자주 안접해본 사람들도 있음.

- 정보의 전달이 목적ㅇ미...

 - 

 

따라서 직접 보여주는 방법이 최선이었다. 기왕이면 모델 비교와 청킹 전략도 함께 보여주었다.

모델 , DB, 청킹 전략 등을 다르게 해보았다.

실험 방법

  • Postgres와 OpenSearch를 올린다.
  • 같은 데이터(마이그레이션)를 동일한 방법으로 청킹(chunking)한다.
    • 한 번은 Haiku로, 다른 한 번은 Sonnet으로 진행
    • 청킹 방법: 계층적, 시맨틱, Fix 방식
  • 검색 결과를 보여준다.

 

배운 점

이번 발표를 통해 AI 관련 학습뿐만 아니라 발표 및 설득 방법도 조금 배운 것 같다.

 

청킹 전략 모델 비교를 함께 보여주면서, 다른 개발자들에게도 다양한 시각을 제공했다.

예전같으면 엄청 화를 내면서 말했겠지만 흥분할 수록 신뢰도가 떨어지고, 실수 할 수 있다. 

내가 평소 의사소통 개선을 위해 관련 도서를 자주 읽은 게 이번 프로젝트에서 도움이 되었다...