17.2 InnoDB и модель ACID
Данная модель представляет собой набор принципов проектирования баз данных, которые акцентируют внимание на аспектах надёжности, важных для бизнес-данных и критически важных приложений. MySQL включает компоненты, такие как движок хранения InnoDB, которые строго придерживаются модели ACID, чтобы данные не повреждались, а результаты не искажались в таких исключительных ситуациях, как сбои программного обеспечения и неполадки оборудования. При использовании функций, соответствующих модели ACID, вам не нужно изобретать велосипед для проверки согласованности и механизмов восстановления после сбоев. В случаях, когда у вас есть дополнительные программные средства защиты, сверхнадёжное оборудование или приложение, которое может переносить небольшое количество потерь данных или несоответствий, вы можете настроить параметры MySQL, чтобы пожертвовать частью надёжности ACID ради большей производительности или пропускной способности.
В следующих разделах обсуждается, как функции MySQL, в частности движок хранения InnoDB, взаимодействуют с категориями модели ACID:
A: атомарность.
C: согласованность.
I:: изоляция.
D: долговечность.
Атомарность
Аспект атомарности модели ACID в основном связан с InnoDB. Соответствующие функции MySQL включают:
Настройка
autocommit.Оператор
COMMIT.Оператор
ROLLBACK.
Согласованность
Аспект согласованности модели ACID в основном связан с внутренним InnoDB обработкой для защиты данных от сбоев. Соответствующие функции MySQL включают:
Буфер двойного записи
InnoDB. См. Раздел 17.6.4, «Буфер двойного записи».InnoDBвосстановления после сбоя. См. Восстановление InnoDB после сбоя.
Изоляция
Аспект изоляции модели ACID в основном связан с InnoDB, в частности изоляцией, которая применяется к каждой транзакции. Соответствующие функции MySQL включают:
Настройка
autocommit.Уровни изоляции транзакций и оператор
SET TRANSACTION. См. Раздел 17.7.2.1, «Уровни изоляции транзакций».Детали низкого уровня
InnoDB. Подробности можно посмотреть в таблицахINFORMATION_SCHEMA(см. Раздел 17.15.2, «Информация о транзакциях и блокировках InnoDB INFORMATION_SCHEMA») и таблицах Performance Schemadata_locksиdata_lock_waits.
Долговечность
Аспект долговечности модели ACID связан с функциями программного обеспечения MySQL, взаимодействующими с вашей конкретной конфигурацией оборудования. Из-за множества возможностей, зависящих от возможностей вашего процессора, сети и устройств хранения данных, этот аспект сложнее всего предоставить конкретные рекомендации. (И эти рекомендации могут принимать форму “приобретите новое оборудование”.) Соответствующие функции MySQL включают:
Буфер двойного записи
InnoDB. См. Раздел 17.6.4, «Буфер двойного записи».Переменная
innodb_flush_log_at_trx_commit.Переменная
sync_binlog.Переменная
innodb_file_per_table.Буфер записи на устройстве хранения, таком как жёсткий диск, SSD или массив RAID.
Кэширование с батарейным питанием на устройстве хранения.
Операционная система, используемая для запуска MySQL, в частности её поддержка для системного вызова
fsync().Система бесперебойного питания (UPS), защищающая электропитание всех серверов и устройств хранения данных, на которых работают серверы MySQL и хранятся данные MySQL.
Ваша стратегия резервного копирования, такая как частота и типы резервных копий, и сроки хранения резервных копий.
Для распределённых или размещённых приложений с данными, особенности центров обработки данных, где расположено оборудование для серверов MySQL, и сетевые соединения между центрами обработки данных.
© 2025 Oracle
Licensed under the GPLv2 License.