Шардирование и репликация
Важно
Сервис Yandex Managed Service for Elasticsearch недоступен с 11 апреля 2024 года.
Вы можете создать кластер OpenSearch в Yandex Cloud в качестве альтернативы Elasticsearch.
В кластере Elasticsearch:
- С помощью шардирования можно обеспечить возможность масштабирования при росте объема данных в индексах.
- С помощью репликации можно повысить отказоустойчивость кластера и сохранность данных в индексах (только для многохостовых конфигураций кластера).
Подробнее о шардах, масштабировании и отказоусточивости см. в документации Elasticsearch
Шардирование индексов
Yandex Managed Service for Elasticsearch использует стандартный механизм шардирования индексов Elasticsearch. Для каждого индекса вы можете создать один или несколько первичных шардов (primary shards), между которыми распределяются запросы на запись в индекс. Количество первичных шардов можно задать только при создании индекса, потом их число нельзя будет изменить.
Elasticsearch равномерно распределяет первичные шарды по хостам кластера. Это снижает нагрузку на каждый отдельный хост и позволяет легко отмасштабировать кластер, если нагрузка вдруг возрастет.
Репликация индексов
Yandex Managed Service for Elasticsearch использует стандартный механизм репликации индексов Elasticsearch. Чтобы включить его, при создании индекса укажите фактор репликации — число реплик для каждого первичного шарда индекса. В результате будет создано нужное количество шардов-реплик (replica shard) для каждого первичного шарда.
При настроенной репликации:
- Запись в индекс идет только через первичные шарды.
- Чтение из индекса может выполняться одновременно и с первичных шардов, и с шардов-реплик.
Elasticsearch автоматически управляет шардами-репликами, перемещая их между хостами кластера при изменении размера кластера.
Количество шардов-реплик можно регулировать: в отличие от первичных шардов, их количество не фиксируется при создании индекса.