Если вы решили мигрировать из ElasticSearch в OpenSearch, важно знать, что эти две системы хоть и близкие родственники, имеют некоторые отличия. Например, в принципах работы политик управления жизненным циклом индексов. В этом посте мы вкратце об этом расскажем.
В ElasticSearch технология управления жизненным циклом индексов называется Index Lifecycle Management (ILM), в OpenSearch она же называется Index State Management (ISM). Обе технологии построены на ролловере в рамках датастрима по критериям возраста, размера или количества документов в индексе. В обоих случаях при ролловере можно выполнять действия над индексами: изменять количество шардов, мерджить сегменты, менять количество реплик, изменять приоритет восстановления, делать индекс readonly, создавать снапшоты и, наконец, удалять индекс.
Теперь поговорим про отличия.
⚡️В OpenSearch типы узлов hot/warm/cold настраиваются как атрибуты узлов (то же самое, что и Shard Allocation Awareness в ElasticSearch). В Elasticsearch типы узлов hot/warm/cold настраиваются как роли узлов.
⚡️Elasticsearch ILM поставляется с фазами hot/warm/cold/delete, определенными из коробки. В Opensearch вам нужно создавать и называть фазы самостоятельно. Зато какой полет фантазии возможен: разогретая фаза, чуть подостывшая, замерзшая и далее по списку.
⚡️В Opensearch действия, состояния и переходы настраиваются вами самостоятельно в рамках ISM. В Elasticsearch предустановлены фазы и действий внутри каждой фазы.
⚡️Opensearch ISM поддерживает уведомления для каждого из фазовых переходов и ошибок. В Elasticsearch нельзя создавать уведомления из конфигурации ILM.
⚡️В ISM индексы назначаются непосредственно из политики, т.е. в политике хранятся индексы, которые будут ей аффектиться. В Elasticsearch сам индекс хранит политику, которой он управляется.
Если вы хотите подробнее узнать про настройки ISM в OpenSearch, рекомендуем ознакомиться с этой статьёй.
А какую технологию используете вы?
Post #163
1.17K