[elasticsearch] sharding 알고리즘.
Elastic/Elasticsearch 2014. 1. 28. 16:47elasticsearch 에서 어떤식으로 index 와 document 를 분산 시키는지 궁금 하신 분들이 계실걸로 압니다.
뭐 소스 코드 보신 분들은 다 아실 것 같고 보기 귀찮으신 분들을 위해서 짧게 적어 봅니다.
[Index Sharding Route]
- index settings 에서 number_of_shards 설정 정보를 이용합니다.
- 그래서 각 node 들에 순서데로 나눠서 할당을 합니다.
[Document Route]
- sharding 된 index shard 에 document 를 어떻게 분배 할지 결정을 합니다.
- 분배는 hash 알고리즘을 이용합니다.
- Math.abs( hash(....) % numberOfShards )
관련 소스는 아래
- org.elasticsearch.cluster.routing 패키지
입니다.