Tech News

제목Vespa vs. ElasticSearch2020-11-05 09:40
작성자 Level 10

https://tech.okcupid.com/vespa-vs-elasticsearch/ 


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

G
M
T
음성 기능은 200자로 제한됨
댓글
자동등록방지
(자동등록방지 숫자를 입력해 주세요)