Роллинг
При индексировании временных рядов данных, таких как журналы или метрики, вы не можете постоянно записывать в один индекс. Чтобы удовлетворить требования к производительности индексирования и поиска, а также управлять использованием ресурсов, вы записываете в индекс до достижения определенного порога, а затем создаёте новый индекс и начинаете запись в него. Использование роллинг-индексов позволяет вам:
- Оптимизировать активный индекс для высоких скоростей загрузки на высокопроизводительных узлах hot.
- Оптимизировать производительность поиска на узлах warm.
- Перемещать более старые, реже используемые данные на менее дорогостоящие узлы cold,
- Удалять данные в соответствии с политиками хранения, удаляя целые индексы.
Мы рекомендуем использовать потоки данных для управления временными рядами данных. Потоки данных автоматически отслеживают индекс записи, сохраняя конфигурацию на минимальном уровне.
Каждый поток данных требует шаблона индекса, который содержит:
- Имя или шаблон с подстановкой (
*) для потока данных. - Поле времени метки потока данных. Это поле должно быть отображено как
dateилиdate_nanosтип данных поля и должно быть включено в каждый документ, индексируемый в поток данных. - Картирования и настройки, применяемые к каждому индексу поддержки при его создании.
Потоки данных предназначены для данных с добавлением, где имя потока данных может использоваться в качестве целевого объекта операций (чтение, запись, роллинг, уменьшение и т. д.). Если ваш сценарий предполагает обновление данных на месте, вы можете вместо этого управлять своими временными рядами данных с помощью псевдонимов индексов. Однако есть несколько дополнительных шагов конфигурации и понятий:
- Шаблон индекса, который определяет настройки для каждого нового индекса в ряду. Вы оптимизируете эту конфигурацию для загрузки, обычно используя столько фрагментов, сколько у вас узлов hot.
- Псевдоним индекса, который ссылается на весь набор индексов.
- Один индекс, обозначенный как индекс записи. Это активный индекс, который обрабатывает все запросы на запись. При каждом роллинге новый индекс становится индексом записи.
При переходе индекса, возраст предыдущего индекса обновляется, отражая время перехода. Эта дата, а не creation_date индекса, используется в расчётах фазы управления жизненным циклом индекса min_age. Узнать больше.
Автоматический роллинг
ILM и жизненный цикл потока данных (в [превью] Эта функциональность находится в техническом превью и может быть изменена или удалена в будущих релизах. Elastic будет работать над решением любых проблем, но функции в техническом превью не подпадают под SLA поддержки официальных функций GA. ]) позволяют автоматически переходить к новому индексу на основе таких условий, как размер индекса, количество документов или возраст. При срабатывании перехода создается новый индекс, псевдоним записи обновляется для указания на новый индекс, и все последующие обновления записываются в новый индекс.
Переход к новому индексу на основе размера, количества документов или возраста предпочтительнее временных переходов. Переход в произвольное время часто приводит к множеству небольших индексов, что может негативно сказаться на производительности и использовании ресурсов.
Пустые индексы не будут переходить, даже если у них есть связанное max_age, которое в противном случае привело бы к переходу. Политика может переопределить это поведение и явно включить переход пустых индексов, добавив условие "min_docs": 0. Это также можно отключить на уровне кластера, установив indices.lifecycle.rollover.only_if_has_documents в false.
Действие перехода неявно всегда переходит в поток данных или псевдоним, если один или несколько фрагментов содержат 200000000 или более документов. Обычно фрагмент достигнет 50 ГБ задолго до того, как достигнет 200 млн документов, но это не относится к наборам данных с высокой эффективностью использования пространства. Производительность поиска, скорее всего, пострадает, если фрагмент содержит более 200 млн документов. Вот почему существует встроенное ограничение.
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/index-rollover.html