MariaDB
| Введение | |
| Чем отличается от MySQL | |
| Установка | |
| Переезд с MySQL | |
| Storage engines | |
| Что мониторить |
Введение
MariaDB это форк MySQL, который делает та же команда разработчиков, что когда-то писала сам MySQL. Для большинства приложений это drop-in замена: те же протоколы, те же коннекторы, тот же SQL.
Чем отличается от MySQL
На практике разница в трёх вещах: MariaDB развивается быстрее и
тянет storage engines (Aria, ColumnStore, Spider), оптимизатор здесь
агрессивнее, а лицензирование полностью открытое (GPLv2 без
коммерческих оговорок Oracle).
Обратная сторона: совсем свежие фичи MySQL 8 (например, window
functions в их последнем виде) могут приходить в MariaDB с задержкой.
Проверяйте конкретную версию, а не название СУБД.
Установка
sudo apt install -y mariadb-server
После установки задайте пароль root и уберите анонимных пользователей:
sudo mysql_secure_installation
Переезд с MySQL
Штатный путь: mysqldump на старой базе, разворот дампа на новой. Перед этим сверьте версии и прогоните mysql_upgrade, иначе системные таблицы останутся старого формата и сервер не стартует.
mysqldump -u root -p --all-databases > full.sql
Storage engines
Движок по умолчанию здесь Aria вместо MyISAM: краш-сейф и быстрее на
чтениях. Для аналитики подключается ColumnStore (колоночное хранение
для тяжёлых агрегатов), для шардирования Spider, который раскладывает
таблицы по нескольким серверам прозрачно для приложения.
Правило простое: OLTP живёт на InnoDB/Aria, аналитику отдавайте
ColumnStore, а не стройте её костылями на транзакционном движке.
Что мониторить
Три метрики предсказывают почти все инциденты: медленные запросы (включайте slow query log с порогом в секунду), использование буферного пула и рост бинлогов. Раз в квартал прогоняйте mysqlcheck --optimize по большим таблицам и проверяйте, что бэкапы не просто создаются, а разворачиваются.
| Базы данных | |
| MariaDB | |
| MySQL | |
| PostgreSQL | |
| SQL in general |