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