Ochrana transakcemi

TransakΦnφ zp∙sob provozu databßze je metoda ochrany proti vzniku nekonzistencφ zp∙soben²ch nedokonΦenφm sΘrie navzßjem souvisejφcφch aktualizacφ.

Databßzov² server je schopen sdru₧ovat operace do tzv. transakcφ. V transakΦnφm re₧imu prßce jßdro zaruΦuje, ₧e za ka₧d²ch okolnostφ se transakce provede bu∩ celß, nebo se neprovede v∙bec. To platφ i tehdy, pokud uprost°ed provßd∞nφ transakce vypadne napßjenφ poΦφtaΦe!

U₧ivatel mß mo₧nost v aplikaΦnφm programu prohlßsit skupinu aktualizacφ za jednu transakci tak, ₧e na zaΦßtku zavolß funkci Start_transaction a na konci funkci Commit. Je tφm zaruΦeno, ₧e pokud tyto aktualizace nap°. p°enßÜejφ penφze z jednoho ·Φtu na druh², nem∙₧e se stßt, ₧e by se z prvnφho ·Φtu odeΦetly, ale na druh² nep°iΦetly.

Pro svoje internφ operace si WinBase602 definuje transakce sama, nelze je vypnout.

P°i jiÜt∞nφ transakce se pou₧φvß tzv. dvoufßzov² commit, kter² zajistφ konzistenci databßze i v p°φpad∞, ₧e by k v²padku doÜlo b∞hem provßd∞nφ funkce Commit. Na rozdφl od pou₧itφ transakcφ jiÜt∞nφ transakcφ zapφnß a vypφnß sprßvce ve sprßvnφm centru WinBase602. Nic nebrßnφ tomu, aby se transakΦnφ re₧im zapφnal a vypφnal podle okam₧it²ch okolnostφ. Nap°φklad b∞hem importu v∞tÜφho mno₧stvφ dat, co₧ je Φasov∞ nßroΦnß operace, je rozumnΘ transakΦnφ zpracovßnφ vypnout.

Zatφmco pou₧itφ transakcφ sni₧uje poΦet zßpis∙ na disk v aktualizacφch a zrychluje Φinnost databßze, jiÜt∞nφ transakcφ vy₧aduje p°ibli₧n∞ dvojnßsobek diskov²ch operacφ p°i ka₧dΘ transakci oproti stavu bez jiÜt∞nφ. Na rychlost Φtenφ a vyhledßvßnφ nemajφ transakce ₧ßdn² vliv.

Ve Windows je pou₧it program typu diskovΘ cache, kter² odklßdß zßpisy na disk na pozd∞jÜφ dobu, Φφm₧ znaΦn∞ zrychluje b∞h aplikace, nicmΘn∞ znemo₧≥uje program∙m mφt kontrolu nad tφm, jsou-li data zapsßna na disku nebo pouze v pam∞ti. Ve WinBase602 je proto mo₧no transakce zapisovat p°φmo na disk - zapφnß se v okn∞ Parametry provozu.

Viz takΘ:

Sprßva databßze (serveru)

Transakce v jazyce SQL