2016-10-28 3 views
1

MySQL InnoDB 테이블의 1M 행에서 테이블을 검색 할 때 문제가 거의 없습니다.MySQL 또는 ElasticSearch로 검색

이 1M 행에서 100k 활성입니다 (전체 텍스트 및 지리 검색을 비롯한 많은 매개 변수로 검색 할 수 있음). MySQL 인덱스는 괜찮으므로 쿼리는 300ms 미만으로 실행되지만 여전히 나쁘다고 생각합니다. 최악의 오프셋 - 쿼리에 몇 초가 걸릴 수 있습니다.

나는 ElasticSearch 사용에 대해 생각하고 있습니다. 누군가 나에게 좋은지 말해 줄 수 있니?

그런 경우 나는 Elastic과 MySQL 데이터베이스를 동기화해야하지만, 시도해 볼만한 가치가 있다면 꼭 사용해보십시오.

+1

소프트웨어/호스팅 권장/리뷰 요청은 분명히 오프 주제입니다. –

+1

GeoPoint 또는 GeoShape를 사용하여 Elasticsearch에서 데이터를 인덱싱하면 지형 공간 검색에 놀라운 성능을 얻을 수 있습니다. – medium

+0

@Marc B 알아,하지만 소프트웨어 또는 호스팅을 찾고 있지 않습니다. 한 기술이 다른 기술 문제로 인해 도움이된다면 도움이 필요합니다. –

답변

2

elasticsearch는 검색 성능을 향상시키고 오프셋을 방지하는 데 필요한 솔루션입니다.

elasticsearch는 전체 텍스트 및 지리적 위치 검색을 수행하도록 설계된 반면 MySQL은 데이터를 저장하도록 설계되었습니다.

사용중인 프레임 워크에 따라 MySQL에서 elasticsearch http://blog.randywallace.com/blog/2013/08/27/pulling-a-large-mysql-table-into-elasticsearch/으로 데이터를 쉽게 푸시 할 수 있습니다.

관련 문제