Облачная платформаAdvanced

Функции улучшения поиска для кластеров Elasticsearch

Эта статья полезна?
Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

По сравнению с open-source Elasticsearch, кластеры Elasticsearch в CSS имеют множество улучшенных функций. Таблица 1 перечисляет эти улучшенные функции и соответствующие версии кластеров.

Таблица 1 Функции улучшения поиска для кластеров CSS Elasticsearch

Улучшенная функция

Описание

Версия кластера

Подробности

Векторный поиск

Неcтруктурированные данные, такие как изображения, видео и языковые корпусы, преобразуются в векторы, которые ищутся по схожести с использованием точного или приближённого алгоритма ближайших соседей.

Elasticsearch 7.6.2, Elasticsearch 7.10.2

Разделение хранения и вычислений

Горячие данные, к которым часто обращаются, хранятся в высокопроизводительных носителях памяти, в то время как холодные данные, к которым обращаются редко, переносятся в низкозатратные носители памяти — Object Storage Service (OBS). Это обеспечивает реальное время выполнения запросов для горячих данных при снижении долгосрочных расходов на хранение.

По сравнению с переключением между холодным/горячим хранилищем, отделение хранилища от вычислений является более подходящим вариантом для сценариев, не требующих высокой производительности поиска, поскольку холодные данные хранятся в OBS, что сокращает расходы на хранение.

Elasticsearch 7.6.2, Elasticsearch 7.10.2

Flow Control 2.0

Защищает кластеры от перегрузки с помощью политик управления потоком, таких как ограничение запросов клиентов, обратное давление при индексировании шарда и анализ шаблонов трафика, обеспечивая правильное распределение ресурсов и предотвращение рисков.

NOTE:

Кластеры Elasticsearch 7.6.2 и Elasticsearch 7.10.2, созданные после января 2023 года, поддерживают только Flow Control 2.0, в то время как кластеры, созданные ранее, поддерживают только Flow Control 1.0.

Elasticsearch 7.6.2, Elasticsearch 7.10.2

Flow Control 1.0

Flow Control 1.0 контролирует трафик на уровне узла. Вы можете настраивать черные списки и белые списки для каждого узла, максимальное количество одновременных HTTP соединений, допустимое количество HTTP соединений, максимальный объем памяти кучи, используемой конкретными путями запросов, и максимальное использование CPU. Вы можете блокировать доступ в один клик и собирать статистику по IP адресам и URL адресам, обращающимся к узлам. Если Flow Control включен, запросы будут блокироваться на входе, что снижает нагрузку на кластер в сценариях высокой конкуренции и уменьшает вероятность проблем недоступности.

NOTE:

Кластеры Elasticsearch 7.6.2 и Elasticsearch 7.10.2, созданные после января 2023 года, поддерживают только Flow Control 2.0, тогда как кластеры, созданные до этого, поддерживают только Flow Control 1.0.

Elasticsearch 7.6.2, Elasticsearch 7.10.2

Изоляция больших запросов

Вы можете изолировать запросы, которые потребляют большое количество памяти или занимают длительное время. Таким образом вы обеспечиваете доступность сервиса для остальных запросов. Если использование heap‑памяти узла слишком велико, будет запущена программа управления прерываниями, которая завершит большой запрос в соответствии с настроенными вами политиками. Вы также можете настроить глобальную длительность тайм‑аута запросов. Длинные запросы будут перехвачены нативным API отмены Elasticsearch.

Elasticsearch 7.6.2, Elasticsearch 7.10.2

Улучшенная агрегация

Повышает производительность агрегации при работе с большими объёмами данных, используя векторизацию и оптимизированную кластеризацию, что позволяет ускорить аналитику и принятие решений в сложных ситуациях.

Elasticsearch 7.10.2

Разделение чтения/записи

Направляет операции записи в основной кластер, а запросы — в подчинённый кластер. Такое разделение нагрузок повышает стабильность, масштабируемость и возможности обработки высокой конкурентности у кластеров.

Elasticsearch 7.6.2, Elasticsearch 7.10.2

Переключение между горячим и холодным хранилищем

Переключение между горячим и холодным хранилищем означает распределение данных по узлам с различными стандартами производительности в зависимости от температуры данных (то есть того, как часто к ним обращаются). Как правило, для хранения горячих данных (данных в режиме реального времени), к которым часто обращаются, используется высокопроизводительное оборудование (например, SSD), в то время как для хранения холодных данных (исторических данных), к которым обращаются редко, используется недорогое оборудование (например, HDD). Цель состоит в достижении оптимальных затрат на хранение и производительности запросов.

По сравнению с разъединением хранения и вычислений, переключение между холодным и горячим хранилищем является более подходящим вариантом для сценариев, требовательных к производительности поиска. Холодные данные хранятся на локальных узлах холодных данных в кластере. Доступная ёмкость хранения зависит от количества узлов холодных данных и их ёмкости дисков. Стоимость хранения выше, чем у OBS.

Эта функция поддерживается, пока у кластера есть узлы холодных данных.

Корзина индекса

Как и любой другой тип корзины, корзина индексов временно хранит удалённые индексы, чтобы пользователи могли восстановить их до окончательного удаления из корзины. Это помогает предотвратить ошибочное удаление данных и повысить надёжность данных кластера

Elasticsearch 7.10.2