Elasticsearch и OpenSearch: подробное сравнение различий в производительности
Elasticsearch и OpenSearch: подробное сравнение различий в производительности

Исходный текст: https://www.elastic.co/blog/elasticsearch-opensearch- Performance-gap.

В ролях: Джордж Кобар, Уго Санджорджи

Для любой организации, которая полагается на быстрые и точные данные,Мощный, быстрый и эффективный двигатель является жизненно важным элементом. Для разработчиков и архитекторов,Выбор правильной платформы поиска может существенно повлиять на способность вашей организации быстро и актуально доставлять информацию. В нашем комплексном тестировании производительности,Elasticsearch Будьте мудрым выбором. Эластичный поиск Сравнивать OpenSearch быстрый40%-140%,В то же времяиспользование имеет меньше вычислительных ресурсов.

В этой статье мы рассмотрим шесть основных направлений. Elasticsearch и OpenSearch руководитьпроизводительность Сравниватьсравнивать:текстовый запрос、сортировать、Гистограмма даты、Объем Терминальный запроса также Использование ресурсы. Наша цель — предоставить объективную и практическую техническую информацию, которая поможет вам принимать обоснованные решения независимо от того, оптимизируете ли вы существующую систему или разрабатываете новую. Это сравнение С-преобразования также направлено на то, чтобы четко выделить Elasticsearch и OpenSearch Разница в производительности между ними показывает, что они совершенно разные.

Сначала мы проверим производительность Сравнивать результаты, а затем приступим к нашей тестовой среде «Метод испытаний».

результат

использовать t Проверьте производительность Сравниватьсравниватьрезультат(фокуссосредоточиться по запросу из р90 (нет. 90 индивидуальный процентиль)) перекрестная проверка, чтобы убедиться в наличии статистической разницы в измерениях задержки между двумя решениями. Относительное изменение (выраженное в процентах С сравнения) рассчитывается для каждого типа запроса. Мы также используем коробчатую диаграмму, показывающую 100% Запрос распределения задержки, коробчатая диаграмма, показывающая минимум, максимум, медиану, среднее значение и выбросы. В поле «Фактическое значение» показаны нижний и верхний квартиль соответственно. 25% и 75% наблюдений попадают в него. Таким образом мы можем получить представление о фактическом распределении этих значений.

Текстовые запросы — на 76% быстрее

“Искать всеВключать jane@doe.com данные. "

Elasticsearch Продемонстрирован значительный отрывок, исполненный текстовый запросизскорость Сравнивать OpenSearch быстрый 76% 。

текстовый запрос полнотекстового поиска, базового и ключевого, а полнотекстового поиска Elasticsearch из Основные функции. Запросы текстовых полей позволяют пользователям запрашивать текстовые данные для определенных фраз, отдельных слов или даже части слова. Пользователи могут выполнять сложные задачи с текстовыми данными — это улучшает общий пользовательский опыт и поддерживает широкий спектр приложений и решений.

сортировать

«Какой товар самый дорогой?»

В паре простой текстовый запросрезультатруководитьсортироватьчас,Elasticsearch изпроизводительность Сравнивать OpenSearch Удивительно выше 140%. Кроме того, Elasticsearch из метки времени, ключевого слова и номера сортировки запроса по времени выполнения добавляются быстрее соответственно. 24%、97% и 53%。

Сортировать Да Процесс упорядочения данных в определенном порядке (например, в алфавитном, числовом или хронологическом порядке). Сортировать полезно для поиска результатов на основе определенных критериев, гарантируя, что вашим клиентам будет представлен наиболее подходящий изрезультат. Это расширяет возможности пользователя и повышает общую эффективность поиска важных функций.

Гистограмма даты

“Показать одининдивидуальныйв соответствии счасмеждусортироватьиз Все данныеизгистограмма

Для гистограммы агрегирование дат, Elasticsearch Сравнивать OpenSearch быстрый 81%, продемонстрировав свои мощные возможности. Ускорение времени обработки облегчает создание упорядоченных гистограмм на основе данных временных рядов.

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

запрос диапазона

Показать цену на0-25междуизпродукт

Elasticsearch существоватьзапрос диапазонааспектбыстрый Понятно 40%, быстрый с точки зрения агрегации дальности 68%。

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

