Transaction Management and Concurrency Control - Lecture Notes PDF

Document Details

SelfRespectNovaculite5721

Uploaded by SelfRespectNovaculite5721

University of California

2018

Dr. Elham AL-Qasem

Tags

database management transactions concurrency control database systems

Summary

These notes detail transaction management and concurrency control in database systems, covering examples from a practical perspective. They discuss concepts and techniques for ensuring data consistency in a multi-user environment.

Full Transcript

2‫قواعد معطيات‬ DataBase2 ‫إدارة المناقالت والتحكم المتزامن‬ Transaction Management and Concurrency Control ‫المحاضرة االسابعة‬ 2018-2019 Dr. Elham AL-Qasem Accounting & Financial Services...

2‫قواعد معطيات‬ DataBase2 ‫إدارة المناقالت والتحكم المتزامن‬ Transaction Management and Concurrency Control ‫المحاضرة االسابعة‬ 2018-2019 Dr. Elham AL-Qasem Accounting & Financial Services ‫جامعة‬ 2 ‫ العناوين الرئيسية‬: ‫مقدمة‬:. ‫ مقدمة‬ Transactions ‫ المناقالت‬ Concurrency Control ‫ التحكم المتزامن‬ Recovery System ‫ نظام التعافي‬ Accounting & Financial Services ‫‪3‬‬ ‫‪:‬المناقالت‬ ‫‪ ‬بفرض أننا استطعنا تصميم قاعدة بيانات نظامية‪،‬‬ ‫‪:‬مقدمة‬ ‫ثم قمنا بتنفيذ هذا التصميم باستخدام نظام إدارة‬ ‫قواع د بيان ات م ا‪.‬تص بح ه ذه القاع دة بع د القي ام‬ ‫بجميع عمليات الصيانة جاهزة للعمل‪.‬‬ ‫‪ ‬تؤدي ه ذه الجاهزي ة إلى ظه ور العدي د من األم ور‬ ‫ال تي ينبغي أخ ذها بعين االعتب ار وال تي تتن اقض‬ ‫أحيان ًا م ع الغاي ة األهم في عم ل قواع د البيان ات‬ ‫وهي المحافظ ة على حال ة متوافق ة أو متس قة‬ ‫ضمان صحة‬ ‫‪ consistent‬أي‬ ‫‪Accounting‬‬ ‫لقاعدة البيانات ‪state‬‬ ‫‪& Financial Services‬‬ ‫‪4‬‬ ‫‪:‬المناقالت‬ ‫‪:‬مقدمة‬ ‫من هذه األمور‪:‬‬ ‫ معالج ة األخط اء المختلف ة ال تي يمكن أن تحص ل‬ ‫أثن اء العم ل مث ل أعط ال التجه يزات ‪Hardware‬‬ ‫‪ Failure‬وأعطال النظم البرمجية‪.‬‬ ‫ التنفي ذ الم تزامن لمجموع ة من العملي ات على‬ ‫البيانات‪.‬‬ ‫‪Accounting & Financial Services‬‬ ‫مثال‪ :‬مستودع للبضائع يتعامل مع‬ ‫‪5‬‬ ‫وباعة‬ ‫المخط ط أنن ا‬ ‫‪.‬زبائنظ من‬ ‫‪ ‬نالح‬ ‫نق وم بتخ زين حس اب‬ ‫دول‬ ‫ون في ج‬ ‫الزب‬ ‫"زب ون" بحيث تتم زي ادة‬ ‫ذل ك الحق ل كلم ا تمت‬ ‫عملي ة إض افة ل ذلك‬ ‫الحساب‪ ،‬كما يتم إنقاصه‬ ‫‪ ‬ويع بر الج دول "س جل مع امالت الزب ون" عن كاف ة‬ ‫عند كل عملية دفع‪.‬‬ ‫عملي ات الش راء ال تي ق ام به ا زب ون معين‪ ،‬فه و إذًا‬ ‫الزبون‪.‬‬ ‫مناقالت‬ ‫‪Accounting‬‬ ‫لكافة‬ ‫‪& Financial‬‬ ‫عبارة عن سجل ‪LOG‬‬ ‫‪Services‬‬ ‫مثال‪ :‬مستودع للبضائع يتعامل مع‬ ‫‪6‬‬ ‫وباعة‬ ‫‪.‬زبائن‬ ‫سنناقش فيما يلي سير أحداث (سيناريو) معين لكي‬ ‫نفهم م اذا تع ني المناقل ة‪ ،‬بحيث نف ترض أن الزب ون‬ ‫يقوم بشراء منتج معين ثم يدفع ثمن ذلك المنتج من‬ ‫حسابه‪.‬يمكن التعبير عن هذه المناقلة كما يلي‪:‬‬ ‫تخزين فاتورة جديدة للزبون‪.‬‬ ‫‪‬‬ ‫تخزين طلبية جديدة للبائع‪.‬‬ ‫‪‬‬ ‫إنق اص كمي ة الم واد الموج ودة في المس تودع بم ا‬ ‫‪‬‬ ‫يعادل كمية الطلب‪.‬‬ ‫تعديل رصيد الزبون‪.‬‬ ‫‪‬‬ ‫إضافة سطر جديد إلى سجل المعامالت‪.‬‬ ‫‪‬‬ ‫ينبغي تأكيد التغيرات‪.‬‬ ‫‪‬‬ ‫إذًا تتك‪GG‬ون المناقل‪GG‬ة في ه‪GG‬ذا المث‪GG‬ال من‬ ‫‪Accounting & Financial Services‬‬ ‫مجموعة من عبارات اإلضافة والتحديث‪.‬‬ ‫‪:‬المناقالت مجموع‪G‬ة من التعليم ات البرمجي ة ال تي‪7‬‬ ‫‪ ‬المناقل ة هي‬ ‫تعريف ذها س ويًة (بش كل متكام ل)‪ ،‬يمكن له ذه‬‫يتم تنفي‬ ‫‪:‬المناقلة‬ ‫ات أن تق وم بالتع ديل أو الوص ول إلى مجموع ة‬ ‫التعليم‬ ‫من المعطي ات‪ ،‬ويج ري بواس طتها نق ل قاع دة البيان ات‬ ‫من حالة متوافقة إلى حالة متوافقة أخرى‪.‬‬ ‫‪ ‬تعتبر المناقلة وحدة عمل منطقية‪ ،‬إما أن تتم بالكامل‬ ‫أو أن تلغى بالكامل‪ ،‬بالتالي فالحل الوسيط ال يمكن أن‬ ‫يعّر ف مناقلة أو أن يكون مقبوًال‪.‬‬ ‫‪ ‬والمناقلة الناجحة هي التي تنقل قاعدة المعطيات من‬ ‫حالة مّتسقة إلى حالة مّتسقة أخرى‪ (.‬يقال عن قاعدة‬ ‫المعطيات بأنها مّتسقة إذا ما كانت تحقق كافة شروط‬ ‫الحف اظ على‬ ‫تكام ل المعطي ات) بالت الي‪ ،‬ولض مان‬ ‫‪Accounting & Financial Services‬‬ ‫‪8‬‬ ‫‪:‬المناقالت‬ ‫‪:‬مثالال الت الي ه و مناقل ة‬ ‫المث‬ ‫تتألف من ثالث طلبات‬ ‫على قاعدة المعطيات‪:‬‬ ‫‪ ‬تس جيل حرك ة نق ل مبل غ‬ ‫‪ 15000‬من حساب‬ ‫‪ A‬إلى حساب ‪B‬‬ ‫غ ‪ 15000‬من‬ ‫م مبل‬ ‫‪ ‬حس‬ ‫حساب ‪A‬‬ ‫غ ‪ 15000‬إلى‬ ‫افة مبل‬ ‫‪ ‬إض‬ ‫حساب ‪B‬‬ ‫‪Accounting & Financial Services‬‬ 9 ‫مثال‬: Accounting & Financial Services ‫‪10‬‬ ‫‪:‬المناقالت‬ ‫‪:‬مثال‬ ‫‪ ‬تعري ف الطلب ات الس ابقة كمناقل ة واح دة‪ ،‬يض من‬ ‫نق ل قاع دة البيان ات من حال ة متس قة إلى حال ة‬ ‫متس قة أخ رى‪ ،‬ولفهم ذل ك س نفرض أن خط أ م ا‬ ‫ح دث بع د تنفي ذ الطلب الث اني( حس م من حس اب‬ ‫‪ ،)A‬ونناقش الحالتين‪:‬‬ ‫‪ ‬وضع الطلبات ضمن مناقلة واحدة‪.‬‬ ‫‪ ‬تنفي ذ الطلب ات الثالث على الت والي دون تعري ف‬ ‫‪Accounting & Financial Services‬‬ ‫مناقلة‪.‬‬ ‫‪11‬‬ ‫‪:‬المناقالت‬ ‫مثال ‪ -‬وضع الطلبات ضمن‬ ‫‪ :‬مناقلة واحدة‬ ‫في ه ذه الحال ة س يتم تس جيل الحرك ة في ج دول ‪،Trans‬‬ ‫ومن ثم س يتم حس م ‪ 15000‬من حس اب ‪ ،A‬وبم ا أن‬ ‫الخط أ حص ل قب ل الوص ول إلى نهاي ة المناقل ة يج ري‬ ‫ال تراجع ‪ Rollback‬عن العملي تين الس ابقتين لتع ود قاع دة‬ ‫‪Accounting & Financial Services‬‬ ‫المعطيات إلى حالتها المتسقة األولى‪.‬‬ ‫‪12‬‬ ‫‪:‬المناقالت‬ ‫مثال ‪ -‬تنفيذ الطلبات الثالث على التوالي‬ ‫الحرك ة في ج دول‬ ‫تس جيل‬ ‫في ه ذه الحال ة س يتم‬ ‫‪ :‬دون تعريف مناقلة‬ ‫ومن ثم س يتم حس م ‪ 15000‬من حس اب ‪ ،A‬ولن‬ ‫يض اف مبل غ ‪ 15000‬إلى حس اب ‪ ،B‬بس بب ح دوث‬ ‫الخط أ(انقط اع التي ار الكهرب ائي مثًال)‪ ،‬بمع نى أن‬ ‫المبل غ حس م من حس اب دون أن يض اف إلى حس اب‬ ‫آخ ر‪ ،‬وه و م ا يعكس خط أ في البيان ات المس جلة في‬ ‫قاعدة المعطيات‪.‬‬ ‫‪Accounting & Financial Services‬‬ ‫مثال – مقارنة‬ ‫‪13‬‬ ‫‪:‬النتائج‬ ‫المجم‬ ‫وع ‪60‬‬ ‫الف‬ ‫المجم‬ ‫وع ‪45‬‬ ‫الف‬ ‫‪Accounting & Financial Services‬‬ ‫‪14‬‬ ‫خصائص المناقالت ‪: ACID-‬‬ ‫‪.1‬الكتلّية‬ ‫‪: Atomicity‬‬ ‫‪ ‬وتعني وجوب تنفيذ كافة أجزاء المناقلة ‪-‬أي طلبات‬ ‫قاعدة المعطيات‪ -‬ككتلة واحدة‪ ،‬فإذا لم يتم تنفيذها‬ ‫بالكام ل فينبغي ال تراجع عنه ا بالكام ل‪- ،‬أو بطريق ة‬ ‫أخ رى‪ -‬ينبغي التعام ل م ع المناقل ة على أنه ا كتل ة‬ ‫عمل منطقية وحيدة وغير قابلة للتجزئة‪.‬‬ ‫‪Accounting & Financial Services‬‬ ‫‪15‬‬ ‫خصائص المناقالت ‪: ACID-‬‬ ‫‪.2‬االتساق أو التوافق‬ ‫المعطي ات بع د تنفي ذ ع‪G‬دة‬ ‫‪Consistency‬‬ ‫اتس‪:‬اق قاع دة‬ ‫وتع ني اس تمرار‬ ‫مناقالت متزامنة‪ ،‬خاص ًة في قواعد المعطيات الموزعة أو‬ ‫متعددة المستخدمين‪.‬‬ ‫‪.3‬العزل‬ ‫يسمح النظام بتنفيذ عدة مناقالت تنفيذًا متزامن ًا‬ ‫يمكن أن‬ ‫‪:Isolation‬‬ ‫وبمع زل عن بعض ها‪ ،‬أي ال يمكن اس تخدام معطي ات من‬ ‫قب ل مناقل ة إذا ك ان هن اك مناقل ة أخ رى تس تخدم تل ك‬ ‫تمرارية اّتس اق قاع دة المعطي ات‪ ،‬أي أن‬ ‫المعطيات‪.‬‬ ‫االستمرارية‬ ‫ني اس‬ ‫وهي‪.4‬تع‬ ‫‪:Durability‬‬ ‫قاع دة المعطي ات ينبغي أن تنتق ل بع د تنفي ذ المناقل ة من‬ ‫حالة مّتسقة إلى حالة مّتسقة أخرى ال يمكن فقدانها حتى‬ ‫الناتج ة تص بح‬ ‫ول و فش ل النظ ام ككل‪.‬أي أن التغي يرات‬ ‫‪Accounting & Financial Services‬‬ ‫ًا‬ ‫‪16‬‬ ‫المناقالت ‪:‬‬ ‫المناقالتأنواع أنظمة إدارة قواعد المعطيات إدارة‬ ‫‪ ‬تدعم‬ ‫إدارةالعديد من‬ ‫باستخدام ‪:SQL‬‬ ‫مناس بة للمن اقالت‪ ،‬كنظ ام ‪ Oracle‬أو ‪ SQL Server‬أو ‪DB2‬‬ ‫في حين ال يدعم ‪ MS Access‬هذا النوع من اإلدارة‪.‬‬ ‫‪ ‬ت دعم لغ ة ‪ SQL‬المن اقالت من خالل تعليم تين أساس يتين‬ ‫هما‪:‬‬ ‫‪.1‬تأكي‪GG‬د التغي‪GG‬يرات ‪ :COMMIT‬عن دما يتم تنفي ذ ه ذه‬ ‫التعليم ة فإن ه يتم تخ زين كاف ة التغ يرات ال تي تمت على‬ ‫قاعدة المعطيات‪.‬‬ ‫‪.2‬ال‪GG‬تراجع عن التغي‪GG‬يرات ‪ :ROLLBACK‬عن دما يتم‬ ‫تنفي ذ ه ذه التعليم ة فإن ه يتم ال تراجع عن كاف ة التغ يرات‬ ‫ودة إلى آخ ر‬ ‫ال تي حص لت على قاع دة المعطي ات‪ ،‬والع‬ ‫‪Accounting & Financial Services‬‬ ‫‪17‬‬ ‫المناقالت ‪:‬‬ ‫‪ Log‬إدارة قواع د المعطي ات س‪GG‬جل‬ ‫أنظم ة‬ ‫‪ ‬تس‬ ‫سجلتخدم‬ ‫المناقالت‬ ‫‪Record‬‬ ‫المن‪G‬اقالت‪ :‬لكي تتب ع مس ير كاف ة العملي ات ال تي‬ ‫تق وم به ا المن اقالت وتغّي ر فيه ا حال ة قاع دة‬ ‫المعطيات‪ ،‬مما يساعد في استرجاع حاالت مّتسقة‬ ‫س ابقة باس تخدام العب ارة ‪ ،ROLLBACK‬إذ يمكن أن‬ ‫ت ؤثر بعض المش اكل على اّتس اق قاع دة المعطي ات‬ ‫كفش ل غ ير متوق ع في النظ ام أو فش ل في الش بكة‬ ‫أو في القرص الصلب‪.‬‬ ‫‪ ‬كم ا يمكن أن تق وم تل ك األنظم ة بتأكي د بعض‬ ‫المن اقالت ال تي تم تأكي دها باس تخدام التعليم ة‬ ‫‪ Accounting‬الق رص‬ ‫كتابته ا إلى‬ ‫‪ COMMIT‬ولكن لم يتم بع د‬ ‫‪& Financial Services‬‬ ‫‪18‬‬ ‫المناقالت‪ -‬سجل المناقالت ‪:‬‬ ‫محتويات‬ ‫‪‬السجل ‪:‬‬ ‫يحتوي السجل على المعلومات التالية‪:‬‬ ‫‪.1‬إشارة إلى بداية المناقلة‪.‬‬ ‫‪.2‬تفص يل ح ول ك ل طلب قاع دة معطي ات‬ ‫محتوى في المناقلة‪.‬‬ ‫‪.3‬نوع العملية المنفذة (إضافة‪ ،‬حذف‪ ،‬تعديل)‪.‬‬ ‫‪.4‬اسم الغرض المتأثر بتلك العملية (الجدول)‪.‬‬ ‫‪.5‬القيم السابقة والالحقة للحقول المتغيرة‪.‬‬ ‫‪.6‬مؤش رات إلى القيم الس ابقة والالحق ة‪ ،‬أي‬ ‫مداخل سجالت المناقلة‪.‬‬ ‫‪.7‬إشارة إلى نهاية المناقلة‪.‬‬ ‫‪Accounting & Financial Services‬‬ ‫‪19‬‬ ‫المناقالت ‪:‬‬ ‫الس جل يمكن‬ ‫سجلبن اء واس تخدام‬ ‫المناقالت‪-‬س بق أن‬ ‫‪ ‬نالح ظ مم ا‬ ‫خصائص‬ ‫يزي‪ :‬د من العبء المف روض على نظ ام إدارة‬ ‫أن‬ ‫السجل‬ ‫قواع د المعطي ات‪ ،‬ولكن يمكن تخطي ذل ك مقارن ًة‬ ‫بالمنفعة التي يمكن الحصول عليها منه‪.‬‬ ‫‪ ‬يعت بر الس جل بحد ذاته‪ ،‬قاع دة معطي ات يتم إدارتها‬ ‫من قب ل نظ ام إدارة قواع د المعطي ات كأي ة قاع دة‬ ‫معطي ات أخ رى‪ ،‬وه و مع ّر ض بالت الي إلى كاف ة‬ ‫األخط ار ال تي تتع رض له ا قواع د المعطي ات كفش ل‬ ‫الق رص الص لب أو مش اكل تتعل ق بالمس احة وامتالء‬ ‫سعة القرص‪.‬‬ ‫‪ ‬يقوم نظام إدارة قواعد المعطيات باستدعاء تعليمة‬ ‫‪Accounting & Financial Services‬‬ ‫جل أي على‬ ‫‪ ROLLBACK‬على بعض أج زاء الس‬ ‫‪20‬‬ ‫المناقالت‪ -‬سجل المناقالت ‪:‬‬ ‫خصائص‬ ‫السجل ‪:‬‬ ‫‪ ‬فيم ا يلي ع رض للس جل ال ذي يع بر عن المناقل ة‬ ‫ال تي تم فيه ا ش راء م ادتين من منتج معين وتع ديل‬ ‫لحساب الزبون‪.‬‬ ‫‪Accounting & Financial Services‬‬ ‫‪21‬‬ ‫المناقالت‪ -‬التحكم المتزامن ‪Concurrency‬‬ ‫‪: Control‬‬ ‫‪ ‬يع بر‬ ‫تعريفه‪ :‬التحكم الم تزامن ‪ Concurrency Control‬عن‬ ‫اإلدارة واإلش راف على التنفي ذ الم تزامن للمن اقالت‬ ‫في نظام إدارة قواعد معطيات متعدد المستخدمين‬ ‫‪.‬‬ ‫‪ ‬يعت بر التحكم الم تزامن مهم ًا ج دًا وخاص ة في بيئ ة‬ ‫قاعدة معطيات تشاركية بين عّدة مستخدمين وذلك‬ ‫لضمان تكامل واّتساق المعطيات‪.‬‬ ‫‪ ‬هن اك ثالث ة أن واع رئيس ية من المش اكل ال تي يمكن‬ ‫أن تحدث نتيجًة للتنفيذ المتزامن للمناقالت وهي‪:‬‬ ‫مش كلة التع ديالت الض ائعة ومش كلة التع ديالت غ ير‬ ‫المؤّكدة و مشكلة االسترجاعات غير‬ ‫‪Accounting & Financial Services‬‬ ‫المتسقة‪.‬‬ ‫المناقالت ‪ -‬التحكم المتزامن‪-‬‬ ‫‪22‬‬ ‫مشاكله ‪:‬‬ ‫‪.1‬مشكلة التعديالت‬ ‫الضائعة‪:‬‬ ‫‪ ‬تحص ل عن دما تق وم مناقلت ان ب إجراء مجموع ة من‬ ‫التع ديالت على نفس الحق ل في قاع دة المعطي ات‬ ‫بشكل متزامن‪.‬‬ ‫مثا‬ ‫ل‪:‬‬ ‫لنفترض وجود المناقلتين التاليتين‪:‬‬ ‫‪ T1 ‬تقوم بشراء ‪ 100‬وحدة من منتج معين‪.‬‬ ‫‪ T2 ‬تقوم ببيع ‪ 30‬وحدة من نفس المنتج‪.‬‬ ‫وأن ج دول المنتج يحت وي على ‪ 35‬وح دة من ذل ك‬ ‫المنتج حاليًا‪.‬‬ ‫للمناقلتين‪:‬‬ ‫يوضح الشكل التالي التنفيذ المتسلسل‬ ‫‪Accounting & Financial Services‬‬ ‫المناقالت ‪ -‬التحكم المتزامن –‬ ‫‪23‬‬ ‫مشكلة التعديالت الضائعة‪:‬‬ ‫ولكن لنف ترض أن التنفي ذ‬ ‫الس ابق للمن اقلتين ق د تم‬ ‫كما يلي‪:‬‬ ‫كأن‬ ‫المناقلة‬ ‫‪ T1‬لم‬ ‫تقم‬ ‫بأي‬ ‫تعديل‬ ‫نالحظ أنه في الخطوة رقم ‪ /5/‬من الجدول السابق‬ ‫قد حصلت مشكلة تتعلق بالتزامن بين المناقلتين ‪T1‬‬ ‫‪Accounting‬‬ ‫‪& Financial‬‬ ‫التعديالت‪.‬‬ ‫‪Services‬في‬ ‫و ‪ T2‬وكانت النتيجة ضياع‬ ‫‪24‬‬ ‫المناقالت ‪ -‬التحكم المتزامن ‪:‬‬ ‫‪.2‬مشكلة المعطيات غير‬ ‫غ ير المؤّك دة عن دما ُتنَف ذ‬ ‫المؤكدة‪ :‬ظ اهرة التع ديالت‬ ‫تحص ل‬ ‫مناقلت ان بش كل م تزامن بحيث تق وم األولى ب التراجع‬ ‫عن التنفي ذ بع د أن تق وم الثاني ة بق راءة المعطي ات‬ ‫المكتوبة من قبل األولى‪ ،‬مما يهدد خاصية العزل التي‬ ‫يجب أن تتحقق في المناقالت‪.‬‬ ‫مثا‬ ‫ل‪:‬‬ ‫سنطبق نفس المث ال الس ابق لنش رح من خالل ه كي ف‬ ‫يمكن أن تقع هذه المشكلة‪:‬‬ ‫‪Accounting & Financial Services‬‬ ‫المناقالت ‪ -‬التحكم المتزامن –‬ ‫‪25‬‬ ‫مشكلة المعطيات غير المؤكدة‪:‬‬ ‫ولكن لنف ترض أن التنفي ذ‬ ‫الس ابق للمن اقلتين ق د تم‬ ‫كما يلي‪:‬‬ ‫كأن‬ ‫المناقلة‬ ‫‪T1‬‬ ‫أكدت‬ ‫تعديالته‬ ‫ا‬ ‫الح ظ أن ه في الخط وة رقم ‪ /4/‬من الج دول الس ابق‬ ‫قد حصلت مشكلة تتعلق بالتزامن بين المناقلتين ‪T1‬‬ ‫مؤّكدة‪.‬‬ ‫‪Accounting‬‬ ‫‪& Financial Services‬‬ ‫معطيات غير‬ ‫و ‪ T2‬وكانت النتيجة قراءة‬ ‫‪26‬‬ ‫المناقالت ‪ -‬التحكم المتزامن ‪:‬‬ ‫‪.3‬مشكلة االسترجاعات‬ ‫مناقل ة م ا بق راءة مجموع ة‬ ‫المتسقة‪:‬دما تق وم‬ ‫تحص ل عن‬ ‫غير‬ ‫معطي ات أثن اء قي ام من اقالت أخ رى بتح ديث تل ك‬ ‫المعطيات‪ ،‬وبالتالي فإن القراءة يمكن أن تحصل قبل‬ ‫مثابعد التغيير‪.‬‬ ‫أو‬ ‫لنف ترض أن المناقل ة ‪ T1‬تق وم‬ ‫ل‪:‬‬ ‫بحس اب مجم وع كمي ات كاف ة‬ ‫المنتج ات الموج ودة في الج دول‬ ‫وم المناقلة ‪T2‬‬ ‫ا تق‬ ‫"منتج"‪ ،‬بينم‬ ‫بنفس ال وقت بتح ديث كمي ة منتجين‬ ‫محددين من ذلك الجدول‪.‬‬ ‫لنفترض اآلن وجود القيم التالية في‬ ‫‪Accounting & Financial Services‬‬ ‫المناقالت ‪ -‬التحكم المتزامن –‬ ‫‪27‬‬ ‫مشكلة االسترجاعات غير المتسقة‪:‬‬ ‫نالح ظ من الج دول أن المجم وع قب ل التع ديل‬ ‫يس اوي ‪ ،92‬ولكن يوج د مناقلت ان تح ّدثان في‬ ‫المعطي ات بحيث تض يف إح داهما ‪ 10‬وح دات إلى‬ ‫المنتج ‪ 46‬وتنقص األخ رى ‪ 10‬وح دات أيض ًا من‬ ‫المنتج ‪ ،58‬فبالت الي ينبغي أن يك ون المجم وع‬ ‫مساويًا للقيمة ‪ 92‬أيضًا‪.‬‬ ‫‪ -‬لنفرض السيناريو التالي‪:‬‬ ‫‪Accounting & Financial Services‬‬ ‫نالح ظ في الخط وة رقم ‪/7/‬‬ ‫المناقالت ‪ -‬التحكم المتزامن –‬ ‫‪28‬‬ ‫من الج دول الس ابق أن‬ ‫مشكلة االسترجاعات غير المتسقة‪:‬‬ ‫المناقل ة ‪ T1‬ال تي تق وم‬ ‫بتط بيق الت ابع التجميعي ق د‬ ‫ق رأت قيم ة كمي ة المنتج ‪58‬‬ ‫قبل التحديث‪ ،‬ثم من الخطوة‬ ‫وة رقم‬ ‫رقم ‪ /8/‬إلى الخط‬ ‫‪ /11/‬تتم عملي ة تح ديث قيم ة‬ ‫المنتج ‪ 58‬من قب ل المناقل ة‬ ‫‪ T2‬وتخ زين القيم ة الجدي دة‪،‬‬ ‫مم ا ي ؤدي إلى حال ة ع دم‬ ‫اّتس اق في قاع دة المعطي ات‪،‬‬ ‫ألن نتيج ة تنفي ذ المناقل ة ‪– T1‬‬ ‫‪Accounting & Financial Services‬‬ ‫ابع‬ ‫ذ الت‬ ‫ة تنفي‬ ‫أي نتيج‬ ‫المناقالت‪ -‬التحكم المتزامن‪ -‬المجدول ‪29: Schedule‬‬ ‫المجدول ؟التض ارب بين المن اقالت بوض وح عن دما تق وم‬ ‫‪ ‬تظه‬ ‫ماهور مش كلة‬ ‫عّدة مناقالت باستخدام نفس المعطيات‪ ،‬عندئٍذ ينبغي حل تلك‬ ‫المش كلة من خالل تحدي د ت رتيب معين يس مح لك ل المن اقالت‬ ‫باستخدام المعطيات بشكل سليم‪.‬‬ ‫‪ ‬يدعى الترتيب المنطقي الذي يتم‬ ‫‪ ‬يوض ح الش كل الت الي كي ف يمكن أن يح دث التض ارب في‬ ‫في ه تنفي ذ تعليم ات المن اقالت‬ ‫المعطيات فيما بين المناقالت‪:‬‬ ‫المتزامن ة بالمج‪GG‬دول (ال ترتيب‬ ‫الزمني للتنفيذ)‪ ،‬ويجب أن يحتوي‬ ‫على جمي ع التعليم ات الموج ودة‬ ‫اقالت‪ ،‬وبنفس‬ ‫ع المن‬ ‫في جمي‬ ‫ال ترتيب ال ذي تظه ر في ه ه ذه‬ ‫‪Accounting & Financial Services‬‬ ‫المناقالت‪ -‬التحكم المتزامن‪ -‬المجدول ‪30: Schedule‬‬ ‫لتكن ل دينا المناقل ة ‪ T1‬وال تي‬ ‫‪‬‬ ‫مثا‬ ‫ل‪ :‬وم بتحوي ل ‪ $50‬من الحس اب‬ ‫تق‬ ‫‪ A‬إلى الحساب ‪.B‬‬ ‫‪ ‬المناقل ة ‪ T2‬تق وم بتحوي ل ‪%10‬‬ ‫اب ‪ A‬إلى‬ ‫يد الحس‬ ‫من رص‬ ‫الحساب ‪.B‬‬ ‫الي‬ ‫دول الت‬ ‫مي المج‬ ‫‪ ‬نس‬ ‫بالتسلسلي‬ ‫‪.serial‬‬ ‫الي فه و ليس‬ ‫‪schedule‬‬ ‫دول الت‬ ‫‪ ‬أم ا المج‬ ‫تسلس ليًا ولكن ه يك افئ الس ابق‪،‬‬ ‫‪.A+B‬‬ ‫‪Accounting & Financial Services‬‬ ‫حيث يحافظ االثنان على‬ ‫المناقالت‪ -‬التحكم المتزامن‪ -‬المجدول ‪31: Schedule‬‬ ‫مثا‬ ‫ل‪:‬‬ ‫ظ‬ ‫يحاف‬ ‫فال‬ ‫الي‬ ‫الت‬ ‫دول‬ ‫المج‬ ‫ا‬ ‫أم‬‫‪‬‬‫‪‬‬ ‫يع‪GG‬الج نظ‪GG‬ام إدارة قواع‪GG‬د‬ ‫المش‪G‬كلة من‬ ‫‪A+B‬‬‫المجموعتل‪G‬ك‬ ‫على‬ ‫المعطي‪G‬ات‬ ‫خالل برن‪GG‬امج خ‪GG‬اص يق‪GG‬وم‬ ‫ب‪GGGGG‬إدارة ت‪GGGGG‬رتيب تنفي‪GGGGG‬ذ‬ ‫المن‪GG‬اقالت المتزامن‪GG‬ة بحيث‬ ‫يض‪GGG‬من تحق‪GGG‬ق تسلس‪GGG‬ل‬ ‫وع‪GG‬زل المن‪GG‬اقالت وبالت‪GG‬الي‬ ‫تج‪GGG‬انس قاع‪GGG‬دة البيان‪GGG‬ات‬ ‫وذل‪GGGGGG‬ك باالعتم‪GGGGGG‬اد على‬ ‫خاص‪G‬ة‪Accounting & Financial‬‬ ‫وطرائ‪G‬ق ‪Services‬‬ ‫خوارزمي‪G‬ات‬ ‫المناقالت‪ -‬التحكم المتزامن‪ -‬خوارزمية اإلقفال‪32‬‬ ‫‪:Locks‬‬ ‫‪ ‬يض من‬ ‫خوارزمية القف ل االس تخدام الحص ري للمعطي ات من‬ ‫اإلقفال‪:‬‬ ‫قبل مناقلة معينة‪.‬‬ ‫‪ ‬يمكن أن تق وم مناقل ة م ا بقف ل معطي ات معين ة‬ ‫بحيث تمن ع من اقالت أخ رى من الحص ول على تل ك‬ ‫المعطي ات إلى أن يتم تحري ر القف ل من قب ل‬ ‫المناقلة التي وضعته‪.‬‬ ‫‪ ‬تتم إدارة األقف ال من خالل برن امج خ اص يت وّلى‬ ‫منح القفل أو استرداده من المناقالت‪.‬‬ ‫مستويات‪ :‬قاعدة‬ ‫ة‬ ‫ّد‬ ‫ع‬ ‫على‬ ‫اإلقفال‬ ‫‪Accounting & Financial Services‬‬ ‫يتم‬ ‫أن‬ ‫ويمكن‬ ‫‪‬‬ ‫‪33‬‬ ‫المناقالت‪ -‬التحكم المتزامن‪ -‬خوارزمية اإلقفال‪:‬‬ ‫مستوىتوى قف ل قاع دة المعطي ات كك ل‬ ‫على المس‬ ‫القفل ه ذا‬ ‫يتم في‬ ‫‪.1‬‬ ‫قاعدة المعطيات‪:‬‬ ‫داولها ومنحه ا لمناقل ة معين ة في حين‬ ‫م ع كاف ة ج‬ ‫تمن ع كاف ة المن اقالت األخ رى من الول وج إلى قاع دة‬ ‫المعطيات ريثما يتم تحرير القفل‪.‬‬ ‫‪ ‬يمكن هن ا أن نس تنتج ع دم فعالي ة ه ذا الن وع من‬ ‫مس تويات القف ل في نظم إدارة قواع د المعطي ات‬ ‫متع ددة المس تخدمين وخاص ة إذا م ا أخ ذنا بعين‬ ‫االعتب ار البطء الش ديد ال ذي يمكن أن ينتج كلم ا‬ ‫ازدادت المناقالت‪.‬‬ ‫القف ل على‬ ‫راء‬ ‫إج‬ ‫يتم‬ ‫ف‬ ‫كي‬ ‫الي‬ ‫الت‬ ‫كل‬ ‫الش‬ ‫ح‬ ‫يوض‬ ‫‪‬‬ ‫‪Accounting & Financial Services‬‬ ‫‪34‬‬ ‫المناقالت‪ -‬التحكم المتزامن‪ -‬خوارزمية اإلقفال‪:‬‬ ‫‪.1‬القفل على مستوى‬ ‫قاعدة المعطيات‪:‬‬ ‫‪Accounting & Financial Services‬‬ ‫‪35‬‬ ‫المناقالت‪ -‬التحكم المتزامن‪ -‬خوارزمية اإلقفال‪:‬‬ ‫‪.2‬القفل على مستوى‬ ‫الجدول‪:‬‬ ‫‪ ‬يتم في ه ذا المس توى قف ل ج دول بالكام ل بحيث‬ ‫ُتمنع مناقلة ما من دخول ذلك الجدول إذا ما كانت‬ ‫هناك مناقلة أخرى تستخدم معطيات منه‪.‬‬ ‫‪ ‬تبقى نفس المش كلة الموج ودة في المس توى‬ ‫السابق‪ ،‬أي فيما إذا كان هناك العديد من المناقالت‬ ‫التي تحاول ولوج نفس الجدول في آن واحد‪.‬‬ ‫‪ ‬يوض ح الش كل الت الي كي ف يتم إج راء القف ل على‬ ‫مستوى الجدول‪:‬‬ ‫‪Accounting & Financial Services‬‬ ‫‪36‬‬ ‫المناقالت‪ -‬التحكم المتزامن‪ -‬خوارزمية اإلقفال‪:‬‬ ‫‪.2‬القفل على مستوى‬ ‫الجدول‪:‬‬ ‫‪Accounting & Financial Services‬‬ ‫‪37‬‬ ‫اإلقفال‪:‬‬ ‫خوارزمية‬ ‫يتم في ه ذا‬ ‫المتزامن‪ -‬القرص‪.‬‬ ‫التحكم‬ ‫فحة‪ ،‬الكتل ة من‬ ‫المناقالت‪-‬‬ ‫بالص‬ ‫‪ ‬يقص د‬ ‫‪.3‬القفل على مستوى‬ ‫الصفحة‪:‬توى قف ل الص فحة بالكام ل عن دما يتم طلبه ا‬ ‫المس‬ ‫من مناقلة قفل معينة‪.‬‬ ‫‪ ‬يعتبر هذا النوع من األقفال مناسبًا لبيئة نظم إدارة‬ ‫قواعد المعطيات متعددة المستخدمين‪ ،‬ولكن تتمثل‬ ‫س يئاته ب أن الص فحة يمكن أن تحت وي على العدي د‬ ‫من األس طر وبالت الي ف إن قف ل ك ل الص فحة يمكن‬ ‫أن ي ؤدي إلى حرم ان من اقالت أخ رى من أس طر‬ ‫معين ة ال يتم اس تخدامها من قب ل المناقل ة ال تي‬ ‫طلبت القفل‪.‬‬ ‫‪ ‬يوض ح الش كل الت الي كي ف يتم إج راء‬ ‫‪Accounting & Financial Services‬‬ ‫القف ل على‬ ‫‪38‬‬ ‫المناقالت‪ -‬التحكم المتزامن‪ -‬خوارزمية اإلقفال‪:‬‬ ‫‪.3‬القفل على مستوى‬ ‫الصفحة‪:‬‬ ‫‪Accounting & Financial Services‬‬ ‫‪39‬‬ ‫المناقالت‪ -‬التحكم المتزامن‪ -‬خوارزمية اإلقفال‪:‬‬ ‫‪.3‬القفل على مستوى‬ ‫وهو أسلوب أقل تقييدًا من المستويات السابقة في‬ ‫‪‬السطر‪:‬‬ ‫القفل‪ ،‬بحيث يسمح لع ّدة مناقالت بالولوج إلى ع ّدة‬ ‫أسطر مختلفة في جدول معين حتى ولو كانت تلك‬ ‫األسطر في نفس الصفحة‪.‬‬ ‫‪ ‬تبرز س يئات ه ذه الطريق ة من خالل العبء المتول د‬ ‫نتيجًة لكثرة المعالجة المفروضة على كل سطر من‬ ‫أسطر الجداول‪.‬‬ ‫‪ ‬يوض ح الش كل الت الي كي ف يتم إج راء القف ل على‬ ‫‪Accounting & Financial Services‬‬ ‫مستوى السطر‪:‬‬ ‫‪40‬‬ ‫المناقالت‪ -‬التحكم المتزامن‪ -‬خوارزمية اإلقفال‪:‬‬ ‫‪.3‬القفل على مستوى‬ ‫السطر‪:‬‬ ‫‪Accounting & Financial Services‬‬ ‫‪41‬‬ ‫المناقالت‪ -‬التحكم المتزامن‪ -‬خوارزمية اإلقفال‪:‬‬ ‫‪.3‬القفل على مستوى‬ ‫الحقل‪:‬‬ ‫‪ ‬وه و أك ثر أن واع مس تويات القف ل مالءم ة للبيئ ة‬ ‫متع ددة المس تخدمين ولكن ‪-‬على ال رغم من ذل ك‪-‬‬ ‫ن ادرًا م ا يتم اس تخدام ه ذه الطريق ة وذل ك للعبء‬ ‫الكبير جدًا المتولد على الحاسب نتيجًة لتطبيقها‪.‬‬ ‫‪Accounting & Financial Services‬‬ ‫المناقالت‪ -‬التحكم المتزامن‪ -‬األختام الزمنية‬ ‫المناقل ة‪42‬‬ ‫مفه وم الختم ب الزمن على رب ط ك ل‬ ‫‪ ‬يعتم د‬ ‫‪: Timestamp‬‬ ‫األختام‬ ‫وحي د خ اص به ا‪- ،‬أو بأس لوب آخ ر‪ -‬بختمه ا‬ ‫الزمنية‪:‬ف‬ ‫بمع ّر‬ ‫زمنيًا‪.‬‬ ‫‪ ‬تتم يز أخت ام ال زمن بخاص تين أساس يتين هم ا‬ ‫الوحداني‪G‬ة‪ ،‬أي ع دم التك رار‪ ،‬والتزايدي‪G‬ة‪ ،‬أي أن‬ ‫قيم ة ختم ال زمن ت زداد باس تمرار‪.‬وتمل ك العملي ات‬ ‫ال تي تنتمي إلى نفس المناقل ة نفس الختم الزم ني‪،‬‬ ‫ف إذا م ا تض اربت مناقلت ان م ع بعض هما‪ ،‬يق وم نظ ام‬ ‫إدارة قواع د المعطي ات باختي ار الض حية لي تراجع عن‬ ‫‪Accounting‬إليه ا ختم ًا‬ ‫‪& Financial Services‬‬ ‫كاف ة التغ يرات ال تي ق امت به ا ثم يس ند‬ ‫‪43‬‬ ‫المناقالت‪ -‬التحكم المتزامن‪ -‬األختام الزمنية‬ ‫‪: Timestamp‬‬ ‫االختام‬ ‫الزمنية‪:‬‬ ‫‪ ‬تتجلى مس اوئ طرائ ق األخت ام الزمني ة في التحكم‬ ‫بالتنفيذ المتزامن للمناقالت بأمرين أساسيين هما‪:‬‬ ‫‪.1‬العبء المتولد عنها‪.‬‬ ‫‪.2‬وال ذاكرة اإلض افية ال تي تحتاجه ا‪ ،‬ذل ك ألن‬ ‫ك ل حق ل في قاع دة المعطي ات س يتطلب‬ ‫حقلي أخت ام زمني ة إض افيين أح دهما لتخ زين‬ ‫آخ ر زمن ق راءة واآلخ ر لتخ زين آخ ر زمن‬ ‫‪Accounting & Financial Services‬‬ ‫تعديل‪.‬‬ ‫‪44‬‬ ‫المناقالت‪ -‬نظام التعافي ‪:Recovery System‬‬ ‫‪‬تعريف‬ ‫وهو النظام القادر على إعادة قاعدة البيانات إلى آخر‬ ‫ه‪:‬‬ ‫حالة متسقة لها قبل حصول الخطأ فيها‪.‬‬ ‫‪ ‬يس تطيع نظ ام التع افي تحقي ق ذل ك باس تخدام نس خ‬ ‫احتياطي ة الس ترداد المعطي ات في الح االت ال تي يمكن‬ ‫أن تحص ل فيه ا مش اكل أو أخط اء‪.‬و يمكن تص نيف‬ ‫األخطاء إلى‪:‬‬ ‫‪.1‬أخطاء برمجية ‪software :‬أنظمة التشغيل‪ ،‬أنظمة‬ ‫قواعد البيانات‪...،‬‬ ‫‪.2‬أخط اء عتادي ة ‪ :hardware‬أخط اء متول دة عن‬ ‫ال ذاكرة أو فش ل في الق رص الص لب أو بعض‬ ‫‪Accounting & Financial Services‬‬ ‫قطاعاته‪....‬‬ ‫‪45‬‬ ‫المناقالت‪ -‬نظام التعافي ‪:Recovery System‬‬ ‫تعريف‬ ‫ه‪:‬‬ ‫‪.3‬األخط اء واالس تثناءات الناتج ة عن التطبيق ات‬ ‫‪ :Programming Exemption‬كاألخط اء الناتج ة‬ ‫عن سوء االستخدام(التقسيم على الصفر)‬ ‫‪.4‬أخط اء ناجم ة عن المن اقالت ‪ :Transaction‬كح االت‬ ‫االقف ال المتب ادل‪ ،‬أو ش روط اس تثنائية مكتش فة من‬ ‫قبل المناقلة‪.‬‬ ‫‪.5‬أخط اء خارجي ة ‪:External‬كالفيض انات و الحرائ ق‬ ‫والسرقات‪....‬‬ ‫‪Accounting & Financial Services‬‬ ‫‪46‬‬ ‫المناقالت‪ -‬نظام التعافي ‪:Recovery System‬‬ ‫مستويات النسخ‬ ‫‪‬االحتياطي‪:‬‬ ‫يمكن أن يتم نس خ المعطي ات على ع ّدة مس تويات‬ ‫وهي‪:‬‬ ‫‪.1‬نسخ كامل لقاعدة المعطيات ككل‪.‬‬ ‫‪.2‬نس خ التغ يرات فق ط‪ ،‬أي يتم تحديث آخ ر نس خة‬ ‫احتياطية بالمعطيات الجديدة المتغيرة‪.‬‬ ‫‪.3‬حفظ سجل المناقالت‪.‬‬ ‫‪ ‬ينبغي االحتف اظ بالنس خ االحتياطي ة في مك ان آمن‪،‬‬ ‫غالب ًا في مب نى آخ ر‪ ،‬كم ا ينبغي تأمينه ا من األخط ار‬ ‫المختلف ة ك الحرائق أو الس رقات أو الفيض انات‪...‬‬ ‫‪Accounting & Financial Services‬‬ ‫الخ‪.‬‬ 47 :‫مثال‬ BEGIN TRANSACTION myTran Insert Into Graduated (ID, Name) Values (20, ‘Khaled') IF @@ERROR 0 ROLLBACK TRANSACTION myTran Update Students SET Status = 'Graduated' where ID = 20; COMMIT TRANSACTION myTran Accounting & Financial Services

Use Quizgecko on...
Browser
Browser