ScholarGate
Asisten

Pemulihan dan Pencatatan Log

Mekanisme pemulihan dan pencatatan log menjamin atomisitas dan durabilitas transaksi dengan merekam perubahan dalam log sehingga, setelah terjadi kegagalan, pekerjaan yang telah dikomit dapat diulang (redo) dan pekerjaan yang belum dikomit dapat dibatalkan (undo).

Temukan Topik dengan PaperMindSegeraFind papers & topics
Tools & resources
Unduh salindia
Learn & explore
VideoSegera

Definition

Pemulihan basis data adalah proses mengembalikan basis data ke keadaan konsisten setelah kegagalan, memastikan efek transaksi yang telah dikomit bersifat tahan lama dan transaksi yang dibatalkan atau sedang berjalan tidak meninggalkan jejak; pencatatan log adalah teknik merekam tindakan transaksi ke log yang tahan lama untuk memungkinkan hal ini.

Scope

Topik ini mencakup bagaimana basis data bertahan dari kegagalan: protokol pencatatan log tulis-dahulu (write-ahead logging/WAL), informasi undo dan redo, titik pemeriksaan (checkpoints) untuk membatasi pekerjaan pemulihan, dan algoritma pemulihan standar (terutama ARIES) dengan analisis, redo, dan undo pass-nya. Ini membahas kebijakan manajemen buffer (steal/no-steal, force/no-force) yang menentukan pencatatan log apa yang diperlukan. Ini tidak termasuk protokol kontrol konkurensi yang berjalan selama operasi normal dan komit terdistribusi, yang merupakan topik terkait.

Core questions

  • Mengapa catatan log harus mencapai penyimpanan yang tahan lama sebelum data yang dijelaskannya (pencatatan log tulis-dahulu)?
  • Bagaimana undo dan redo mengembalikan keadaan konsisten setelah kegagalan?
  • Bagaimana kebijakan manajemen buffer (steal/force) menentukan persyaratan pencatatan log?
  • Peran apa yang dimainkan titik pemeriksaan dalam membatasi waktu pemulihan?
  • Bagaimana algoritma ARIES menyusun pemulihan menjadi analisis, redo, dan undo?

Key concepts

  • pencatatan log tulis-dahulu (WAL)
  • pencatatan log undo dan redo
  • nomor urut log
  • titik pemeriksaan (checkpoints)
  • kebijakan steal/no-steal dan force/no-force
  • catatan log kompensasi
  • analisis, redo, undo pass
  • ARIES

Key theories

Pencatatan log tulis-dahulu
Protokol WAL mensyaratkan bahwa catatan log yang menjelaskan perubahan harus dipaksa ke penyimpanan stabil sebelum halaman data yang sesuai, memastikan bahwa setelah kegagalan sistem memiliki informasi yang cukup untuk membatalkan perubahan yang belum dikomit dan mengulang perubahan yang telah dikomit.
Pemulihan undo/redo dan kebijakan buffer
Apakah sistem memerlukan undo, redo, atau keduanya tergantung pada kebijakan buffer: kebijakan steal (menulis halaman yang belum dikomit ke disk) memerlukan undo, dan kebijakan no-force (tidak memaksa halaman yang dikomit saat komit) memerlukan redo; kombinasi steal/no-force yang umum memerlukan keduanya.
ARIES
ARIES adalah metode pemulihan yang banyak digunakan yang menggunakan pencatatan log tulis-dahulu, nomor urut log, dan algoritma tiga pass (analisis, redo, undo) dengan catatan log kompensasi untuk mendukung penguncian granularitas halus dan rollback parsial.

Clinical relevance

Pemulihan dan pencatatan log adalah yang membuat durabilitas menjadi nyata: keduanya memastikan bahwa setelah sistem mengonfirmasi transaksi seperti pembayaran atau pesanan, fakta tersebut bertahan dari kehilangan daya dan kegagalan, dan bahwa kegagalan di tengah transaksi tidak pernah meninggalkan basis data dalam keadaan yang setengah diperbarui dan tidak konsisten.

History

Survei Härder dan Reuter tahun 1983 menjabarkan prinsip-prinsip pemulihan berorientasi transaksi dan taksonomi kebijakan buffer. ARIES, yang dikembangkan oleh C. Mohan dan rekan-rekannya di IBM dan diterbitkan pada tahun 1992, menjadi algoritma pemulihan standar de facto, menggabungkan pencatatan log tulis-dahulu dengan nomor urut log dan catatan kompensasi untuk mendukung penguncian granularitas halus.

Key figures

  • C. Mohan
  • Jim Gray
  • Theo Härder
  • Andreas Reuter

Related topics

Seminal works

  • mohan1992
  • haerder1983
  • gray1992

Frequently asked questions

Mengapa pencatatan log tulis-dahulu diperlukan?
Karena basis data dapat menulis halaman yang dimodifikasi ke disk sebelum transaksi dikomit, atau menahan halaman yang dikomit dalam memori pada saat kegagalan. Memaksa catatan log sebelum halaman data menjamin bahwa, apa pun yang dilakukan manajer buffer, pemulihan memiliki informasi yang cukup untuk membatalkan perubahan yang belum dikomit dan mengulang perubahan yang telah dikomit untuk mencapai keadaan yang konsisten.
Apa yang dicapai oleh titik pemeriksaan?
Titik pemeriksaan secara berkala mencatat transaksi mana yang aktif dan membersihkan pembukuan ke log, memberikan titik awal yang baru dan diketahui baik untuk pemulihan. Tanpa titik pemeriksaan, pemulihan mungkin harus memindai seluruh log dari awal; titik pemeriksaan membatasi seberapa jauh ke belakang pemulihan harus memproses, menjaga waktu restart tetap dapat dikelola.

Methods for this concept

Related concepts