Co je izolace snímků?

Izolace Snapshot je vlastnost ve zpracování transakcí a databází, která zaručuje všechna čtení, která jsou provedena v transakci, viz stejnou databázi „Snapshot“. To znamená, že se transakce zavádí ke úspěšnému zpracování žádosti, pokud její aktualizace nejsou v rozporu s žádnými jinými souběžnými aktualizacemi. Izolace snímku je řídicí algoritmus pro více verze souběžnosti, který poskytuje izolační úrovně, které se vyhýbají problémům, které se běžně vyskytují se souběžností. Tato izolace byla implementována několika různými servery strukturovaného jazyka dotazů (SQL), která pracuje s minimálním množstvím serializačních anomálií. Izolace snímků však nezaručí úplnou serializovatelnost na serveru.

Mnoho hlavních systémů správy dat obsahuje výchozí úrovně izolace, které nejsou serializovatelné a často se setkávají s anomáliemi serializace bez izolace snímku. To může způsobit, že velké systémy mají každý den četné výskyty chyb izolace, whiCH může vést k poškození dat, zejména ta, která se nachází ve skladových aplikacích dat. Důvod, proč by systém mohl v tomto stavu fungovat, je ten, že aplikace, které běží na nižších úrovních izolace, mohou zlepšit účinnost, pokud nedojde k závažným chybám. Zahrnutí izolace snímků v systému snižuje tyto anomálie a - při převzetí provozního času a množství chyb, které se vyskytují - ještě více zvyšuje účinnost.

Některé databáze nabízejí izolaci snímků na rozdíl od plné serializovatelnosti, ale existují také anomálie, které se mohou objevit v databázi s využitím tohoto typu izolace. Tyto anomálie mohou vést k porušování konzistence dat, protože transakce, které udržují konzistenci, se prokládají nebo jsou uspořádány ve střídavých vrstvách. Jedním ze způsobů, jak problém vyřešit a zabránit takovým anomáliím, je manipulace s aplikacemi s úvodemumělých zámků a protichůdných aktualizací, po kterých následovala analýza konfliktů mezi každou dvojicí transakcí. Jiným způsobem, jak tyto anomálie vyřešit, je však upravit algoritmy kontroly souběžnosti databázového systému pro automatické detekce a prevence anomálií izolace snímku za běhu. To lze provést pro důležité nebo libovolné aplikace, ale poskytuje izolaci, která je serializovatelná.

Novější servery SQL byly schopny zavést nové úrovně izolace a nové úrovně izolace snímků pro zvýšení souběžnosti v určitých aplikacích. Tam, kde časné verze serveru SQL používaly uzamčení jako základ pro souběžnost, je izolace snímků závislá na vylepšení verzí řádků určených ke zlepšení výkonu. Zlepšuje tento výkon, když narazí na scénáře s blokováním čtení nebo zápisu tím, že se jim vyhne.

JINÉ JAZYKY

Pomohl vám tento článek? Děkuji za zpětnou vazbu Děkuji za zpětnou vazbu

Jak můžeme pomoci? Jak můžeme pomoci?