Более быстрыйиз Создайте жизненно важное,Потому что он предполагает классификацию данных по группам (фасетам) на основе определенных атрибутов.,Затем выполните операции агрегирования внутри каждой отдельной группы. Этот процесс работает путем предоставления структурированного представления данных, которое часто встречается в приложениях электронной коммерции.,Упрощает анализ, фильтрацию и визуализацию.

Терминальный запрос

Данные о покупке вместеизпродукт Группа

Elasticsearch продемонстрировал свое превосходство над OpenSearch Взаимно Сравнивать,Терминальный запросскоростьбыстрый 108%, скорость агрегирования сложных терминов быстрая 103%. Эти преимущества делают Elasticsearch Станьте лучшим выбором, когда дело доходит до группировки и фильтрации данных.

Агрегация Elasticsearch «Значный» в терминах» автоматически исключает общие или неинтересные термины, такие как стоп-слова («и», «the», «a») или результаты, которые часто появляются в индексе. Это основано на анализе индексированные данные из частоты терминов и распределения из статистического анализа.

Использование ресурсов

Elasticsearch Он не только превосходит большинство задач, связанных с поиском. OpenSearch, а также оказался более эффективным с точки зрения ресурсов. По умолчанию OpenSearch поток данныхиспользоватьbest_speed кодек (который отдает приоритет скорости запросов над эффективностью хранения), в то время как Elasticsearch использоватьbest_compression。использоватьпо умолчаниюиз Готовая настройка,Elasticsearch использоватьиздисковое пространство уменьшено 37%,и когда обаиспользоватьbest_compression(используется для этого Контрольный показательиз кодека), Elasticsearch Пространственная эффективность 13%。

Поток данных временных рядов (TSDS)

Мы делаем еще один шаг вперед и сжимаем данные еще больше, повторно индексируя их в поток данных временных рядов. - Средний размер документа варьируется от 218 kb перейти к 124 КБ, уменьшено 54.8%,Как показано в следующей таблицепоказано

средний размер документа

Отличия от OpenSearch

OpenSearch Datastream

249 KB

-

Elasticsearch Datastream

218 KB

13%

Elasticsearch TSDS

124 KB

54.8%

проверка третьей стороной

Мы изPerformanceMetod испытанияирезультатпрошли TechTarget из Enterprise Strategy Независимая проверка со стороны Group, уважаемого стороннего поставщика. Технология Target Группа корпоративной стратегии ESG Проверка повышает достоверность и беспристрастность нашего расследования и гарантирует, что метод Последующие результаты испытаний соответствуют самым высоким стандартам точности и полноты. Их признание еще раз подтверждает нашу надежность и надежность и позволяет вам положиться на нас. показательрезультат принять мудрое решение.

Метод испытания

Как мы приходим к этим результатам

Сравнение Elasticsearch с честностью и точностью и В духе OpenSearchиз мы создали два равнозначных индивидуальных 5 Кластеры узлов, каждый кластер оснащен 32GB Памяти, 8 индивидуальный CPU Ядро, каждый узел 300GB диск. Для каждого индивидуального продукта мы извлекаем одинаковые случайно сгенерированные 1TB файл журнала, содержащий 22 индивидуальное поле (подробнее ниже).

Тест да в одиночку из Kubernetes из завершается в пуле узлов, гарантируя, что каждый отдельный продукт имеет выделенные ресурсы. мы следуем Elasticsearch и OpenSearch излучшие практики,Это включает в себя принудительное слияние индексов перед инициированием запросов и предотвращение влияния запросов к кэшу на политику.,Тем самым обеспечивая целостность результатов испытаний.

чтобы гарантировать Elasticsearch и OpenSearch С учетом прозрачности, мы выполним из Контрольный показатель Процесс предоставляется как проект с открытым исходным кодом.。Можетсуществоватьздесьдоступиз Репозиторий включает в себя конфигурацию Kubernetes Кластер из Terraform конфигурации и для создания Elasticsearch и OpenSearch Кластер из Kubernetes Контрольный список. Кроме того, Контрольный доступен в репозитории. показательсерединаиспользоватьиз Запрос。

Вы можете не только протестировать его самостоятельно, но и использовать этот репозиторий для проведения собственного расследования и повышения производительности вашего проекта Elasticsearch.

что мы тестировали

мы Тестирование между Elasticsearch и OpenSearch проводилось по ключевым направлениям, включая:

