1 / 19

Adatbázis rendszerek II

Adatbázis rendszerek II. Kovács László. A tranzakció-kezelés gyakorlati elemei. r 1 (x). r 1 (x). w 1 (x). c 1. r 2 (x). r 2 (x). w 2 (x). c 2. r 1 (x). r 1 (x). w 1 (x). w 1 (x). c 1. c 1. r 2 (x). r 2 (x). w 2 (x). w 2 (x). c 2. c 2. Helyes zárolás. Helyes zárolás:

ivana
Download Presentation

Adatbázis rendszerek II

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Adatbázis rendszerek II Kovács László A tranzakció-kezelés gyakorlati elemei

  2. r1(x) r1(x) w1(x) c1 r2(x) r2(x) w2(x) c2 r1(x) r1(x) w1(x) w1(x) c1 c1 r2(x) r2(x) w2(x) w2(x) c2 c2 Helyes zárolás • Helyes zárolás: • - helyesen formált a zárolás (zárolás- művelet-felengedés) • - minden művelet zárol • - van írási és olvasási zárolás • 2PL teljesül, a tranzakció végén felengedve • az objektumokat R/W R/W/U

  3. SQL tranzakció kezelés Az SQL szabvány nem foglalkozik az izoláció belső implementációjával Csak a tranzakció kezelési keretek határozza meg SET TRANSACTION mód START TRANSACTION mód SAVEPOINT név RELEASE SAVEPOINT név COMMIT mód ROLLBACK mód TO SAVEPOINT

  4. Oracle zárolási mechanizmusa Alapesetben nem a helyes zárolást követi hatékonysági megfontolásból - nincs olvasási zárolás - olvasás mindig elvégezhető - csak az írás zárol - alapeset a rekordszint - nincs piszkos olvasás - konzisztens értéket olvas - a REPETABLE READ szint is megvalósítható DBMS DB w(x=5) Kliens A X=5 r(x) Kliens B X=4 r(x)

  5. Naplózási mechanizmus A TM-nek gondoskodni kell az induló állapotok megőrzéséről Naplózás: a parancsok és induló értékek feljegyzése, szükség szerinti helyreállítás céljából DBMS MEMORY DB-C ROLLBACK LOG REDO-LOG aktuális állapot induló értékek elvégzett műveletek x=15 w(x) x=5 x=15 x=5 DATABASE w(x) REDO-LOG

  6. VFP zárolás zárolás kézi automatikus rekord tábla nem bufferelt bufferelt A finomság függ a művelettől

  7. VFP zárolás Zárolási parancsok: USE tábla EXLUSIVE | SHARED FLOCK() RLOCK() CURSORSETPROP() CURSORGETPROP() BEGIN TRANSACTION END TRANSACTION ROLLBACK DB Kliens A Kliens B

  8. KÉP Salvador Dali (1094-1989):

  9. SQL tranzakció-kezelés Egyes RDBMS-ek különböző izolációs szinten tudnak működni Tranzakció explicit indítása az igényelt üzemmódban: START TRANSACTION mód a megadható üzemmódok: ISOLATION LEVEL szint | elérési mód | DIAGNOSTICS SIZE méret READ UNCOMMITTED READ COMMITTED REPEATABLE READ SERIALIZABLE n READ ONLY READ WRITE

  10. SQL tranzakció-kezelés Tranzakció implicit indításakor az üzemmód kijelölés: SET TRANSACTION mód A hosszabb tranzakció szeletekre bontható a visszagörgetés szempontjából SAVEPOINT név RELEASE SAVEPOINT név ROLLBACK TO SAVEPOINT név SAVEPOINT 1 SAVEPOINT 2 SAVEPOINT 3 start ROLLBACK TO SAVEPOINT 2 törlődnek!

  11. Oracle zárolás rekord szintű tábla szintű csak az írási művelet zárol Zárolási szintek: DML DDL olvasás az utolsó konzisztens képet adja vissza Zárolási jelleg: LOCK TABLE tábla IN mód EXCLUSIVE MODE SHARE MODE … Az INSERT, UPDATE, DELETE utasítások rekord szintű, EXCLUSIVE zárolást használnak

  12. Oracle zárolás Ismételhető olvasás (REPEATABLE READ) izolációs szintjének megvalósítása SET TRANSACTION READONLY A rendszer megőrzi az induláskori adatbuffer állapotokat SCN: belső időbélyeg, a blokkot író tranzakció sorszáma SCN = 1 SCN = 2 SCN = 3 SCN = 4 SCN = 5 1 2 2 2 2 4 4 SET T. READONLY UPDATE UPDATE UPDATE

  13. VFP zárolás A lokális táblákhoz való hozzáférés több szinten szabályozható Kizárólagos Osztott Nyitási módok: USE tába … EXLUSIVE | SHARED SET EXLUSIVE ON | OFF ISEXLUSIVE() A megnyitási mód kiterjed a DBC, SCX, FRX állományokra is

  14. VFP zárolás Közvetlen, kézi zárolás is lehetséges rekord tábla zárolás: RLOCK(n) FLOCK(n) az alkalmazási kód tartalmazza a zárolási kódrészleteket nem biztonságos UNLOCK(n) SET REPROCESS TO n ISRLOCKED()

  15. VFP zárolás Lehetőség van tranzakció kezelésre is SET MULTILOCKS ON BEGIN TRANSACTION END TRANSACTION ROLLBACK A VFP-motor a tranzakció végrehajtásánál: - belső adatbuffereket hoz létre - induló állapotokat feljegyez - zárolásokat kezeli A három módszer együtt is használható

  16. Specifikus zárolási módok Zárolások felmínősítése: menet közben egy zárolási szintből magasabb szint lesz, ekkor deadlock alakulhat ki ls1(x)  r1(x)  …lx1(x)  w1(x)  u1(x) ls2(x)  r2(x)  …lx2(x)  w2(x)  u2(x) Módosítási zárolás: az objektum most csak olvasott, de később írás következik majd Kompatibilitás: lu nem enged meg már más zárolást lu1(x)  r1(x)  …lx1(x)  w1(x)  u1(x) lu2(x)  r2(x)  …lx2(x)  w2(x)  u2(x)

  17. kép Salvador Dali. A nárcisz metamorfózisa

  18. Tranzakció-kezelés speciális elemei • Többszintű tranzakciók • Elosztott tranzakciók • - 2PC protokoll • - VFP GETCURSORPROP • - VFP SETCURSORPROP • - TO ütemezés • TO szabályok • SGT módszer

  19. Salvador Dali. Az emlékezet álhatatossága (1931)

More Related