|
![]() | Ochrana parciálním zálohováním | ![]() | Principy zabezpečení systému | Kontrola konzistence databáze | ![]() |
Transakce jsou nástrojem, jak spojit provedení několika změn v databázi do jednoho celku. Autor databázové aplikace definuje transakce a server se stará o to, aby se transakce buď provedla jako celek nebo neprovedla vůbec. Tím se brání vzniku nekonzistencí v databázi, protože změny provedené v průběhu transakce se nezaznamenávají před jejím dokončením.
Při provádění transakcí je kritickým okamžikem jejich uzavírání, kdy se změny zaznamenávají do databáze. Mechanismus jištění transakcí zabezpečuje konzistenci databáze i v případě, že by k výpadku počítače došlo během uzavírání transakce. Jištění transakcí může zapnout nebo vypnout správce databáze.
Nic nebrání tomu, aby se jištění zapínalo a vypínalo podle okamžitých okolností. Například během importu velkého množství dat, což je časově náročná operace, je možno jištění transakcí vypnout.
Jištění transakcí se zapíná na Řídicím panelu (záložka Nastavení okna Provozní parametry) nebo přes API pomocí vlastnosti serveru SecureTransactions.
Většina operačních systému má zabudovanou funkci, která odkládá zápis změn v souborech na disk a tím dosahuje zrychlení práce aplikací. Důsledkem toho však je nedefinovaný stav souborů na disku během práce. Pokud má spolehlivě fungovat jištění transakcí, pak je nezbytné zapisovat při ukončení transakce všechny změny na disk.
Zápis změn na disk se zapíná na Řídicím panelu (záložka Nastavení okna Provozní parametry) nebo přes API pomocí vlastnosti serveru FlushOnCommit.
Zatímco použití transakcí obvykle 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í z databáze nebo vyhledávání nemají transakce žádný vliv. Pro orientaci uvádíme změřený čas provedení 1000 zápisů na velmi pomalém počítači, v závislosti na tom, zda je zapnuto jištění transakcí a zápis změn na disk. Konkrétní hodnoty závisejí na použitém počítači, uvádíme je pro vyjádření závislosti času na způsobu práce.
|
bez jištění, bez zápisu | jištění, bez zápisu | bez jištění, zápis | jištění, zápis |
Všechny aktualizace v 1 transakci | 1 | <2 | <2 | <2 |
Každá aktualizace v nové transakci | 2 | 5 | 41 | 68 |
![]() | Ochrana parciálním zálohováním | ![]() | Principy zabezpečení systému | Kontrola konzistence databáze | ![]() |