Как работает механизм журналирования (логирования) в InnoDB?

Пользователь

от akeem , в категории: SQL , 9 месяцев назад

Как работает механизм журналирования (логирования) в InnoDB?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от maymie , 9 месяцев назад

@akeem 

В InnoDB, механизм журналирования (логирования) предназначен для обеспечения целостности данных и восстановления после сбоев.


Когда изменение данных происходит в InnoDB, оно сначала записывается в журнал redo log, прежде чем фактически применяться к таблицам на диске. Журнал redo log состоит из серий журнальных записей, называемых redo log records.


Запись в журнале включает в себя информацию о том, какая страница была изменена, какие изменения были внесены и какие данные были новыми. Каждая запись имеет уникальный идентификатор, называемый LSN (Log Sequence Number), который указывает порядок записей в журнале.


При коммите транзакции, InnoDB гарантирует, что журнальные записи, связанные с этой транзакцией, физически записаны на диск. Это обеспечивает долговечное хранение изменений данных, в случае сбоя системы.


В случае восстановления после сбоя, InnoDB использует журнал redo log для восстановления данных до последней точки согласованности (last checkpoint). Журнал redo log применяется к таблицам базы данных, чтобы привести их в соответствие с записями журнала и восстановить данные в последнем известном состоянии.


Механизм журналирования в InnoDB обеспечивает надежность данных и защиту от потери информации при сбоях системы.