поиск — содержит типичный столбец поиска в сценариях использования электронной коммерции.

Наблюдаемость — большие объемы системных телеметрических данных, таких как журналы, метрики и трассировки приложений.

Безопасность — анализ событий безопасности в режиме реального времени.

Предстоящее сравнение «Из Сравнивать» обеспечит углубленный анализ эффективности каждой отдельной платформы в этих областях, включая текстовый запрос、сортировать、Гистограмма данных、Объем Терминальный запрос。

Наборы данных и прием

использоватьЭтот инструмент с открытым исходным кодомгенерировать Понятно 1TB набор данных, а затем загрузить его в GCP ведро. Логсташ ® используется для GCP Набор данных в сегменте извлекается в Elasticsearch и OpenSearch середина. В репозиторий также включены инструкции по созданию аналогичного набора данных на случай, если вы захотите скопировать Контрольный показатель。

Каждое поле состоит изиз Все журналы Как показано в следующей таблице.удалять@timestamp За исключением того, что все значения событий дарандомизированы, @timestamp да В порядке событий и уникально из.

@timestamp

Jan 3, 2023 @ 18:59:58.000

agent.id

baac7358-a449-4c36-bf0f-befb211f1d38

agent.name

fernswisher

agent.type

filebeat

agent.version

8.8.0

aws.cloudwatch.ingestion_time

2023-05-01T20:49:30.820Z

aws.cloudwatch.log_group

/var/log/messages

aws.cloudwatch.log_stream

northcurtain

cloud.region

ap-southeast-3

data_stream.dataset

benchmarks

data_stream.namespace

day3

data_stream.type

logs

event.dataset

generic

event.id

gravecrane

input.type

aws-cloudwatch

log.file.path

/var/log/messages/northcurtain

message

2023-05-01T20:49:30.820Z May 01 20:49:30 ip-106...

meta.file

2023-01-03/1682974095-gotext.ndjson.gz

metrics.size

408

metrics.tmin

238

process.name

systemd

tags

preserve_original_event

Контрольный показатель

Всего было рассмотрено пять ключевых направлений. 35 типы запросов, всего 387,000 индивидуальныйпросить。существовать 100 индивидуальный После прогрева запроса выполняется каждый тип индивидуального запроса. 100 раз, повторяя процесс для каждого отдельного запроса 50 Второсортный.

Rally да Elastic ® Разработка инструментов с открытым исходным кодом для Elasticsearch и Elastic Stack из Другие компонентыиз Контрольный показатели теста производительности. Это позволяет пользователям ориентироваться Elasticsearch Кластер моделирует различные типы рабочих нагрузок, например индексирование, и повторяемо измеряет свою производительность. Хотя Rally Да Elastic Разработан в основном для целей Elasticsearch руководить Контрольный размер и дизайн, но это гибкие инструменты, которые можно адаптировать и OpenSearch Вместеиспользовать。

Elastic Запускайте Контрольный каждую ночь показатель,Чтобы гарантировать, что любой новый код в Elasticsearch работает так же или лучше, чем вчера. Мы также используем машинное обучение для выявления аномалий производительности или неэффективного использования ресурсов. Мы проводим испытания производительности и размеров прозрачным и открытым способом.,Для того, чтобы принести пользу всем с нашей продукцией. Примечательное изда,Другие не предлагают эту функцию,Это помогает пользователям отслеживать изменения в их интересах с течением времени.

Вывод: Elasticsearch — явный победитель

С учетом различных тестов изрезультат понятно Elasticsearch всегда лучше, чем Открытый поиск. Обрабатывает ли да простые запросы, выполняет сортировку данных, генерирует гистограммы, обрабатывает термин или запрос сети, даже оптимизация ресурсов, Elasticsearch Все занимают лидирующие позиции.

При выборе платформы поисковой системы предприятия должны отдавать приоритет скорости и эффективности. ресурсов——Это вседа Elasticsearch Хорошо разбирается в атрибутах. Это делает его убедительным выбором для организаций, которые полагаются на быструю и точную скорость. Независимо от того, проводите ли вы исследование платформы электронной коммерции, выявляете угрозы со стороны аналитиков безопасности или просто хотите эффективно наблюдать за критически важными приложениями, Elasticsearch Все стали явными лидерами в этом соревновании Сравнивать.

boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.