• Sonuç bulunamadı

License. Veri Tabanı Sistemleri. Konular. Hareket Özellikleri. Tanım hareket: bir işin mantıksal bir birimi

N/A
N/A
Protected

Academic year: 2022

Share "License. Veri Tabanı Sistemleri. Konular. Hareket Özellikleri. Tanım hareket: bir işin mantıksal bir birimi"

Copied!
8
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Veri Tabanı Sistemleri

E¸szamanlı ¸Calı¸sma

H. Turgut Uyar Sule ¨¸ O˘g¨ud¨uc¨u

2002-2012

1 / 45

License

c

2002-2012 T. Uyar, ¸S. ¨O˘g¨ud¨uc¨u

You are free:

I to Share – to copy, distribute and transmit the work I to Remix – to adapt the work

Under the following conditions:

I Attribution – You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).

I Noncommercial – You may not use this work for commercial purposes.

I Share Alike – If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.

Legal code (the full license):

http://creativecommons.org/licenses/by-nc-sa/3.0/

2 / 45

Konular

Hareket Y¨onetimi Giri¸s

Sistemin D¨uzeltilmesi

˙Iki A¸samalı Sonlandırma

E¸szamanlı ¸Calı¸sma Giri¸s

Kilitleme Yalıtım D¨uzeyleri Niyet Kilitleri

3 / 45

Hareket Y¨ onetimi

I birden fazla i¸slemin topluca yapılması gerekebilir

I bir i¸slemin yapılıp di˘gerlerinin yapılmaması tutarsızlık yaratabilir I birden fazla i¸slemin topluca yapılması garanti edilemez

I en azından de˘gi¸sikliklerden ¨onceki duruma d¨on¨ulebilmeli

Tanım

hareket: bir i¸sin mantıksal bir birimi

4 / 45

Hareket ¨ Orne˘ gi

Ornek (bir banka hesabından di˘¨ gerine para aktarma)

U P D A T E A C C O U N T S SET B A L A N C E = B A L A N C E - 100 W H E R E A C C O U N T I D = 123

U P D A T E A C C O U N T S SET B A L A N C E = B A L A N C E + 100 W H E R E A C C O U N T I D = 456

Hareket ¨ Ozellikleri

I b¨ol¨unmezlik

I ya tam yapılır, ya hi¸c yapılmaz I tutarlılık

I bir tutarlı durumdan di˘ger bir tutarlı duruma ge¸ci¸s I yalıtım

I sona ermemi¸s bir hareketin i¸slemlerinin di˘ger hareketleri etkileyip etkilemedi˘gi

I kalıcılık

I bir hareket sonlandırıldıktan sonra sistem ¸okse de verilerin zarar g¨ormemesi

(2)

Hareket ˙I¸slemleri

ba¸slatma

B E G I N [ WO RK | T R A N S A C T I O N ]

sonlandırma

C O M M I T [ WO RK | T R A N S A C T I O N ]

vazge¸cme

R O L L B A C K [ WO RK | T R A N S A C T I O N ]

7 / 45

Hareket ¨ Orne˘ gi

Ornek¨

B E G I N T R A N S A C T I O N ON E R R O R GO TO UN DO

U P D A T E A C C O U N T S SET B A L A N C E = B A L A N C E - 100 W H E R E ( A C C O U N T I D = 12 3)

U P D A T E A C C O U N T S SET B A L A N C E = B A L A N C E + 100 W H E R E ( A C C O U N T I D = 45 6)

C O M M I T ...

UN DO : R O L L B A C K

8 / 45

Sistemin D¨ uzeltilmesi

I bir hareket s¨urerken sistemin ¸c¨okt¨u˘g¨un¨u d¨u¸s¨un¨un

I bellek tamponlarındaki veriler diske yazılmamı¸s durumda I kalıcılık nasıl sa˘glanacak?

I veri, sistemde ba¸ska yerde yazılı verilerden t¨uretilebilmeli

I c d¨uzeyde

9 / 45

G¨ unl¨ uk

I g¨unl¨ukher i¸slemden etkilenen her ¸coklunun i¸slemden ¨onceki ve sonraki de˘gerlerini tutar

I g¨unl¨u˘ge ¨onceden yazma kuralı:

hareket sonlanmadan ¨once g¨unl¨uk fiziksel ortama yazılmalı

I g¨unl¨uk kayıtlarına eri¸sim i¸slemin do˘gası gere˘gi ardı¸sıl

10 / 45

Denetim Noktaları

I belli aralıklarla g¨unl¨uktedenetim noktalarıolu¸sturulur

I bellek tamponlarındaki veriler fiziksel ortama yazılır

I denetim noktası g¨unl¨u˘ge not edilir

I o an s¨urmekte olan hareketler not edilir

D¨ uzeltme Listeleri

I aksaklıktan sonra hangi hareketler geri alınacak, hangileri sonlandırılacak?

I iki liste olu¸stur: geri alınacaklar (G), yinelenecekler (Y) I tC: g¨unl¨ukte kayıtlı son denetim noktası

I tCanında etkin olan hareketleri G’ye ekle I tC’den ba¸slayarak kayıtları ileri do˘gru tara

I ba¸slayan bir hareketle kar¸sıla¸sırsan G’ye ekle

I biten bir hareketle kar¸sıla¸sırsan Y’ye ge¸cir

(3)

D¨ uzeltme ¨ Orne˘ gi

Ornek¨

I tC:

G = {T2,T3} Y = ∅

I T4ba¸sladı:

G = {T2, T3, T4} Y = ∅

I T2bitti:

G = {T3, T4} Y = {T2}

I T5ba¸sladı:

G = {T3, T4, T5} Y = {T2}

I T4bitti:

G = {T3, T5} Y = {T2, T4}

13 / 45

D¨ uzeltme S¨ ureci

I kayıtları g¨unl¨uk sonundan geriye do˘gru tara

I G’deki hareketlerin yaptıkları de˘gi¸siklikleri geri al I kayıtları ileriye do˘gru tara

I Y’deki hareketlerin yaptıkları de˘gi¸siklikleri yinele

14 / 45

˙Iki A¸samalı Sonlandırma

I farklı kaynak y¨oneticileri var

I geri alma - sonlandırma sistemleri ayrı I etkilenecek veriler farklı kaynak y¨oneticilerinde

I ya hepsinde birden sonlandırılacak ya da hepsinde birden geri alınacak I e¸sg¨ud¨um sa˘glayıcı

15 / 45

Protokol

I e¸sg¨ud¨um sa˘glayıcı, b¨ut¨un katılımcılara hareketle ilgili b¨ut¨un verilerin kayıtlarını kalıcı ortama yazmalarını s¨oyler

I e¸sg¨ud¨um sa˘glayıcı, b¨ut¨un katılımcılardan

hareketi ba¸slatmalarını ve sonucu kendisine bildirmelerini ister

I ut¨un katılımcılardan ”ba¸sarılı” yanıtı alırsa hareketin sonlandırılmasına karar verir

I bir tane bile ”ba¸sarısız” yanıtı gelirse hareketin geri alınmasına karar verir

I e¸sg¨ud¨um sa˘glayıcı, b¨ut¨un katılımcılara kararı bildirir

16 / 45

Kaynaklar

Okunacak: Date

I Chapter 15: Recovery

E¸szamanlı ¸ Calı¸sma

I e¸szamanlı ¸calı¸san hareketler nedeniyle ¸cıkabilecek sorunlar:

I yitirilen g¨uncelleme

I kesinle¸smemi¸s veriye ba˘gımlılık

I tutarsız ¸c¨oz¨umleme

(4)

Yitirilen G¨ uncelleme

Ornek¨

Hareket A Hareket B

... ...

RETRIEVE p ...

... ...

... RETRIEVE p

... ...

UPDATE p ...

... ...

... UPDATE p

... ...

19 / 45

Kesinle¸smemi¸s Veriye Ba˘ gımlılık

Ornek¨

Hareket A Hareket B

... ...

... UPDATE p

... ...

RETRIEVE p ...

... ...

... ROLLBACK

...

20 / 45

Tutarsız ¸ C¨ oz¨ umleme

Ornek (hesap toplamı: acc1=40, acc2=50, acc3=30)¨

Hareket A Hareket B

... ...

RETRIEVE acc1 (40) ...

RETRIEVE acc2 (90) ...

... ...

... UPDATE acc3 (30 → 20)

... UPDATE acc1 (40 → 50)

... COMMIT

... ...

RETRIEVE acc3 (110) ...

21 / 45

¸

Cakı¸smalar

I A okuyor, B okuyor

I sorun yok I A okuyor, B yazıyor

I yinelenemez okuma (tutarsız ¸oz¨umleme) I A yazıyor, B okuyor

I kirli okuma (kesinle¸smemi¸s veriye ba˘gımlılık) I A yazıyor, B yazıyor

I kirli yazma (yitirilen g¨uncelleme)

22 / 45

Kilitleme

I hareketler ¨uzerinde i¸slem yapacakları ¸cokluları kilitlesinler

I okuma kilidi (S)

I yazma kilidi (X)

I i¸sleri bitince kilitleri bıraksınlar

Kilit ˙Istekleri

kilit tipi uyumluluk matrisi

X S -

X H H E

S H E E

I yazma kilidi varsa ba¸ska hareketlerin her t¨url¨u iste˘gi reddedilir

I okuma kilidi varsa:

I ba¸ska hareketlerin yazma kilidi istekleri reddedilir

(5)

Kilitleme Protokol¨ u

I hareket, yapmak istedi˘gi i¸sleme g¨ore kilit iste˘ginde bulunur

I okuma kilidi varsa yazma kilidine ¸cevrilmesi I istek yerine getirilemiyorsa beklemeye ba¸slar

I di˘ger hareket kilidi bırakınca devam eder

I sonsuz bekleme

25 / 45

Yitirilen G¨ uncelleme

Ornek¨

Hareket A Hareket B

... ...

RETRIEVE p (S+) ...

... ...

... RETRIEVE p (S+)

... ...

UPDATE p (X-) ...

bekle ...

bekle UPDATE p (X-)

bekle bekle

26 / 45

Kesinle¸smemi¸s Veriye Ba˘ gımlılık

Ornek¨

Hareket A Hareket B

... ...

... UPDATE p (X+)

... ...

RETRIEVE p (S-) ...

bekle ...

bekle ROLLBACK

RETRIEVE p (S+) ...

27 / 45

Tutarsız ¸ C¨ oz¨ umleme

Ornek (hesap toplamı: acc1=40, acc2=50, acc3=30)¨

Hareket A Hareket B

... ...

RETRIEVE acc1 (S+) ...

RETRIEVE acc2 (S+) ...

... ...

... UPDATE acc3 (X+)

... UPDATE acc1 (X-)

... bekle

RETRIEVE acc3 (S-) bekle

bekle bekle

28 / 45

Ol¨ ¨ umc¨ ul Kilitlenme

Tanım

¨ol¨umc¨ul kilitlenme:

hareketlerin birbirlerinin kilitleri bırakmalarını beklemesi

I neredeyse her zaman iki hareket arasında

I yapılabilecekler:

I farketmek ve ¸ozmek

I ¨onlemek

Ol¨ ¨ umc¨ ul Kilitlenmenin ¸ C¨ oz¨ ulmesi

Ornek¨ I bekleme grafı

I birkurbanse¸c ve ¨old¨ur

(6)

Ol¨ ¨ umc¨ ul Kilitlenmenin ¨ Onlenmesi

I her hareketin ba¸slama zamanı m¨uhr¨u var

I A hareketinin kilit iste˘gi

B hareketinin tuttu˘gu bir kilitle ¸celi¸siyorsa:

I bekle-¨ol: A, B’den ya¸slıysa bekler, gen¸cse ¨ol¨ur A geri alınıp yeniden ba¸slatılır

I yarala-bekle: A, B’den gen¸cse bekler, ya¸slıysa B’yi yaralar B geri alınıp yeniden ba¸slatılır

I yeniden ba¸slatılan hareketin zaman m¨uhr¨u de˘gi¸stirilmez

31 / 45

Kilit Komutları

okuma kilidi

S E L E C T q u e r y FOR S H A R E

yazma kilidi

S E L E C T q u e r y FOR U P D A T E

32 / 45

Yalıtım D¨ uzeyleri

I yalıtım azaltılırsa e¸szamanlılık artırılabilir

I de˘gi¸sik yalıtım d¨uzeyleri:

I serile¸stirilebilir

I yinelenebilir okuma

I sonlandırılanları okuyabilme

I sonlandırılmayanları okuyabilme

33 / 45

Serile¸stirilebilirlik

I seri ¸calı¸stırma:

hareketlerin biri bitmeden di˘geri ba¸slamıyor

I serile¸stirilebilir: e¸szamanlı ¸calı¸smanın sonucu her zaman seri ¸calı¸stırmalardan birinin sonucu ile aynı Ornek¨

I x = 10

I A hareketi: x = x + 1

I B hareketi: x = 2 ∗ x

I ¨once A, sonra B: x = 22

I ¨once B, sonra A: x = 21

34 / 45

˙Iki A¸samalı Kilitleme

I iki a¸samalı kilitleme:

herhangi bir kilit bırakıldıktan sonra yeni kilit iste˘ginde bulunulmaz

I geni¸sleme a¸saması: alınan kilit sayısı artıyor

I daralma a¸saması: alınan kilit sayısı azalıyor I iki a¸samalı sıkı kilitleme:

b¨ut¨un kilitler hareketin sonunda bırakılır

I B¨ut¨un hareketler iki a¸samalı kilitleme protokol¨une uyarsa b¨ut¨un e¸szamanlı ¸calı¸stırmalar serile¸stirilebilir.

Sonlandırılanları Okuyabilme

I yalnızca yazma kilitleri hareket sonuna kadar tutulur Ornek¨

Hareket A Hareket B

... ...

RETRIEVE p (S+) ...

... ...

kilidi bırak ...

... ...

... UPDATE p (X+)

... COMMIT

(7)

Hayaletler

Tanım

hayalet: sorgu yeniden ¸calı¸stırıldı˘gında yeni ¸coklular ortaya ¸cıkıyor Ornek¨

