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의 표현능력이 더 우수
ㅤ→ 자동 데이터 배포 기능이 작은 팀에 적합
언어를 감지 갈리시아어 구자라트어 그루지야어 그리스어 네덜란드어 네팔어 노르웨이어 덴마크어 독일어 라오어 라트비아어 라틴어 러시아어 루마니아어 룩셈부르크어 리투아니아어 마라티어 마오리어 마케도니아어 말라가시어 말라얄람어 말레이어 몰타어 몽골어 몽족 미얀마어 (버마어) 바스크어 베트남어 벨로루시어 벵골의 보스니아어 불가리아어 사모아어 세르비아어 세부아노 세소토어 소말리아어 쇼나어 순다어 스와힐리어 스웨덴어 스코틀랜드 게일어 스페인어 슬로바키아어 슬로베니아어 신디어 신할라어 아랍어 아르메니아어 아이슬란드어 아이티 프랑스 말 아일랜드어 아제르바이잔어 아프리칸스어 알바니아어 암하라어 에스토니아어 에스페란토 말 영어 요루바어 우르두어 우즈베크어 우크라이나어 웨일즈어 이그보어 이디시어 이탈리아어 인도네시아어 일본어 자바어 줄루어 중국어(간체) 중국어(번체) 체와어 체코어 카자흐어 카탈로니아어 칸나다어 코르시카어 코사어 쿠르드어 크로아티아어 크메르어 키르기스어 타갈로그어 타밀어 타직어 태국어 터키어 텔루구어 파슈토어 펀자브어 페르시아어 포르투갈어 폴란드어 프랑스어 프리지아어 핀란드어 하와이 사람 하우사어 한국어 헝가리어 히브리어 힌디어
갈리시아어 구자라트어 그루지야어 그리스어 네덜란드어 네팔어 노르웨이어 덴마크어 독일어 라오어 라트비아어 라틴어 러시아어 루마니아어 룩셈부르크어 리투아니아어 마라티어 마오리어 마케도니아어 말라가시어 말라얄람어 말레이어 몰타어 몽골어 몽족 미얀마어 (버마어) 바스크어 베트남어 벨로루시어 벵골의 보스니아어 불가리아어 사모아어 세르비아어 세부아노 세소토어 소말리아어 쇼나어 순다어 스와힐리어 스웨덴어 스코틀랜드 게일어 스페인어 슬로바키아어 슬로베니아어 신디어 신할라어 아랍어 아르메니아어 아이슬란드어 아이티 프랑스 말 아일랜드어 아제르바이잔어 아프리칸스어 알바니아어 암하라어 에스토니아어 에스페란토 말 영어 요루바어 우르두어 우즈베크어 우크라이나어 웨일즈어 이그보어 이디시어 이탈리아어 인도네시아어 일본어 자바어 줄루어 중국어(간체) 중국어(번체) 체와어 체코어 카자흐어 카탈로니아어 칸나다어 코르시카어 코사어 쿠르드어 크로아티아어 크메르어 키르기스어 타갈로그어 타밀어 타직어 태국어 터키어 텔루구어 파슈토어 펀자브어 페르시아어 포르투갈어 폴란드어 프랑스어 프리지아어 핀란드어 하와이 사람 하우사어 한국어 헝가리어 히브리어 힌디어
음성 기능은 200자로 제한됨