Pagkakaiba sa pagitan ng Deferred Update at Agarang Update

Pagkakaiba sa pagitan ng Deferred Update at Agarang Update
Pagkakaiba sa pagitan ng Deferred Update at Agarang Update

Video: Pagkakaiba sa pagitan ng Deferred Update at Agarang Update

Video: Pagkakaiba sa pagitan ng Deferred Update at Agarang Update
Video: The difference between Microeconomics and Macroeconomics 2024, Nobyembre
Anonim

Deferred Update vs Agarang Update

Ang Deferred Update at Immediate Update ay dalawang technique na ginagamit para mapanatili ang transaction log files ng Database Management Systems (DBMS). Ang log ng transaksyon (tinatawag ding journal log o redo log) ay isang pisikal na file na nag-iimbak ng Transaction ID, ang time stamp ng transaksyon, ang lumang halaga at ang mga bagong halaga ng data. Nagbibigay-daan ito sa DBMS na subaybayan ang data bago at pagkatapos ng bawat transaksyon. Kapag ang mga transaksyon ay ginawa at ang database ay ibinalik sa isang pare-parehong estado, ang log ay maaaring putulin upang alisin ang mga ginawang transaksyon.

Deferred Update

Ang Ang ipinagpaliban na pag-update na tinatawag ding NO-UNDO/REDO ay isang diskarteng ginagamit upang mabawi/suportahan ang mga pagkabigo sa transaksyon na nangyayari dahil sa operating system, power, memory o mga pagkabigo ng makina. Kapag tumakbo ang isang transaksyon, ang anumang mga pag-update o pagbabagong ginawa sa database ng transaksyon ay hindi agad nagagawa. Ang mga ito ay naitala sa log file. Ang mga pagbabago sa data na naitala sa log file ay inilalapat sa database sa commit. Ang prosesong ito ay tinatawag na "Re-doing". Sa rollback, ang anumang mga pagbabago sa data na naitala sa log file ay itatapon; kaya walang pagbabagong ilalapat sa database. Kung nabigo ang isang transaksyon at hindi ito ginawa dahil sa alinman sa mga kadahilanang nabanggit sa itaas, ang mga tala sa log file ay itatapon at ang transaksyon ay magsisimulang muli. Kung ang mga pagbabago sa isang transaksyon ay ginawa bago mag-crash, pagkatapos ay pagkatapos mag-restart ang system, ang mga pagbabagong naitala sa log file ay ilalapat sa database.

Immediate Update

Ang Immediate update na tinatawag ding UNDO/REDO, ay isa ring technique na ginagamit para mabawi/suportahan ang mga pagkabigo sa transaksyon na nangyayari dahil sa operating system, power, memory, o mga pagkabigo ng makina. Kapag tumakbo ang isang transaksyon, ang alinman sa mga update o pagbabagong ginawa ng transaksyon ay direktang isusulat sa database. Parehong ang orihinal na mga halaga at ang mga bagong halaga ay naitala din sa log file bago ang mga pagbabago ay ginawa sa database. Sa commit lahat ng mga pagbabagong ginawa sa database ay ginawang permanente at ang mga tala sa log file ay itatapon. Sa rollback lumang mga halaga ay naibalik sa database gamit ang mga lumang halaga na nakaimbak sa log file. Ang lahat ng mga pagbabagong ginawa ng mga transaksyon sa database ay itinapon at ang prosesong ito ay tinatawag na "Un-doing". Kapag nag-restart ang system pagkatapos ng pag-crash, ang lahat ng mga pagbabago sa database ay gagawing permanente para sa mga nakatuong transaksyon. Para sa mga hindi nakatalagang transaksyon, ibinabalik ang mga orihinal na halaga gamit ang mga halaga sa log file.

Ano ang pagkakaiba ng Deferred Update at Agarang Update

Kahit na ang Deferred Update at Immediate Update ay dalawang paraan para sa pagbawi pagkatapos ng pagkabigo ng system, ang proseso na ginagamit ng bawat paraan ay iba. Sa magkakaibang paraan ng pag-update, ang anumang mga pagbabagong ginawa sa data ng isang transaksyon ay unang naitala sa isang log file at inilalapat sa database sa commit. Sa paraan ng agarang pag-update, ang mga pagbabagong ginawa ng isang transaksyon ay direktang inilalapat sa database at ang mga lumang halaga at bagong halaga ay naitala sa log file. Ang mga talaang ito ay ginagamit upang ibalik ang mga lumang halaga sa rollback. Sa iba't ibang paraan ng pag-update, ang mga tala sa log file ay itatapon sa roll back at hindi kailanman inilalapat sa database. Ang isang kawalan ng paraan ng ipinagpaliban na pag-update ay ang pagtaas ng oras na kinuha upang mabawi kung sakaling mabigo ang system. Sa kabilang banda, ang madalas na pagpapatakbo ng I/O habang aktibo ang transaksyon, ay isang disbentaha sa paraan ng agarang pag-update.

Inirerekumendang: