Сегодня мы рады объявить, что Manticore Search 6.0.0 наконец вышел! Мы потратили на его создание более полугода, вложили огромное количество энергии и написали более 80 000 строк кода. Огромное спасибо всем нашим:
которые поддерживали нас на этом пути.
Что нового в релизе:
Manticore Buddy — PHP‑расширение Manticore Search
В новом релизе Manticore Search мы представляем Manticore Buddy - PHP-расширение, которое обеспечивает обработку высокоуровневой функциональности, не требующей низкого времени отклика или высокой пропускной способности. Manticore Buddy работает незаметно для пользователя и вашем вообще не нужно про него помнить, но оно позволяет нам быстрее разрабатывать новые фичи, такие как оркестрирование шардов, интеграции с другими инструментами, например mysqldump, DBeaver, Grafana mysql connector и т.д.
Через Manticore Buddy уже реализовано несколько полезных фич::
список выполняемых запросов в Manticore Search с помощью SHOW QUERIES.
создание резервной копии таблиц с BACKUP
и создание таблицы на основе первого вставленного документа с Auto schema.
Если вы умеете писать на PHP, то можете легко добавить новую функциональность в Manticore. Создание новой SQL или JSON команды теперь максимально упрощено. Инструкции можно найти на странице проекта Manticore Buddy на GitHub.
INSERT и REPLACE, совместимые с Elasticsearch
Теперь Manticore может обрабатывать запросы на вставку и замену документов в формате Elasticsearch, что делает возможным использование Manticore с такими утилитами как Logstash, Filebeat, и другими из семейства Beats. Это приближает Manticore к замене Elasticsearch в стеке ELK. Ведётся работа по интеграции с Kibana/Opensearch Dashboards.
Здесь можно подробнее прочитать о Manticore как альтернативе Elasticsearch.
Вторичные индексы включены по умолчанию
Если вы используете Manticore Columnar Library (настоятельно рекомендуем), то вторичные индексы теперь включены по умолчанию. С прошлого релиза они значительно улучшились, и теперь их использование имеет смысл для большинства пользователей. Мы также добавили новую команду ALTER TABLE table_name REBUILD SECONDARY
для восстановления вторичных индексов, например, при обновлении с предыдущей версии.
Автоматическая схема
Теперь вы можете не создавать таблицу вручную. Достаточно просто вставить первый документ, и Manticore автоматически создаст таблицу на основе его полей. Подробнее об этом можно прочитать здесь.
Улучшенный оптимизатор запросов
Один и тот же запрос в Manticore может исполняться разными путями. Мы улучшили оптимизатор запросов (cost-based query optimizer), чтобы качественнее определять, какой подход эффективнее. Больше информации в документации.
Телеметрия
В новом релизе мы добавили телеметрию. Это позволяет собирать анонимные статистические метрики, которые дают нам понять как улучшить производительность и работу над какой функциональностью нужно приоритезировать. Вы можете отключить эту функцию в настройках, если хотите. Повторюсь, что данные полностью анонимны и деперсонализированы: имена полей, таблиц, хостов, сами данные из документов и т.п. не собираются. Нам важна статистика: чаще используются real-time или plain таблицы и т.п.
Инструменты для резервного копирования
Теперь вы можете легко делать бэкапы таблиц, чтобы не потерять данные в случае сбоев в системе, аппаратных проблем или проблем с хранением данных. Резервные копии также будут полезны, если вы собираетесь обновлять Manticore Search или переносить данные на другой сервер.
Чтобы автоматизировать процесс создания резервных копий таблиц для Manticore Search можно использовать утилиту manticore-backup, которая доступна в официальных пакетах и устанавливается автоматически. Кроме того, можно создавать резервные копии данных через SQL, выполнив команду BACKUP TO /path/to/backup.
SHOW QUERIES и KILL
Новая команда SHOW QUERIES позволяет легко посмотреть на запущенные запросы. Если какой-то SELECT
долго выполняется, то его можно прервать с помощью команды KILL.
Динамическое max_matches и точное агрегирование
Теперь параметр max_matches который регулирует максимальное количество документов, хранящихся в оперативной памяти за раз и возвращаемых клиенту, стал динамическим. Автоматически он может быть увеличен до порога max_matches_increase_threshold, чтобы запросы с группировкой работали точнее. А в некоторых случаях он автоматически уменьшается для оптимизации производительности. Кроме того, есть новая опция поиска accurate aggregation, которая гарантирует точность в запросах типа GROUP BY или FACET на текущей ноде назависимо от количества тредов, на которые распараллелился запрос.
Поддержка arm64
Теперь Manticore Search и Manticore Columnar Library поддерживают архитектуру arm64. Это значит, что пользователи могут использовать процессоры arm64 и в некоторых случаях получить более высокую производительность за те же деньги.
И много других изменений…..
Вышеперечисленное - лишь часть того, что было сделано с момента выхода Manticore 5.0.2 и теперь стало общедоступным в новом релизе. В changelog'е можно прочитать подробнее про:
🚀 10 основных улучшений
✅ 35+ мелких улучшений
🐞 85 багфиксов.
Мы надеемся, что вы будете использовать новую версию Manticore Search и поделитесь своим мнением о ней: