بنام خدا پایگاه داده پیشرفته

Slides:



Advertisements
Similar presentations
Jolly Phonics Set 1: s, a, t, p, i, n Set 2: ck, e, h, r, m, d
Advertisements

Unit 9 Concurrency Control. 9-2 Wei-Pang Yang, Information Management, NDHU Content  9.1 Introduction  9.2 Locking Technique  9.3 Optimistic Concurrency.
Conflict Serializability Example Murat Kantarcioglu.
1 Part V: Transactions, Concurrency control, Scheduling, and Recovery.
Presented by Dr. Greg Speegle.  Concurrency Control  Multiple Versions  Version number timestamp of writing transaction  Read last committed value.
1 ICS 214B: Transaction Processing and Distributed Data Management Lecture 6: Cascading Rollbacks, Deadlocks, and Long Transactions Professor Chen Li.
CS4432: Database Systems II Lecture #26 Concurrency Control and Recovery Professor Elke A. Rundensteiner.
Conflict-Serializability Bharath Kumar Manur Venkataramana Class ID No:- 110.
(c) Oded Shmueli Transactions Lecture 5: Multiversion Concurrency Control (Chapter 5, BHG) More than one version per data item presents opportunities.
(c) Oded Shmueli Two Phase Locking, Lecture 3 (BHG, Chap. 3) The practical foundation.
Cs4432concurrency control1 CS4432: Database Systems II Concurrency Control with Recovery.
CS4432transaction management1 CS4432: Database Systems II Lecture #23 Transaction Management Professor Elke A. Rundensteiner.
Presentation Topic 18.7 of Book Tree Protocol Submitted to: Prof. Dr. T.Y.LIN Submitted By :Saurabh Vishal.
Phonics: Chunk Challenge Picture Support Individual Slides.
Phonics: Chunk Challenge Picture Support Grouped Slides.
Spalding First 70 Phonograms a ahaa c sk d d f f.
Concurrency Control in Distributed Databases. By :- Rishikesh Mandvikar rmandvik[at]engr.smu.edu May 1, 2004.
Ay says “ay” as in h a y. ai says “ai” as in r a i n.
Part III: Storage and Indexing (Chapters 8-11) Part V: Transctions, Concurrency control, Scheduling, and Recovery (Chapters 16-18)
Transactions. What is it? Transaction - a logical unit of database processing Motivation - want consistent change of state in data Transactions developed.
Phonics: Chunk Challenge All. b c d f g h j.
Inconsistent retrieval (is locking enough CC? NO!) ________ - |ACCOUNTS| _____ - ' | | |AUDIT| >___' | ____ |CHECKING|
Phonogram sounds. o /ŏ/, /ō/, /ōō / b h f qu /kw/ * Never write q without u.
Takeshi Mishima and Yasuhiro Fujiwara NTT Software Innovation Center
Template: BJAB07104 a Template: BJAB0868 b Figure S1 M
Jodie's Warm Up Haileybury.
CS 245: Database System Principles Notes 10: More TP
Multiversion Concurrency Control
Part V: Transactions, Concurrency control, Scheduling, and Recovery
Last Class: Canonical Problems
CS 245: Database System Principles Notes 10: More TP
Proportional Hazard Models
Transactional Information Systems:
Chap. 3 Concurrency Control (covering 3.8 ~ 3.11)
Schedules and Serializability
Read Sounds.
Chapter 15: Transactions
Allocating Isolation Levels to Transactions by Alan Fekete
Enforcing Serializability by Locks
CSIS 7102 Spring 2004 Lecture 2 : Serializability
March 21st – Transactions
5.3 Arithmetic Series (1/5) In an arithmetic series each term increases by a constant amount (d) This means the difference between consecutive terms is.
Outline Introduction Background Distributed DBMS Architecture
الترتيب (l’ordonnancement)
CIS 720 Concurrency Control.
Adapted from slides by J. Gray & A. Reuter
Distributed DBMS Model
This powerpoint can be used as a prompt for teaching phase 3 sounds
Transactional Information Systems:
ניווט רובוט נייד בעזרת שדה מגנטי
CS 245: Database System Principles Notes 10: More TP
Adapted from slides by J. Gray & A. Reuter
Transactional Information Systems:
Conflict-Serializability (section 18.2 of Concurrency Control)
Examples of Basic Blocks
Conflicts.
,. . ' ;; '.. I I tI I t : /..: /.. ' : ····t I 'h I.;.; '..'.. I ' :".:".
_ _ eses ' ' l J-J - ",",.-' a c 'j..., s9aCs9aC 7.. t::J.
Chapter 5: Multiversion Concurrency Control
Transactional Information Systems:
Transactional Information Systems
SQL – Shared and Exclusive Locks
CONCURRENCY CONTROL 18.1 Serial and Serializable Schedule
Intermediate Code Generation
A toy example for RC4.
Ingredients for a Great Syllable!
Locks.
Algorithms CSCI 235, Spring 2019 Lecture 2 Introduction to Asymptotic Analysis Read Ch. 2 and 3 of Text 1.
Lecture 18: Concurrency Control
6.3 Find Probabilities Using Combinations
Presentation transcript:

بنام خدا پایگاه داده پیشرفته بنام خدا پایگاه داده پیشرفته

فصل هفتم قسمت ”ت“ کتاب دکتر حق جو موضوع:مبانی مدیریت تراکنش فصل هفتم قسمت ”ت“ کتاب دکتر حق جو موضوع:مبانی مدیریت تراکنش استاد مربوطه : دکتر باقری فرد تهیه کننده گان : احسان حاتمی ، علی روان ، عباس امامی مقدم ، قاسم جمعه پور

مطالبی که در این ارایه بیان خواهد شد: قفل دو مرحله ای اصول کلی قفل گذاری پروتکل قفل دو مرحله ای پایه پروتکل قفل دو مرحله ای محافظه کار پروتکل قفل دو مرحله ای محض مروری بر مطالب گذشته زمانبندی ترتیب جزئی زمانبندی کامل پرتو ثابت پی در پی پذیر در برخورد تشخیص پی در پی پذیر در برخورد ترمیم پذیری زمانبندی فاقد سقو ط های آبشاری زمانبندی محض

مروری جزئی بر مطالب گذشته: همانگونه که در بخش های قبلی هم عنوان شد برای اطمینان از درستی اجرای تراکنش ها1-کنترل همروندی2-مدیریت ترمیم مهم ترین آنها می باشد. یک تراکنش به عنوان یک برنامه شامل:خواندن ها – محاسبات و نوشتن های متعددی است که به طور همروند که با دستورات تراکنش های دیگر اجرا میشود همروندی:امکان دستیابی 2 یا بیش از دو تراکنش به داده مشترک به طور همزمان اثرات تراکنش:1-اثرات روی داده های بانک اطلاعاتی2-اثرات روی سایر تراکنش ها پی در پی پذیر:اگر اجرای همروند تراکنش ها با اجرایی یکی از طرحهای پی در پی(متوالی)تراکنش یکی باشد این اجرا را پی در پی پذیر میگوییم ترمیم پذیری:فرآیندی است که در صورت بروز خرابی،پایگاه داده را به وضع صحیح برگرداند به گونه ای که هیچ اثری از خرابی در آن نباشد

زمانبندی: نظریه پی در پی پذیری با ابزاری ریاضی گونه به اثبات درستی یا نادرستی زمانبندی ها می پردازد. زمانبندی:یک ترتیب جزئی (Partial order) از اجرای همروند تراکنش هاست. چنانچه در یک مجموعه ترتیب کلی(Total Order) داشته باشیم ، بین هر دو عضو دلخواه از بین این مجموعه مثل a و bحتما ً باید مشخص شود که آیا a قبل از b است یا برعکس .به عبارت دیگر ترتیب این دو نسبت به هم نمی تواند دلخواه باشد در غیراین صورت ،ترتیب جزئی است. زمانبندی را می توان با یک گراف جهت دار فاقد حلقه (DAG) نمایش داد که در آن هر گره ، یکی از دستورات تراکنش را را با نماد Oi( X )نشان میدهند. O : نوع عملگر r (خواندن) یا w (نوشتن) می باشد i : شماره تراکنش X : نوع داده Ci یا ai : نحوه اتمام تراکنش هر لبه(یال) را در گراف به صورت q P نمایش میدهند مثال:

