intermediate

MySQL

Используйте MySQL storage engines, indexes, transactions и replication basics с учетом engine-specific behavior.

На интервью по MySQL фокус на InnoDB как транзакционном движке по умолчанию: кластеризованный первичный ключ, вторичные индексы, изоляция, блокирующие чтения, lag репликации и семантика failover. Различия движков ещё встречаются в legacy-нагрузках.

Подтемы: storage engines, индексы, транзакции, основы репликации.

На интервью: последствия clustered index для PK; как read replicas влияют на консистентность; что происходит при failover с позициями binlog.

Типовые ошибки: случайный UUID как PK на широких таблицах; чтение с отстающих реплик для денежных путей; предположение, что изоляция MySQL совпадает с PostgreSQL.

Компромисс — между простым primary-replica масштабированием и lag репликации и риском split-brain при failover.

Чеклист:

  • Для транзакций — InnoDB по умолчанию.
  • Проектируйте PK под кластеризацию и паттерн вставок.
  • Маршрутизируйте чтения с учётом lag и консистентности.
  • Планируйте failover, хранение binlog и retry при deadlock.