NOC online · 24/7Longview, TX · +1 323 412 0665
KinetikatechServers · Security · Websites
RU

Базы данных по сравнению

MySQL: база данных по умолчанию, которая все еще зарабатывает

MySQL — это база данных, на которой работает большая часть Интернета, не потому, что она интересна, а потому, что она предсказуема: ядро ​​InnoDB ACID, модель репликации, к которой прикасался каждый администратор, и построенная на ее основе экосистема панелей, плагинов и приложений. Серьезная работа связана с настройками по умолчанию, дисциплиной репликации и выяснением того, в чем именно сложность версии 8.

Главное

  1. InnoDB — это механизм хранения, который имеет большое значение: кластеризованные первичные ключи, блокировка строк и безопасное повторное восстановление; устаревшие статьи MyISAM, в которых рекомендуются замены движка, обычно предшествуют тому факту, что современный стек MySQL на 99% состоит из InnoDB и более доволен этим.
  2. MySQL 8 заработал трудности с обновлением благодаря реальным функциям: оконным функциям, CTE, улучшенному EXPLAIN FORMAT=TREE, обработке JSON класса Hermes через JSON_TABLE; потоки, которые предопределили маркетинг фич-форков MariaDB, значительно сузились.
  3. Репликация - это то, где карьера делается или разрушается: настройки на основе GTID делают топологию (цепочку, несколько источников) управляемой, полусинхронизируют как компромисс между производительностью и надежностью, а задержка чтения-реплики должна измеряться, а не предполагаться (проверки в стиле pt-heartbeat или задержка на основе Performance_schema).
  4. Работа над производительностью начинается с журнала медленных запросов плюс Performance_schema: дайджесты операторов, использование индексов и индексация по схеме превосходят все магические списки параметров my.cnf; Размер буферного пула по сравнению с рабочим набором — это настоящий регулятор, который имеет значение.
  5. Резервные копии, которые восстанавливают: рабочие процессы на основе дампов (mysqldump --single-transaction) для небольших объектов, физические снимки (класс Percona xtrabackup) для скорости и восстановление на определенный момент времени всегда проверяются на основе реального графика простоев, а не структуры документации.
  6. Там, где статус MySQL по умолчанию продолжает побеждать: его принимают экосистемы приложений, панели поставляют его (часто заменяя MariaDB), облачные операторы предоставляют его дешево, а экосистемы плагинов CMS (особенно WordPress) сначала тестируют его; оставаться по умолчанию означает оставаться протестированным.

Заметка из практики

Лучшая работа по повышению производительности MySQL, которую я когда-либо видел, не была марафоном по настройке конфигурации: это было удаление разработчиком трех индексов, которые боролись за пропускную способность записи с одной таблицей OLTP. Отмена бенчмаркинга начинается с дайджестов медленных запросов, а не с постов в блогах.

Частые вопросы

MySQL 8 или MariaDB для нового проекта?

Новые проекты без ограничений экосистемы: MariaDB является подходящим вариантом по умолчанию, но MySQL 8 имеет экосистему поставщика, исправления безопасности и средства репликации. Сравните функции, которые вам действительно нужны, прочитайте нашу статью о реляционных вопросах mysql-vs-postgresql.

Требует ли изменений переключение существующего MySQL на MariaDB?

Переход на более раннюю версию версий двоичного формата является трудным: словарь данных MySQL 8 не читается MariaDB. Логическая миграция (дамп/загрузка) работает, замена плагина требует инвентаризации перед фиксацией.

Полусинхронная репликация: стоит ли задержка?

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

Как мне не дать одному медленному сайту убить ящик?

Ресурсы для каждого пользователя (CloudLinux db_governor в общих стеках, ограничение прокси-запросов спереди) плюс дисциплина медленных запросов; сама база данных не имеет ремня безопасности, если его не дает среда.

Как мы берём на себя базы данных по сравнению

Вам не обязательно становиться экспертом в базы данных по сравнению: Выбор ядра базы данных для размещения рабочих нагрузок по сравнению с гарантиями корректности, эксплуатационной значимостью и реальной стоимостью: встроенные механизмы против серверов, MySQL против PostgreSQL, SQL против хранилищ документов, а также устаревший практический пример, который постоянно возвращается. Именно для этого и существует наша услуга Администрирование серверов и Оптимизация скорости сайтов — настройка, усиление защиты, мониторинг и живой человек на связи днём и ночью.

Поговорить с инженером

Проблема с сервером? Взломанный сайт? Медленная страница?

Критические инциденты с ответом в течение 30 минут — круглосуточно, 7 дней в неделю.

Запросить экстренную поддержку support@kinetikatech.com