برخورد در تراکنش ها: دو عملگر باهم برخورد دارنداگر:1-مربوط به تراکنش های مختلف باشند2-روی یک داده کار کنند3-حداقل یکی از آنها عملگر نوشتن باشد. برای دو عملگری که باهم برخورد دارند ، حتما ً باید ترتیب اجرای آنها را نسبت به هم(هم در تراکنش ، هم در زمانبندی ) تعیین کنیم زیرا: 1- در مورد ri(x) و wj(x) ، نتیجه خواندن داده ، قبل و بعد از نوشتن روی آن داده ممکن است متفاوت باشد و مقداری که خوانده میشود بستگی به این دارد که خواندن قبل از نوشتن اجرا میشود یا بعد از آن 2- در مورد wi(x) و wj(x) ، مقدار نهایی نوشته شده در x بستگی به این دارد که کدام عملگر w آخر اجرا شود

تعریف:تراکنشTi ، ترتیب جزئی با <i است بطوریکه : یکی از دو عملگر تثبیت یا ساقط باید وجود داشته باشد و نه هردوی آنها. عملگر تثبیت یا ساقط آخرین عملگر است. ترتیب اجرای خواندن و نوشتن تراکنش روی یک داده حتما ً باید مشخص شده باشد.

تعریف:اگر T={T1,T2,…, Tn} مجموعه تراکنش ها باشد ، آنگاه زمانبندی کاملHروی T ، ترتیب جزئی را با رابطه <Hاست که: 1-H شامل تمام تراکنش ها می باشد: 2-ترتیب اجرای دستورات تراکنش ها حفظ می گردد و ترتیب های دیگری نیز ممکن است اضافه شوند: 3- برای هر دو عملگر دارای برخورد ، باید ترتیب آنها مشخص شود:

تعریف: زمانبندی ،پیشوندی از یک زمانبندی کامل میباشد. مثال:تراکنش های زیر را در نظر بگیرید: زمانبندی کامل H1 روی مجموعه تراکنش های بالا به صورت زیر میباشد:

زمانبندیH1’ پیشوندی ازH1است: تعریف : تراکنش Tiدر Hتثبیت (ساقط) شده است اگر (ai€H)Ci€H در غیر این صورت Ti فعال است نکته: زمانبندی کامل ، تراکنش فعال ندارد.

پرتو ثابت: زمانبندی H که باC(H) نمایش داده میشود با حذف تمام عملگرهای تراکنش های تثبیت نشده حاصل میگردد. نکته: پرتو ثابت ، یک زمانبندی کامل روی مجموعه تراکنش های تثبیت شده میباشد.

پی در پی پذیر در برخورد: اگر طرح همروند راطوری تغییر دهیم که به یکی از طرح های پی در پی برسیم به شرطی که دستورات با هم برخورد نداشته باشند به آن پی در پی پذیر در برخورد گفته میشود. تعریف: دو زمانبندی H و H’ معادل در برخورد هستند اگر وتنها اگر: 1-مجموعه تراکنش ها و عملگرهایشان یکسان باشد. 2- ترتیب عملگرهای دارای برخورد تراکنش های ساقط نشده ، در هر دو، یکسان باشد:

مثال: در زمانبندی های زیر ، H2 وH3 معادل هستند اما H4 و H5 با هیچ کدام معادل نیستند. توضیح: همه موارد خواص زمانبندی را دارند H4شرط 1 را ندارد H5 شرط2 را ندارد.

تعریف : تراکنش Tiدر زمانبندی H قبل از Tj اجرا میشود اگر وتنها اگر تمام عملگرهای Ti قبل از تمام عملگرهای Tjاجرا شود تعریف:زمانبندی کامل H را پی در پی گوئیم اگر برای هر دو تراکنش Ti و Tj در H ، Tiقبل از Tj اجرا شود یا بالعکس:

تشخیص پی در پی پذیر در برخورد: تعریف: در گراف پی در پی پذیری H که آن را با SG(H) نمایش میدهیم ، گره ها تراکنش ها هستند و لبه (i≠j)Ti Tj در صورتی وجود دارد که در H عملگری ناسازگار از Ti قبل از عملگری ناسازگار از Tj آمده باشد. قضیه1:زمانبندی H پی درپی پذیر در برخورد است : اگر و فقط اگر SG(H)فاقد حلقه باشد قضیه 2:در گراف پی در پی پذیری خاصیت جابجایی وجو ندارد اثبات مثال نقض:

