MariaDB

Введение

MariaDB — это форк MySQL, который ведут те же люди, что когда-то писали сам MySQL. Для большинства приложений это замена без переделок: те же протоколы, те же коннекторы, тот же SQL.

Чем отличается от MySQL?

На практике отличий три: MariaDB развивается быстрее и раньше получает новые движки хранения (Aria, ColumnStore, Spider), оптимизатор здесь агрессивнее, а лицензия полностью открытая (GPLv2 без коммерческих оговорок Oracle).

Обратная сторона: самые свежие возможности MySQL 8 (например, оконные функции в их последнем виде) могут прийти в MariaDB с задержкой. Проверяйте конкретную версию, а не название СУБД.

Установка

sudo apt install -y mariadb-server

После установки задайте пароль root и удалите анонимных пользователей:

sudo mysql_secure_installation

Переезд с MySQL

Штатный путь: mysqldump на старой базе, разворот дампа на новой. Перед этим проверьте версии и выполните mysql_upgrade: иначе системные таблицы останутся в старом формате и сервер не запустится.

mysqldump -u root -p --all-databases > full.sql

Движки хранения

Движок по умолчанию здесь Aria вместо MyISAM: он безопасен к падениям и быстрее читает. ColumnStore (колоночное хранение) подключают для аналитики на тяжёлых объёмах, Spider — для шардирования, он складывает таблицы с нескольких серверов прозрачно для приложения.

Правило простое: OLTP живёт на InnoDB/Aria, а ColumnStore не стоит строить на костылях поверх транзакционного движка.

Что мониторить

Почти все инциденты предсказывают три метрики: медленные запросы (включите slow query log с порогом в секунды), buffer pool и рост binlog. Раз в квартал прогоняйте mysqlcheck --optimize по большим таблицам и проверяйте, что резервные копии не просто создаются, но и разворачиваются.

Автор статьи: Клавдия Кондакова