MariaDB 10.0 Beta представляет улучшения репликации


Выпущена новая версия MariaDB, форка MySQL, разработанного сообществом, с поддержкой параллельных потоков репликации ведомых устройств, функции, спонсируемой Google.

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

Репликация из нескольких источников означает, что вы можете реплицировать данные от многих мастеров к одному ведомому, преодолевая сложность получения полной копии сегментированных данных на одном сервере.

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

Как мы сообщали в сентябре, Google переходит с MySQL на MariaDB. Сообщая о новой версии MariaDB в блоге Google Open Source, Ян Гулливер, менеджер по надежности сайта, сказал:

«Внутри компании Google мы уже развернули MariaDB 10.0 на наших непроизводственных экземплярах MySQL, чтобы помочь сообщать об ошибках и работать с командой MariaDB для тестирования их исправлений. Этот выпуск переводит ветку MariaDB 10.0 из статуса альфа в статус бета, где команда сместит акцент со стабилизации на исправление ошибок ».

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

Было добавлено больше механизмов хранения, включая механизм хранения Cassandra, который позволяет объединять данные из Cassandra с вашими данными в MariaDB; Connect Storage Engine, чтобы вы могли использовать Connect для обработки данных в файлах или за ODBC, как если бы эти данные были частью данных, хранящихся в MariaDB; механизм хранения последовательностей для создания числовых последовательностей, которые хранятся в памяти; Spider Storage Engine со встроенными возможностями сегментирования; и TokuDB, механизм хранения, разработанный для высокопроизводительных рабочих нагрузок с интенсивной записью.

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

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

Третье улучшение оптимизатора — это возможность оптимизировать подзапросы EXISTS. Оптимизатор по возможности преобразует подзапросы EXISTS в IN, чтобы можно было использовать оптимизацию полусоединения.

Для администратора есть множество улучшений, включая поддержку ролей, так что вы можете настраивать роли с конкретными разрешениями и назначать пользователям роли. Добавлен ряд опций EXPLAIN; вы можете использовать SHOW EXPLAIN, чтобы получить план запроса выполняющегося оператора; вы можете записать вывод EXPLAIN в журнал медленных запросов и использовать EXPLAIN для INSERT / UPDATE / DELETE.

Эта версия поддерживает использование SQL для выключения сервера, и вы можете использовать ID запроса, чтобы убить его, вместо того, чтобы использовать ID потока.

Отдельные части MySQL 5.6 были объединены с MariaDB 10.0, включая большинство улучшений InnoDB, схему производительности и онлайн-ALTER.

Примечания к выпуску MariaDB 10.0.5 содержат более подробную информацию обо всех изменениях.


Добавить комментарий