elasticsearch – Multi tenancy in Elastic Search
We are considering the same question right now, and the following set of articles by Elasticsearch was very helpful.
And read through each subsequent article until you hit this one: https://www.elastic.co/guide/en/elasticsearch/guide/current/finite-scale.html
The following two were very eye-opening for me:
The basic takeaway:
- Alias per customer
- Shard routing
- Now you can have indexes for big customers, shared indexes for little customers, and they all appear to be separate indices
This is a too important link not to be mentioned here:
Good architecture dilemmas, and great performance analysis / reasoning.
tldr; they had index groups that are built around shard allocation filtering to segregate load across nodes in the cluster