I A hareketi bir m¨u¸sterinin hesaplarının ortalamasını hesaplıyor:

100+100+100

3 = 100

I B hareketi aynı m¨u¸steriye 200 birimlik yeni bir hesap yaratıyor

I A hareketi hesabı yeniden yapıyor:

100+100+100+200

4 = 125

37 / 45

Yalıtım D¨ uzeyi Belirleme

Komut

SET T R A N S A C T I O N I S O L A T I O N L E V E L [ S E R I A L I Z A B L E | R E P E A T A B L E RE AD |

RE AD C O M M I T T E D | RE AD U N C O M M I T T E D ]

38 / 45

Yalıtım D¨ uzeyi Sorunları

yalıtım d¨uzeyi kirli yinelemeyen hayalet

okuma okuma

READ UNCOMMITTED E E E

READ COMMITTED H E E

REPEATABLE READ H H E

SERIALIZABLE H H H

39 / 45

Kilitleme Birimi

I kilitleme ¸coklu de˘gil ba˘gıntı de˘gi¸skeni biriminde yapılabilir

I hatta veri tabanı biriminde I birim geni¸sledik¸ce e¸szamanlılık azalır

I ¸coklular ¨uzerinde alınmı¸s kilitlerin bulunması zor

→ ¨once ba˘gıntı de˘gi¸skeni d¨uzeyindeniyet kilitlerialınsın

40 / 45

Niyet Kilitleri

I Par¸cayı Okuma (IS):

hareket bazı ¸cokluları okumaya niyetleniyor

I Par¸caya Yazma (IX):

IS + hareket bazı ¸coklulara yazmaya niyetleniyor

I B¨ut¨un¨u Okuma (S):

ba˘gıntıda e¸szamanlı okuyucular olabilir ama yazıcılar olmamalı

I B¨ut¨un¨u Okuma + Par¸caya Yazma (SIX):

S + IX

I B¨ut¨une Yazma (X):

ba˘gıntıda hi¸cbir e¸szamanlı ¸calı¸sma olmamalı

Kilit ˙Istekleri

kilit uyumluluk matrisi

X SIX IX S IS -

X H H H H H E

SIX H H H H E E

IX H H E H E E

S H H H E E E

IS H E E E E E

(8)

Kilit ¨ Oncelikleri

I ¸coklu ¨uzerinde okuma kilidi i¸cin ba˘gıntı ¨uzerinde en az IS

I ¸coklu ¨uzerinde yazma kilidi i¸cin ba˘gıntı ¨uzerinde en az IX

43 / 45

Kilitleme Komutları

Komut

LO CK [ T A B L E ] t a b l e _ n a m e [ IN l o c k _ m o d e MO DE ]

I kilit kipleri:

I ACCESS SHARE

I ROW SHARE

I ROW EXCLUSIVE

I SHARE UPDATE EXCLUSIVE

I SHARE

I SHARE ROW EXCLUSIVE

I EXCLUSIVE

I ACCESS EXCLUSIVE

44 / 45

Kaynaklar

Okunacak: Date

I Chapter 16: Concurrency

45 / 45

Referanslar

Benzer Belgeler

Arthropodlar kısa mesafede bacak ekstremitelerini, daha uzun mesafede Insecta’da olduğu gibi kanatları kullanarak hareket ederler.. Kanatlar bir çift ya da iki çift olabilir

Bazı serbest yaşayan protozoonlar vakuollerinde veya. sitoplasmalarındaki bazı boşluklarda CO 2 biriktirdikleri zaman hafifler ve bulundukları sıvının üst

Bakanlığı'nın denetiminde ve idamesinde olan sistem 24 adet uydu

Hareket Becerisi: Yürüme Hareket Kavramı: Kişisel/genel boşluk, yön, Sınıf:1/3 Süre: 80 dakika Araç-gereç: Çember, def, Dersin işlenişi: Çocuklara yürüme tarif

Results: In this phase, subjects were diagnosed to have restless leg syndrome n= 60, 9.71%, essential tremor n= 21, 3.34%, enhan- ced physhological tremor n= 26, 4.14%,

Bu yazıda t¨ urevsel ve integral hesap ile vekt¨ orler kullanarak g¨ ozlemlenen ger¸ceklerin (Kepler kanunları) Newton’ın ikinci hareket ka- nunu (kuvvet e¸sittir k¨ utle

 Sütunlara verilen takma isimler verilebilir fakat Group by ve Having işleminde takma isimler yazılamaz....  SELECT SUM(maas) FROM tbl_personel WHERE

Yörüngesi doğrusal olan ve bu doğru üzerinde hızı eşit zaman aralıklarında eşit miktarlarda değişen (artan ya da azalan) cisimlerin hareketine sabit ivmeli hareket