ترمیم پذیری: تعریف: زمامنبندیH را ترمیم پذیر مینامیم اگر ، هرگاه Tiاز (i≠j)Tjبخواند ، تثبیت Tjقبل از تثبیت Tiباشد. نکته:اشکال عمده زمانبندی های ترمیم پذیر سقوط های آبشاری است. تعریف :زمانبندی Hرا فاقد سقوط آبشاری می نمامیمم اگر ، هرگاه Tiاز(i≠j)Tj بخواند ، آنگاه تثبیت Tj قبل از خواندن ،Tiباشد تعریف: زمانبندی H را محض(سخت گیر) مینامیم هرگاه هر عمل ri(X) که بعد از wj(X) انجاممیشود ، حتما ً پس از خاتمهTj باشد.

نکته: نماد های ترمیم پذیر RCو فاقد سقوط های آبشاری ACAو محض STمی باشند. مثال: تراکنش ها و زمانبندی های زیر را در نظر بگیرید: نکته: اگر زمانبندی محض باشد ، یقینا ً فاقد سقوط های آبشاری نیز هست و اگر فاقد سقوط های آبشاری باشد ، ترمیم پذیر نیز می باشد .عکس این ادعا همیشه صحیح نیست.

قفل گذاری: قفل دو مرحله ای(2PL) : نماد oli(x): برای در خواست قفل ، oui(x) : برای آزاد نمودن قفل عملگر o و ui(x) برای باز کردن قفل هر عملگری از تراکنش i روی داده x به کار میرود. تعریف: دو قفل با هم ناسازگار(برخورد دارند) اگر روی داده های یکسان ، مربوط به تراکنش های مختلف و حداقل یکی از آنها قفل نوشتن باشد . در غیر این صورت با هم سازگار هستند.

اصول کلی قفل گذاری: 1- هر عملگر بعد از قفل کردن و قبل از آزاد کردن قفل ، داده مربوطه اجرا میشود 2- بازکردن قفل هر داده مربوط به عملگرهای هر تراکنش حداکثر یکبار انجام میشود. 3- در صورتی داده قفل شدهx توسط تراکنش های همروند دیگری قفل میشود که این قفل ها با هم سازگار می باشند.

پروتکل قفل دو مرحله ای پایه(B2Pl) : تعریف:یک زمانبندی از قفل دو مرحله ای پایه پیروی میکند اگر و تنها اگر قفلی از هر تراکنشی آزاد شد ، از آن پس آن تراکنش نتواند هیچ قفل دیگری (روی هیچ داده ای) بگیرد. پروتکل قفل دو مرحله ای پایه ،هر سه مشکل همروندی را حل میکند اما به دلیل وقوع بن بست تراکنش ها ساقط میشود.

پروتکل قفل دو مرحله ای محافظه کار(C2PL) : تعریف:یک زمانبندی از نوع قفل دو مرحله ای محافظه کار است اگر و تنها اگر از نوع قفل دو مرحله ای پایه باشد و هر تراکنش آن قبل از شروع به اجرا ، تمام قفلهای مورد نیازش را اخذ نموده باشد: نکات: 1-قفل دو مرحله ای محافظه کار تضمین میکند که بن بست رخ ندهد. 2-مجموعه داده هایی که تراکنش برای خواندن(نوشتن) نیاز دارد را read-set ،(write-set) مینامیم. 3-نقطه ضعف C2PL : علاوه بر کاهش سطح همروندی نیاز به داشتن read-set وwrite-set میباشد.

پروتکل قفل دو مرحله ای محض(S2PL) : تعریف:یک زمانبندی از نوع قفل دومرحله ای محض است اگر و تنها گر از نوع قفل دو مرحله ای پایه باشد و قفلهای wدر پایان تراکنش مربوطه (پس از اجرایCi یاai ) و قفلهای rپس از اجرای آخرین عملگر تراکنش و قبل از ciیا aiآزاد گردند.