# Vespa vs. ElasticSearch

> Clean Markdown view of GeekNews topic #3108. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=3108](https://news.hada.io/topic?id=3108)
- GeekNews Markdown: [https://news.hada.io/topic/3108.md](https://news.hada.io/topic/3108.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2020-10-29T10:54:57+09:00
- Updated: 2020-10-29T10:54:57+09:00
- Original source: [tech.okcupid.com](https://tech.okcupid.com/vespa-vs-elasticsearch-for-matching-millions-of-people-6e3af18eb4dc)
- Points: 12
- Comments: 2

## Topic Body

- OkCupid가 오픈소스 검색엔진으로 Vespa를 선택한 이유

- 데이팅 추천상대를 실시간 랭킹에 따라 바꿔야 하는데, 기존의 매칭시스템은 계속 바뀌는 사용자의 상태를 빠르게 반영이 어려움

- ElasticSearch는 인메모리 부분 업데이트에 대한 지원이 없음

ㅤ→ 문서는 대부분 정적이지만, 사용자의 정보(좋아요,사람과의 연결/패스,메시징)은 동적으로 계속 바뀜

- Vespa : 빅데이타를 위한 오픈소스 검색엔진 ( 데이터 분석보다는 서빙하는 목적으로 최적화 )

ㅤ→ 전체 문서를 재인덱싱할 필요없이 인메모리 부분 업데이트 지원 (노드당 1초에 40~50K 업데이트 가능 )

ㅤ→ 유연한 랭킹 프레임워크를 재공해서 질의할때 처리가능

ㅤ→ TensorFlow 등의 머신러닝 모델과 직접 연동

ㅤ→ REST 호출시 YQL(Yahoo Query Language) 를 사용한 질의 가능

ㅤ→ Java 컴포넌트를 이용해서 로직 커스터마이즈 가능

ㅤ→ 확장성에 있어서는 샤드에 대한 생각을 할 필요가 없음. 노드를 추가/제거할때마다 데이터가 자동으로 복구되고 복제본에서 재배포됨

- Vespa가 OkCupid 의 내부에 더 잘맞음

ㅤ→ OkCupid 는 사용자에 대한 다양한 정보를 통합해서 사람을 매칭

ㅤ→ 필터와 정렬기준이 각각 100개가 넘으며 계속 추가므로 이런 워크플로우 지원에 Vespa가 적합

ㅤ→ 데이터 쓰기 및 쿼리도 기존 매칭시스템과 유사

ㅤ→ 랭킹 프렘임워크가 훨씬 유연하고 직관적임

ㅤ→ ElasticSearch 의 이상한 쿼리구조 보다, YQL의 표현능력이 더 우수

ㅤ→ 자동 데이터 배포 기능이 작은 팀에 적합

## Comments



### Comment 3355

- Author: xguru
- Created: 2020-11-01T11:56:47+09:00
- Points: 1

Vespa 의 역사 및 가치에 대한 한국어 소개 글  
  
오픈소스 Yahoo Vespa https://web.archive.org/web/20210922122357/https://euriion.com/?p=412006  
( 2023년 현재, 블로그가 사라져서 웨이백머신 링크로 교체해 둡니다 )  
  
"Vespa는 오토바이 브랜드명이기도 하지만 Vertical Search Plaform의 약어"  
"Yahoo가 가진 핵심 기술 중에 절대로 공개하지 않을 것만 같은 것 중에 항상 언급이 되는 것 중에 다섯손가락 안에 꼽히는 것이 Vespa"  
"Vespa는 검색엔진을 중심으로 둔 통합 콘텐츠 처리 플랫폼의 콤포넌트 셋입니다.  간단히 생각하면 검색엔진이라고 보면 되지만 일반적인 Solr이나 Elastic과 같은 검색엔진 보다는 주변에 가진 부속 컴포넌트들이 훨씬 더 많습니다."

### Comment 3337

- Author: xguru
- Created: 2020-10-29T10:55:20+09:00
- Points: 2

글이 굉장히 긴데, 뒤쪽은 실제로 Vespa를 적용한 OkCupid의 시스템 구조부터 검색쿼리(YQL) 등을 보여주고 있으니 원글을 참고하세요.

글 마지막에도 내용이 있지만 ElasticSearch가 훨씬 더 많이 쓰이고 있고, Vespa는 아직 커뮤니키가 크지 않은게 단점이구요.

근데 여기서 보이는 것처럼 계속적으로 바뀌어야 하는 검색에 있어서는 Vespa도 훌륭한 대안이 될 수 있을듯 합니다.

데이트 상대 매칭을 예로 들었지만, 이커머스 검색들도 요즘은 실시간으로 바뀌어야 좋은 결과를 줄 수 있을테니까요.
