Jump to content

Журнал транзакций

(Перенаправлено из Журнала (вычисления) )

В области баз данных в информатике журнал транзакций (также журнал транзакций , журнал базы данных , двоичный журнал или контрольный журнал ) представляет собой историю действий, выполняемых системой управления базами данных , используемую для обеспечения ACID свойств при сбоях или сбоях оборудования. Физически журнал представляет собой файл со списком изменений в базе данных, хранящийся в стабильном формате хранения.

Если после запуска база данных обнаруживается в несогласованном состоянии или не была завершена должным образом, система управления базой данных просматривает журналы базы данных на наличие незафиксированных транзакций и откатывает изменения, внесенные этими транзакциями . Кроме того, повторно применяются все транзакции, которые уже зафиксированы, но изменения которых еще не были материализованы в базе данных. И то, и другое сделано для обеспечения атомарности и долговечности транзакций.

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

В системах управления базами данных журнал — это запись данных, измененных данным процессом. [1] [2] [3] [4]

Анатомия общего журнала базы данных

[ редактировать ]

Запись журнала базы данных состоит из:

  • Порядковый номер журнала (LSN): уникальный идентификатор записи журнала. С помощью номеров LSN журналы можно восстанавливать за постоянное время. Большинство номеров LSN назначаются в монотонно возрастающем порядке, что полезно в алгоритмах восстановления , таких как ARIES .
  • Prev LSN : ссылка на последнюю запись журнала. Это означает, что журналы базы данных создаются в форме связанного списка .
  • Идентификатор транзакции : ссылка на транзакцию базы данных, создающую запись журнала.
  • Тип : описывает тип записи журнала базы данных.
  • Информация о фактических изменениях, которые привели к записи записи в журнал.

Типы записей журнала базы данных

[ редактировать ]

Все записи журнала включают в себя общие атрибуты журнала, указанные выше, а также другие атрибуты в зависимости от их типа (который записывается в атрибуте «Тип» , как указано выше).

  • Запись журнала обновлений отмечает обновление (изменение) базы данных. Он включает в себя дополнительную информацию:
    • PageID : ссылка на идентификатор измененной страницы.
    • Длина и смещение : обычно включается длина в байтах и ​​смещение страницы.
    • Изображения «до» и «после» : включает значение байтов страницы до и после изменения страницы. Некоторые базы данных могут иметь журналы, содержащие одно или оба изображения.
  • Запись журнала компенсаций (CLR) отмечает откат определенного изменения в базе данных. Каждая соответствует ровно одной другой записи журнала обновлений (хотя соответствующая запись журнала обновлений обычно не хранится в записи журнала компенсаций). Он включает в себя дополнительную информацию:
    • undoNextLSN : это поле содержит LSN следующей записи журнала, которую необходимо отменить для транзакции, записавшей последний журнал обновлений.
  • Commit Record отмечает решение о совершении транзакции.
  • Abort Record отмечает решение прервать и, следовательно, откатить транзакцию.
  • Запись контрольной точки отмечает, что была создана контрольная точка. Они используются для ускорения восстановления. Они записывают информацию, которая устраняет необходимость глубокого чтения журнала. Это зависит от алгоритма контрольной точки. Если при создании контрольной точки все грязные страницы сбрасываются (как в PostgreSQL ), она может содержать:
    • redoLSN : это ссылка на первую запись журнала, соответствующую грязной странице. т.е. первое обновление, которое не было удалено во время контрольной точки. Именно здесь необходимо начать восстановление после восстановления.
    • undoLSN : это ссылка на самую старую запись журнала самой старой незавершенной транзакции. Это самая старая запись журнала, необходимая для отмены всех выполняющихся транзакций.
  • В отчете о завершении отмечается, что для данной конкретной транзакции вся работа была выполнена. (Оно было полностью зафиксировано или прервано)

См. также

[ редактировать ]

Источники

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 51858f7c4a69173707c0190e4a27185c__1658110140
URL1:https://arc.ask3.ru/arc/aa/51/5c/51858f7c4a69173707c0190e4a27185c.html
Заголовок, (Title) документа по адресу, URL1:
Transaction log - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)