Мощная, быстрая и эффективная поисковая система — жизненно важный элемент для любой организации, которая полагается на быстрый и точный поиск данных. Для разработчиков и архитекторов выбор правильной поисковой платформы может оказать огромное влияние на способность вашей организации предоставлять быстрые и релевантные результаты. В нашем комплексном тестировании производительности Elasticsearch® Будьте разумным выбором. Эластичный поиск Сравнивать OpenSearch быстрый 40%--140%,В то же времяиспользование имеет меньше вычислительных ресурсов.
В этой статье мы рассмотрим шесть основных направлений. Elasticsearch 8.7 и OpenSearch 2.7(тесткогда обаизпоследняя версия)руководитьпроизводительность Сравниватьсравнивать:текстовый запрос、сортировать、Гистограмма даты、объемитермин,включать Использование ресурсов。насиз Цельдаобеспечить справедливость、практичныйизтехнические идеи,Помочь вам принять обоснованные решения,Независимо от того, оптимизируете ли вы существующую систему или разрабатываете новую. Это сравнение сравнения также направлено на то, чтобы четко подчеркнуть разницу в производительности Elasticsearch и OpenSearch между ними. разные.
Сначала мы проверим производительность результатов, а затем приступим к нашей среде тестирования и тестирования.
1. результат
использовать t-test тествернопроизводительность Сравниватьсравниватьрезультат(фокуссосредоточиться по запросу из р90 (нет. 90 индивидуальный процентиль)) перекрестная проверка выполняется, чтобы убедиться в наличии статистической разницы в измерениях задержки между двумя решениями. Относительное изменение (выраженное в процентах С сравнения) рассчитывается для каждого типа запроса. Мы также показываем коробчатую диаграмму 100% Запрос распределения задержки, коробчатая диаграмма, показывающая минимум, максимум, медиану, среднее значение и выбросы. В поле «Фактическое значение» показаны нижний и верхний квартиль соответственно. 25% и 75% наблюдений попадают в него. Таким образом мы можем получить представление о фактическом распределении этих значений.
image2
1.1 текстовый запрос --- увеличение скорости 76%
"Показать содержит jane@doe.com все данные. "
image3
Elasticsearch Показал значительный отрывок, исполненный текстовый запросизскорость Сравнивать OpenSearch быстрый 76% 。
текстовый запрос полнотекстового поиска, базового и ключевого, а полнотекстового поиска Elasticsearch из Основные функции. Запросы к текстовым полям позволяют пользователю искать определенные фразы, отдельные слова или даже часть слова в текстовых данных. Пользователи могут выполнять сложные поиски с помощью текстовых данных ------ Это расширяет возможности поиска и поддерживает широкий спектр приложений и решений.
1.2 сортировать
«Сначала покажите мне самый дорогой товар».
image4
В паре простой текстовый запросрезультатруководитьсортироватьчас,Elasticsearch изпроизводительность Сравнивать OpenSearch Удивительно выше 140%. Кроме того, Elasticsearch из метки времени, ключевого слова и номера сортировки запроса по времени выполнения добавляются быстрее соответственно. 24%、97% и 53%。
сортировать Упорядочить процедуры обработки данных в определенном порядке (например, в алфавитном, числовом или хронологическом порядке). Сортировать полезно для поиска результатов на основе определенных критериев, гарантируя, что вашим клиентам будет представлен наиболее подходящий изрезультат. Это расширяет возможности пользователя и повышает общую эффективность поиска важных функций.
1.3 Гистограмма даты
"Покажите мне все данные, своевременную сортировку, гистограммы. "
image5
Для гистограммы агрегирование дат, Elasticsearch Сравнивать OpenSearch быстрый 81%, продемонстрировав свои мощные возможности. Ускорение времени обработки облегчает создание упорядоченных гистограмм на основе данных временных рядов.
Агрегация дат гистограммы может использоваться для агрегирования и анализа данных путем разделения изданных по времени на интервалы или сегменты. Эта функция позволяет пользователям визуализировать и лучше понимать тенденции, закономерности и аномалии с течением времени.
1.4 объем
«Показывать только цены товаров от 0 до 25».
image6
Elasticsearch Запросы на объембыстрый 40%, по агрегации быстрый 68%。
дапроизводительность Масштабируемость Еще один индивидуальный основной параметр в поле теста или ключевого слова. Запрос объема очень полезен для фильтрации результатов поиска на основе объема определенного значения из в данном поле. Эта функция позволяет пользователям сузить результаты поиска и быстро найти более релевантную информацию.
Важнее создавать грани,Потому что это предполагает классификацию данных по группам (фасетам) на основе определенных атрибутов.,Затем выполните операции агрегирования внутри каждой отдельной группы. Этот процесс работает путем предоставления структурированных представлений, которые часто встречаются в приложениях электронной коммерции.,Упрощает анализ, фильтрацию и визуализацию.
1.5 термин
«Групповые данные на основе продуктов, купленных вместе».
image7
Elasticsearch продемонстрировал свое превосходство над OpenSearch Взаимно Сравнивать,термин Запросскоростьбыстрый 108%, соединение термина, скорость полимеризации быстрая 103%. Эти преимущества делают Elasticsearch Станьте более привлекательными благодаря опциям, включающим группировку данных и фильтрацию задач.
Агрегация «Важные термины» в Elasticsearch автоматически исключает распространенные или неинтересные изтермины, такие как стоп-слова («и», «the», «a») или итермины, которые часто появляются в индексе. Это значение основано на статистическом анализе частоты и распределения индекса и данных терминов.
1.6 Использование ресурсов
Elasticsearch Они не только превосходят другие задачи, связанные с поиском. OpenSearch, а также оказался более эффективным с точки зрения ресурсов. По умолчанию OpenSearch верноданныепотокиспользовать best_speed кодек (который отдает приоритет скорости запросов над эффективностью хранения), в то время как Elasticsearch использовать _лучшее_сжатие_. использовать по умолчанию из стандартных настроек Elasticsearch использоватьиздисковое пространство уменьшено 37%, а когда на обоих использовать Elasticsearch при _best_compression_ (кодек, используемый для этого теста) Пространственная эффективность 13%。
1.7 поток данных временных рядов (TSDS)
Давайте сделаем еще один шаг вперед и переиндексируем данные в поток. данных временных рядов, тем самым дополнительно сжимая данные - Средний размер документа варьируется от 218 kb перейти к 124 КБ, уменьшено **54,8%**, как показано в таблице ниже.
image8
Нажмите на изображение, чтобы просмотреть полную таблицу
1.8 проверка третьей стороной
Мы изпроизводительность Метод испытанияирезультатпрошли TechTarget из Enterprise Strategy Group(Уважаемая семьяизсторонние поставщики)изнезависимый[проверка][1]。Tech Target Группа корпоративной стратегии ESG Проверка повышает достоверность и беспристрастность нашего расследования и гарантирует, что метод Последующие результаты испытаний соответствуют самым высоким стандартам точности и полноты. Их проверка еще раз подтверждает нашу надежность и надежность и позволяет вам положиться на нас. показательрезультат принимать мудрые решения.
2. Метод испытания
2.1 Как мы приходим к этим результатам
[Сравнение основано на справедливости и точности][2] Elasticsearch и OpenSearch исходя из духа, мы создали два индивидуальных эквивалента из 5 Кластеры узлов, каждый кластер оснащен 32GB Памяти, 8 индивидуальный CPU Ядро, каждый узел 300GB диск. Для каждого индивидуального продукта мы извлекаем одинаковые случайно сгенерированные 1TB файл журнала, содержащий 22 индивидуальное поле (подробнее ниже). тестдай одиниз Kubernetes из завершается в пуле узлов, гарантируя, что каждый отдельный продукт имеет выделенные ресурсы. мы следуем Elasticsearch и OpenSearch излучшие практики,Это включает в себя принудительное слияние индексов перед инициированием запросов и предотвращение влияния запросов к кэшу на политику.,Тем самым обеспечивая целостность тестрезультатиз.
image9
чтобы обеспечить Elasticsearch и OpenSearch С учетом прозрачности, мы выполним из Контрольный показательпоток Программа предоставляется как проект с открытым исходным кодом.。Доступен здесьизрепозиторий[включает][3]для конфигурации Kubernetes Кластер из Terraform конфигурации и используется для создания Elasticsearch и OpenSearch Кластер из Kubernetes Контрольный список. Кроме того, Контрольный доступен в репозитории. показательсерединаиспользоватьиз Запрос。
Вы можете не только проверить себя, но и использовать этот репозиторий для проведения собственных исследований и улучшения производительности проекта Elasticsearch.
2.2 что мы тестировали
мы тестировали Elasticsearch и OpenSearch в полях использования ключей, включая:
поиск — содержит типичный столбец поиска в сценариях использования электронной коммерции.
Наблюдение ------ Большой объем данных системной телеметрии, таких как ежедневные журналы, метрики и отслеживание приложений.
Безопасность ------ Анализ событий безопасности в режиме реального времени.
Предстоящее сравнение обеспечит углубленный анализ производительности каждой платформы в этих областях, включая текстовый запрос, сортировку, гистограмму данных, объемитермин.
2.3 данныенаборипроглотить
[использовать Инструмент с открытым исходным кодом][4]Сгенерировано 1TB набор данных, а затем загрузить его в GCP ведро. Логсташ (®) используется для GCP Изданный комплект ведра извлечен в Elasticsearch и OpenSearch середина. Инструкции по генерации аналогичного набора данных также включены в репозиторий, на случай, если вы захотите скопировать Контрольный показатель。
Состав каждого поля показан в следующей таблице. Кроме @timestamp За исключением того, что все значения событий дарандомизированы, @timestamp да В порядке событий и уникально из.
Взаимнозакрывать:[Как мы Elasticsearch 8.6、8.7 и 8.8 Прием данных со средней скоростью][5]
image10
Нажмите на изображение, чтобы просмотреть полную таблицу
3. Контрольный показатель
Всего было рассмотрено пять ключевых направлений. 35 типы запросов, всего 387,000 индивидуальныйпросить。существовать 100 индивидуальный После прогрева запроса выполняется каждый тип индивидуального запроса. 100 раз, повторяя процесс для каждого отдельного запроса 50 Второсортный.
[Rally да Elastic][6] (®) Разработка инструментов с открытым исходным кодом для Elasticsearch и Elastic Stack из Другие компонентыиз Контрольный показателипроизводительноститест. Это позволяет пользователям ориентироваться Elasticsearch Кластер моделирует различные типы рабочих нагрузок, например индексирование, и измеряет их повторяемым образом. Хотя Rally Да Elastic Разработан в основном для целей Elasticsearch руководить Контрольный размер и дизайн, но это гибкие инструменты, которые можно адаптировать и OpenSearch Вместеиспользовать。
Elastic [Беги каждую ночь показатель][7],Чтобы гарантировать, что любой новый код в Elasticsearch такой же или лучше, чем вчера. Мы также используем машинное обучение для выявления аномалий или неэффективного использования ресурсов. Мы предоставляем тесты размеров производительности прозрачным и открытым способом.,Для того, чтобы принести пользу всем с нашей продукцией. Примечательное изда,Другие не предлагают эту функцию,Это помогает пользователям отслеживать изменения в их интересах с течением времени.
4. Вывод: Elasticsearch --- Очевидный победитель
Учитывая различные тестизрезультаты, очевидно Elasticsearch всегда лучше, чем Открытый поиск. Elasticsearch обрабатывает простые запросы, выполняет сортировку данных, генерирует гистограммы, обрабатывает запросы терминов или объемов или даже оптимизацию ресурсов. Все занимают лидирующие позиции.
При выборе платформы поисковой системы предприятия должны отдавать приоритет скорости и эффективности. ресурсов------Это вседа Elasticsearch Хорошо разбирается в атрибутах. Это делает его убедительным выбором для организаций, которые полагаются на быструю и точную скорость. Независимо от того, проводите ли вы исследование платформы электронной коммерции, выявляете угрозы со стороны аналитиков безопасности или просто хотите эффективно наблюдать за критически важными приложениями, Elasticsearch Все стали явными лидерами в этом соревновании Сравнивать.
Исходная ссылка: https://www.elastic.co/cn/blog/elasticsearch-opensearch- Performance-gap.
Оригинальный автор:George Kobar,[8]Ugo Sangiorgi[9]
Опубликовано: 8 августа 2023 г.
Ссылки
[1]
[Проверка]{.подчеркивание}: https://www.elastic.co/cn/maximizing-search-application-performance
[2]
[Справедливости ради、точный Сравниватьсравнивать]{.underline}: https://github.com/elastic/elasticsearch-opensearch-benchmark
[3]
[Включить]{.подчеркивание}: https://github.com/elastic/elasticsearch-opensearch-benchmark
[4]
[использовать Инструмент с открытым исходным кодом]{.underline}: https://github.com/elastic/elastic-integration-corpus-generator-tool
[5]
[Как мы Elasticsearch 8.6、8.7 и 8.8 Прием данных со средней скоростью]{.underline}: https://www.elastic.co/cn/blog/data-ingestion-elasticsearch
[6]
[Rally да Elastic]{.underline}: https://github.com/elastic/rally
[7]
[Беги каждую ночь показатель]{.underline}: https://elasticsearch-benchmarks.elastic.co/
[8]
George Kobar,: https://www.elastic.co/cn/blog/author/george-kobar
[9]
Ugo Sangiorgi: https://www.elastic.co/cn/blog/author/ugo-sangiorgi