Professional Documents
Culture Documents
com -
1
2
الفصل 21
مقدمة لمفاهيم ونظرية معالجة
المعامالت
3
الفصل 21الخطوط العريضة
1مقدمة لمعالجة المعامالت
2مفاهيم المعامالت والنظام
3الخصائص المرغوبة للمعامالت
4توصيف الجداول على أساس إمكانية االسترداد
5توصيف الجداول على أساس إمكانية التسلسل
4
مقدمة لمعالجة المعامالت
• عملية:برنامج (عملية) تنفيذية تتضمن واحدة أو أكثر من عمليات الوصول
إلى قاعدة البيانات
– عمليات القراءة (استرجاع قاعدة البيانات ،مثل )SQL SELECT
– عمليات الكتابة (تعديل قاعدة البيانات ،مثل SQL INSERT، UPDATE،
)DELETE
– المعاملة :وحدة منطقية لمعالجة قاعدة البيانات
– مثال :تحويل رصيد بنكي بقيمة 100دوالر من حساب جاري إلى حساب توفير في
قاعدة بيانات البنك
ملحوظة:كل تنفيذ لبرنامج هومعاملة متميزةمع معلمات مختلفة •
– معلمات برنامج التحويل البنكي :رقم حساب التوفير ،رقم الحساب الجاري،
مبلغ التحويل
5
مقدمة لمعالجة المعامالت (تابع)
• المعاملة (مجموعة العمليات)ربما:
– قائمة بذاتها ،محددة بلغة عالية المستوى مثل SQLالمقدمة بشكل
تفاعلي ،أو
– تتكون من عمليات قاعدة البيانات المضمنة داخل البرنامج (معظم
المعامالت)
• حدود المعامالت:بدء وإنهاء المعاملة.
– ملحوظة :انتطبيق برنامجقد تحتوي على عدة معامالت مفصولة بحدود بدء
المعاملة وإنهائها
6
أنظمة المستخدم الواحد مقابل األنظمة متعددة المستخدمين
أحد معايير تصنيف نظام قاعدة البيانات هو وفًقا لعدد المستخدمين الذين يمكنهم استخدام
النظام بشكل متزامن.
نظام إدارة قواعد البيانات هومستخدم واحدإذا كان بإمكان مستخدم واحد على األكثر في
كل مرة استخدام النظام ،وهو كذلكمتعدد المستخدمينإذا كان بإمكان العديد من
المستخدمين استخدام النظام ،وبالتالي الوصول إلى قاعدة البيانات ،بشكل متزامن.
سمستخدم واحدتقتصر أنظمة إدارة قواعد البيانات في الغالب على أنظمة الكمبيوتر
الشخصية؛
معظم أنظمة إدارة قواعد البيانات األخرى هيمتعدد المستخدمين .على سبيل المثال ،يتم
استخدام نظام حجوزات الطيران من قبل مئات المستخدمين ووكالء السفر في وقت
واحد .أنظمة قواعد البيانات المستخدمة في البنوك ووكاالت التأمين وأسواق
األوراق المالية ومحالت السوبر ماركت والعديد من التطبيقات األخرى هي أنظمة
متعددة المستخدمين
7
أنظمة متعددة المستخدمين
في هذه األنظمة ،عادًة ما يعمل مئات أو آالف المستخدمين على قاعدة البيانات عن طريق
إرسال المعامالت بشكل متزامن إلى النظام.
في هذه األنظمة ،عادًة ما يعمل مئات أو آالف المستخدمين على قاعدة البيانات عن
طريق إرسال المعامالت بشكل متزامن إلى النظام.
يمكن لعدة مستخدمين الوصول إلى قواعد البيانات -واستخدام أنظمة الكمبيوتر -في
وقت واحد بسبب مفهومبرمجة متعددة ،والذي يسمح لنظام التشغيل
الكمبيوتر لتنفيذ برامج متعددة — أوالعملياتفي نفس الوقت
8
مقدمة لمعالجة المعامالت (تابع)
• أنظمة تسيير التحويالت:أنظمة قواعد بيانات كبيرة متعددة
المستخدمين تدعم اآلالف منالمعامالت المتزامنة(عمليات
المستخدم) في الدقيقة
• وضعين للتزامن
– مدخليعالج :يتم تشذير التنفيذ المتزامن للعمليات في وحدة المعالجة
المركزية ( )CPUواحدة
– المعالجة المتوازية :يتم تنفيذ العمليات بشكل متزامن في وحدات
المعالجة المركزية المتعددة (الشكل )21.1
– تفترض نظرية معالجة المعامالت األساسية التزامن المشذر
9
10
مقدمة لمعالجة المعامالت (تابع)
ألغراض معالجة المعامالت ،يتم استخدام نموذج قاعدة بيانات بسيط:
• قاعدة البيانات -جمع عناصر البيانات المسماة
• دقة (حجم) عنصر البيانات -حقل (قيمة عنصر البيانات) ،سجل ،أو كتلة
قرص كاملة
– TPالمفاهيم مستقلة عن التفاصيل
• العمليات األساسية على العنصر :X
قراءة_العنصر( :)Xيقرأ عنصر قاعدة البيانات المسمى Xفي –
متغير البرنامج .لتبسيط تدويننا ،نفترض ذلكُيسمى متغير البرنامج
أيًض ا .X
) :write_item(Xيكتب قيمة متغير البرنامج Xفي عنصر –
قاعدة البيانات المسمى .X
11
مقدمة لمعالجة المعامالت (تابع)
12
مقدمة لمعالجة المعامالت (تابع)
13
خالصة
عملية. •
حدود المعامالت •
وضعان للتزامن: •
المعالجة المتداخلة •
المعالجة المتوازية •
عمليات: •
)read_item(X •
)write_item(X •
14
لماذا نحتاج إلى التحكم في التزامن
15
16
لماذا نحتاج إلى التحكم في التزامن (تابع)
17
18
لماذا نحتاج إلى التحكم في التزامن (تابع)
19
لماذا هناك حاجة إلى االنتعاش
20
لماذا هناك حاجة إلى االنتعاش (تابع)
21
لماذا هناك حاجة إلى االنتعاش (تابع)
.5فشل القرص:قد تفقد بعض كتل األقراص بياناتها بسبب خلل في القراءة أو الكتابة
أو بسبب تعطل رأس القراءة/الكتابة على القرص .هذا النوع من الفشل والبند
6أكثر خطورة من البنود من 1إلى .4
.6المشاكل والكوارث المادية(كارثة ):ويشير هذا إلى قائمة ال حصر لها من
المشاكل التي تشمل فشل الطاقة أو تكييف الهواء ،والحرائق ،والسرقة،
والتخريب ،والكتابة فوق األقراص أو األشرطة عن طريق الخطأ ،وتركيب
شريط خاطئ من قبل المشغل.
22
مفاهيم المعامالت والنظام
أعمليةهي وحدة عمل ذرية إما أن تكون مكتملة بالكامل أو ال يتم إنجازها على
اإلطالق .تمر المعاملة عبر عدة حاالت (الشكل ،21.4مشابه لحاالت العملية
في أنظمة التشغيل).
حاالت المعامالت:
• الحالة النشطة (تنفيذ عمليات القراءة والكتابة)
• حالة االلتزام جزئًيا (منتهية ولكن في انتظار فحوصات النظام لتحديد النجاح
أو الفشل)
• حالة االلتزام (نجحت المعاملة)
• الحالة الفاشلة (فشلت المعاملة ،يجب التراجع عنها)
• حالة اإلنهاء (نظام إجازات المعاملة)
23
24
مفاهيم المعامالت والنظام (تابع)
يحتاج DBMS Recovery Managerإلى النظام لتتبع العمليات التالية (في
النظامملف تسجيل):
• بداية_المعاملة:بداية تنفيذ الصفقة.
• القراءة أو الكتابة:قراءة أو كتابة العمليات على عناصر قاعدة البيانات التي يتم
تنفيذها كجزء من المعاملة.
• نهاية_المعاملة:يحدد انتهاء عمليات معاملة القراءة والكتابة .قد ال يزال يتعين على
النظام التحقق مما إذا كان من الممكن إجراء التغييرات (الكتابات) التي أدخلتها
المعاملةيتم تطبيقها بشكل دائم على قاعدة البيانات(يقترفعملية)؛ أو ما إذا كانت
الصفقة يجب أن تكونتراجع(إحباطالمعاملة) ألنها تنتهك التحكم في التزامن أو
لسبب آخر.
25
مفاهيم المعامالت والنظام (تابع)
26
مفاهيم المعامالت والنظام (تابع)
27
مفاهيم المعامالت والنظام (تابع)
28
مفاهيم المعامالت والنظام (تابع)
أنواع السجالت (اإلدخاالت) في ملف السجل:
• [ :]start_transaction,Tيسجل أن المعاملة Tقد بدأت في التنفيذ.
• [ :]write_item,T,X,old_value,new_valueقام Tبتغيير قيمة
العنصر Xمن القيمة القديمة إلى القيمة الجديدة.
• [ :]read_item,T,Xلقد قرأ Tقيمة العنصر ( Xغير مطلوب في كثير من
الحاالت).
• [ :]end_transaction,Tانتهى Tمن التنفيذ
• [التزم ،ت] :تاء أكملت بنجاح ،والتزمت.
• [إحباط :]T ،تم إحباط .T
29
مفاهيم المعامالت والنظام (تابع)
نقطة االلتزام في المعاملة:
تعريف:تصل المعاملة Tإلىنقطة االلتزامعندما يتم تنفيذ جميع عملياته التي تصل
إلى قاعدة البيانات بنجاحوتم تسجيل تأثير جميع عمليات المعامالت على قاعدة
البيانات في ملف السجل (على القرص) .ويقال بعد ذلك أن الصفقةملتزم.
30
الخصائص المرغوبة للمعامالت
تسمى خصائص - ACIDالذرية واالتساق والعزل والمتانة:
• الذرية :المعاملة هي وحدة ذرية للمعالجة؛ إما أن يتم تنفيذها بالكامل أو
ال يتم تنفيذها على اإلطالق.
31
الخصائص المرغوبة للمعامالت (تابع)
• المتانة أو الدوام :بمجرد تنفيذ المعاملة ،يجب أال يتم فقدان التغييرات (الكتابة)
المطبقة على قاعدة البيانات أبًد ا بسبب الفشل الالحق.
32
4توصيف الجداول على أساس إمكانية االسترداد
• جدول المعامالت أو التاريخ:عندما يتم تنفيذ المعامالتبشكل
متزامنفيمدخلموضة،يشكل ترتيب تنفيذ العمليات من المعامالت المختلفة ما
يعرف بجدول المعامالت (أو التاريخ).
• عمليتان في الجدول الزمنيصراعإذا استوفوا الشروط الثالثة التالية:
-1أنها تنتمي إلى معامالت مختلفة؛
-2يصلون إلى نفس العنصر ()X؛
-3واحدة على األقل من العمليات هي عملية كتابة.
33
على سبيل المثال ،جدول الشكل (17.3أ) و(ب):
ص :قراءة ،ث :كتابة ،أ :أجهض ،ج :ملتزم
34
5توصيف الجداول على أساس إمكانية التسلسل
35
توصيف الجداول على أساس إمكانية
التسلسل ()2
جداول المسلسل
36
توصيف الجداول على أساس إمكانية
التسلسل ()3
39
اختبار خوارزمية تسلسل الصراع
إنشاء رسم بياني لألسبقية (رسم بياني تسلسلي) -رسم بياني ذو حواف
موجهة.
لكل معاملة Tiتشارك في الجدول ،Sقم بإنشاء عقدة تحمل اسم Tiفي الرسم .1
البياني لألسبقية.
لكل حالة في Sحيثتي جيينفذ عنصر القراءة ( )Xبعد أن ينفذ Tiعنصر الكتابة .2
( ،)Xوينشئ حافةتيتي جي
لكل حالة في Sحيثتي جيينفذ أ) write_item(Xبعد أن ينفذ Ti .3
أ) ،read_item(Xقم بإنشاء حافة (→ Tiتي جي) في الرسم البياني لألسبقية.
لكل حالة في Sحيثتي جيينفذ عنصر كتابة ( )Xبعد أن ينفذ Tiعنصر كتابة أو .4
ي
قراءة ( ،)Xوينشئ حافةتيتي جي
الجدول يكون قابًال للتسلسل إذا وفقط إذا كان الرسم البياني لألسبقية ال يحتوي على .5
دورات.
40
مثال آخر على اختبار التسلسل( .ب) الجدول الزمنيه.
41
مثال آخر على اختبار التسلسل( .ج) الجدول الزمني.F
42
(د) الرسم البياني لألسبقية للجدول ( .Eهـ) الرسم البياني لألسبقية لـ
43
مثال:
ارسم الرسوم البيانية لقابلية التسلسل لـ S1و ،S2وحدد ما إذا كان كل جدول قابل للتسلسل أم ال .إذا كان
الجدول قابًال للتسلسل ،فاكتب الجدول التسلسلي المكافئ.
44
) ;S1:r1(Xص(2ض); ص(1ض); ص(1ض); ص ;)X(3ص(3ص); (w1(X); w3ص); ص(2ص);
(w2ض)؛ (w2ص);
45
:S1 ض
T1 T2
س ذ
T3
إنهاقابل للتسلسل
46
) ;S2:r1(Xص(2ض); ) ;w3(Xص(1ض); ص(2ص); ص(3ص); ) ;w1(Xج1؛ (w2ض)؛ (w3ص);
(w2ص); ج3؛ ج2
47
:S2
ض
T1 T2
س ذ
س ذ
T3
48
Chapter 22
Concurrency Control
Techniques
49
التحكم في تزامن قاعدة البيانات
1الغرض من التحكم في التزامن
فرض العزل (من خالل االستبعاد المتبادل) بين المعامالت المتضاربة.
للحفاظ على اتساق قاعدة البيانات من خالل االتساق مع الحفاظ على تنفيذ المعامالت.
مثال:
في بيئة التنفيذ المتزامن ،إذا تعارض T1مع T2بشأن عنصر البيانات ،Aفإن
التحكم في التزامن الحالي يقرر ما إذا كان يجب أن يحصل T1أو T2على Aوما
إذا تم التراجع عن المعاملة األخرى أو االنتظار.
50
التحكم في تزامن قاعدة البيانات
تقنيات القفل على مرحلتين
القفل هو عملية تؤمن
مثال:
إلغاء القفل هو عملية تؤدي إلى إزالة هذه األذونات من عنصر البيانات.
مثال:
51
التحكم في تزامن قاعدة البيانات
تقنيات القفل على مرحلتين :المكونات األساسية
وضعان للقفل:
يمكن ألكثر من معاملة تطبيق قفل المشاركة على Xلقراءة قيمته ولكن ال يمكن تطبيق
يمكن أن يوجد قفل كتابة واحد فقط على Xفي أي وقت وال يمكن تطبيق أي قفل مشترك
Read Write
Read
Y N
Write
N N
52
التحكم في تزامن قاعدة البيانات
تقنيات القفل على مرحلتين :المكونات األساسية
مدير القفل:
يستخدمه مدير القفل لتخزين تعريف المعاملة التي تقفل عنصر البيانات
وعنصر البيانات ووضع القفل والمؤشر إلى عنصر البيانات التالي المقفل.
إحدى الطرق البسيطة لتنفيذ جدول القفل هي من خالل القائمة المرتبطة.
يجب أال يقوم بقفل عناصر بيانات مقفلة بالفعل ويجب أال يحاول إلغاء قفل
54
التحكم في تزامن قاعدة البيانات
تقنيات القفل على مرحلتينE :مكونات أساسية
قفل تحويل
لدى Tiقفل كتابة (*( )Xال يمكن أن تحتوي أي معاملة على أي قفل على )*X
تحويل قفل الكتابة ( )Xإلى قفل القراءة ()X
55
التحكم في تزامن قاعدة البيانات
تقنيات القفل على مرحلتين :الخوارزمية
مرحلتين:
( أ) القفل (النمو)
( ب) فتح (تقلص).
مرحلة القفل (النمو):
تطبق المعاملة التأمين (القراءة أو الكتابة) على عناصر البيانات المطلوبة واحًد ا تلو اآلخر.
مرحلة االنفتاح (التقليص):
تقوم المعاملة بفتح عناصر البيانات المقفلة الخاصة بها واحًد ا تلو اآلخر.
متطلبات:
بالنسبة للمعاملة ،يجب أن تكون هاتان المرحلتان حصريتين ،أي أنه أثناء مرحلة القفل ،يجب
أال تبدأ مرحلة إلغاء القفل ،ويجب أال تبدأ مرحلة القفل أثناء مرحلة إلغاء القفل.
56
التحكم في تزامن قاعدة البيانات
تقنيات القفل على مرحلتين :الخوارزمية
T1 T2نتيجة
)read_lock (Y؛ )read_lock (X؛ القيم األوليةX=20 :؛ ص = 30
)read_item (Y؛ )read_item (X؛ نتيجة التنفيذ التسلسلي
فتح (ص) ؛ فتح ()X؛ T1تليها T2
)write_lock (X); Write_lock (Y؛ س = ،50ص = .80
)read_item (X؛ )read_item (Y؛ نتيجة التنفيذ التسلسلي
س=:س+ص؛ ص=:س+ص؛ T2تليها T1
) ;write_item (X); write_item (Yس = ،70ص = 50
فتح ()X؛ فتح (ص) ؛
57
التحكم في تزامن قاعدة البيانات
تقنيات القفل على مرحلتين :الخوارزمية
T1 T2نتيجة
)read_lock (Y؛ س = 50؛ ص = 50
)read_item (Y؛ غير قابل للتسلسل ألنه.
فتح (ص) ؛انتهكت سياسة المرحلتين.
)read_lock (X؛
)read_item (X؛
فتح ()X؛
وقت );write_lock (Y
)read_item (Y؛
ص=:س+ص؛
);write_item (Y
فتح (ص) ؛
);write_lock (X
)read_item (X؛
س=:س+ص؛
);write_item (X
فتح ()X؛
58
التحكم في تزامن قاعدة البيانات
تقنيات القفل على مرحلتين :الخوارزمية
T'1 T'2
)read_lock (Y؛ )read_lock (X؛ يتبع T1و T2مرحلتين
)read_item (Y؛ )read_item (X؛ السياسة ولكنهم يخضعون لها
)write_lock (X); Write_lock (Y؛ الجمود ،الذي يجب أن يكون
فتح (ص) ؛ فتح ()X؛ تعاملت معة.
)read_item (X؛ )read_item (Y؛
س=:س+ص؛ ص=:س+ص؛
);write_item (X); write_item (Y
فتح ()X؛ فتح (ص) ؛
59
التحكم في تزامن قاعدة البيانات
تقنيات القفل على مرحلتين :الخوارزمية
تولد سياسة المرحلتين خوارزميتين للقفل
( أ)أساسي
( ب)محافظ
محافظ:
يمنع حالة الجمود عن طريق قفل كافة عناصر البيانات المطلوبة قبل بدء تنفيذ المعاملة.
أساسي:
تقوم المعاملة بتأمين عناصر البيانات بشكل متزايد .قد يتسبب هذا في حالة من الجمود الذي يتم
التعامل معه.
حازم:
إصدار أكثر صرامة من الخوارزمية األساسية حيث يتم إجراء إلغاء القفل بعد إنهاء المعاملة
(االلتزامات أو اإلجهاض والتراجع) .هذه هي خوارزمية القفل ثنائية الطور األكثر استخداًما.
60
طريق مسدود
طريق مسدوديحدث عندما تنتظر كل معاملة Tفي مجموعة من معاملتين أو
أكثر بعض العناصر المقفلة بواسطة معاملة أخرى ′ Tفي المجموعة .ومن
ثم ،فإن كل معاملة في المجموعة تكون في قائمة انتظار ،في انتظار إحدى
المعامالت األخرى في المجموعة لتحرير القفل على عنصر ما,على سبيل
المثال
61
التحكم في تزامن قاعدة البيانات
التعامل مع الجمود والجوع
الوقاية من الطريق المسدود
تقوم المعاملة بتأمين كافة عناصر البيانات التي تشير إليها قبل أن تبدأ في
التنفيذ.
تمنع طريقة القفل هذه حالة توقف تام نظًر ا ألن المعاملة ال تنتظر أبًد ا
عنصر بيانات.
يستخدم القفل المحافظ على مرحلتين هذا األسلوب.
62
التحكم في تزامن قاعدة البيانات
التعامل مع الجمود والجوع
كشف حالة الجمود وحلها
في هذا النهجُ ،يسمح بحدوث حاالت توقف تام.يحتفظ المجدول بانتظار الرسم البياني
الكتشاف الدورة .في حالة وجود دورة ،يتم تحديد معاملة واحدة متضمنة في الدورة
(الضحية) ويتم التراجع عنها.
يتم إنشاء رسم بياني لالنتظار باستخدام جدول القفل .بمجرد حظر المعاملة ،تتم
إضافتها إلى الرسم البياني .عندما تحدث سلسلة مثل Ti :ينتظر Tjينتظر Tkينتظر
Tiأو ،Tjفإن هذا يخلق دورة.
63
التحكم في تزامن قاعدة البيانات
التعامل مع الجمود والجوع
تجنب الجمود
هناك العديد من االختالفات في خوارزمية القفل على مرحلتين.
يتجنب البعض حالة الجمود من خالل عدم السماح للدورة باالكتمال.
وذلك بمجرد أن تكتشف الخوارزمية أن حظر المعاملة من المحتمل أن يؤدي إلى
64
التحكم في تزامن قاعدة البيانات
التعامل مع الجمود والجوع
مجاعة
تحدث المجاعة عندما تنتظر معاملة معينة أو يتم إعادة تشغيلها باستمرار وال تتاح لها
وإرجاعها.
هذا القيد متأصل في جميع آليات الجدولة القائمة على األولوية.
في مخطط ،Wound-Waitقد تتعرض المعاملة األصغر سًن ا دائًما للجرح
(اإلجهاض) من خالل معاملة قديمة طويلة األمد مما قد يؤدي إلى المجاعة.
65
Chapter 23
Database Recovery
Techniques
66
الفصل 23
تقنيات استعادة قاعدة البيانات
67
الفصل 23الخطوط العريضة
68
الغرض من استعادة قاعدة البيانات
69
أنواع الفشل
• فشل المعاملة :قد تفشل المعامالت بسبب وجود أخطاء ،أو إدخال غير
صحيح ،أو حالة توقف تام ،أو مزامنة غير صحيحة ،وما إلى ذلك.
• فشل النظام :قد يفشل النظام بسبب خطأ في التطبيق ،أو خطأ في نظام
التشغيل ،أو فشل ذاكرة الوصول العشوائي ( ،)RAMوما إلى ذلك.
• فشل الوسائط :تعطل رأس القرص ،انقطاع الطاقة ،وما إلى ذلك.
70
ملف السجل
71
إدخاالت ملف السجل (من الفصل )21
أنواع السجالت (اإلدخاالت) في ملف السجل:
• [ :]start_transaction,Tيسجل أن المعاملة Tقد بدأت في التنفيذ.
• [ :]write_item,T,X,old_value,new_valueقام Tبتغيير قيمة
العنصر Xمن القيمة القديمة إلى القيمة الجديدة.
• [ :]read_item,T,Xلقد قرأ Tقيمة العنصر ( Xغير مطلوب في كثير من
الحاالت).
• [ :]end_transaction,Tانتهى Tمن التنفيذ
• [التزم ،ت] :تاء أكملت بنجاح ،والتزمت.
• [إحباط :]T ،تم إحباط .T
72
ملف السجل (تابع)
73
مثال آخر على اختبار التسلسل( .ب) الجدول الزمنيه.
74
ذاكرة التخزين المؤقت لقاعدة البيانات
75
ذاكرة التخزين المؤقت لقاعدة البيانات (تابع)
يتم أوًال نسخ عناصر البيانات المطلوب تعديلها إلى ذاكرة التخزين المؤقت
لقاعدة البيانات بواسطة مدير التخزين المؤقت ( )CMوبعد التعديل يتم
مسحها (كتابتها) مرة أخرى إلى القرص .يتم التحكم في عملية الشطف
عن طريقمعدلوتثبيت وإلغاء التثبيتأجزاء.
تثبيت وإلغاء التثبيت :إذا تم تثبيت المخزن المؤقت ،فال يمكن كتابته مرة
أخرى إلى القرص حتى يتم إلغاء تثبيته.
معدل :يشير إلى أنه تم تغيير عنصر بيانات واحد أو أكثر في المخزن
المؤقت.
76
تحديث البيانات
• تحديث فوري :يمكن إعادة كتابة عنصر البيانات الذي تم تعديله في
ذاكرة التخزين المؤقت إلى القرصقبل تنفيذ الصفقة.
• التحديث المؤجل :ال يمكن إعادة كتابة عنصر البيانات المعدل في
ذاكرة التخزين المؤقت إلى القرص حتىبعد تنفيذ الصفقة(المخزن
المؤقت هومثبت).
• تحديث الظل :ال تقوم النسخة المعدلة من عنصر البيانات بالكتابة فوق
نسخة القرص الخاصة بها ولكن تتم كتابتها في موقع قرص منفصل
(اإلصدار الجديد).
• التحديث في المكان :تتم الكتابة فوق إصدار القرص الخاص بعنصر
البيانات بواسطة إصدار ذاكرة التخزين المؤقت.
77
إجراءات االسترداد UNDOوREDO
للحفاظ على الذرية والمتانة ،قد يكون لبعض المعامالت عملياتهاإعادة بنائهأوتم التراجع
عنهأثناء التعافي .يعد التراجع (التراجع) ضرورًيا للمعامالت التي لم يتم االلتزام بها بعد.
هناك حاجة إلى ( REDOالترحيل لألمام) للمعامالت الملتزم بها والتي ربما لم يتم مسح
كتاباتها من ذاكرة التخزين المؤقت إلى القرص بعد.
الغاء التحميل :استعادة جميع BFIMsمن السجل إلى قاعدة البيانات الموجودة
على القرص .يستمر التراجع عن التراجع في السجل (من األحدث إلى األقدم في
التراجع).
إعادة :استعادة جميع AFIMsمن السجل إلى قاعدة البيانات الموجودة على
القرص .تستمر عملية REDOلألمام في السجل (من اإلعادة األقدم إلى
األحدث).
78
بروتوكول تسجيل الكتابة المسبقة
يجب كتابة المعلومات المطلوبة لالسترداد في ملف السجل الموجود على القرص
قبل إجراء التغييرات على قاعدة البيانات الموجودة على القرص.تسجيل الكتابة
المسبقة(وول) يتكون البروتوكول من قاعدتين:
للتراجع :قبل أن يتم مسح AFIMالخاص بعنصر البيانات إلى قاعدة البيانات
الموجودة على القرص (الكتابة فوق .)BFIMبفيميجب كتابته في السجل ويجب
حفظ السجل على القرص.
لإلعادة :قبل أن تنفذ المعاملة عملية االلتزام الخاصة بها ،فإن كل ما يتعلق
بهاAFIMsيجب كتابته في السجل ويجب حفظ السجل في متجر ثابت.
79
نقاط التفتيش
للتقليل منإعادةالعمليات أثناء التعافي .تحدد الخطوات التالية عملية نقطة التفتيش:
–تعليق تنفيذ المعامالت مؤقتا.
– فرض كتابة المخازن المؤقتة المعدلة من ذاكرة التخزين المؤقت إلى القرص.
–اكتب سجل [نقطة تفتيش] في السجل ،واحفظ السجل على القرص .يتضمن هذا السجل أيًضا
معلومات أخرى ،مثلقائمة المعامالت النشطةفي وقت نقطة التفتيش.
–استئناف تنفيذ المعاملة العادية.
أثناء التعافيإعادةمطلوب فقط للمعامالت التي ارتكبتبعد آخر سجل [نقطة تفتيش].في السجل.
80
تأثير نقاط التفتيش
عندما تم أخذ نقطة التفتيش في الوقت ،t1تم االلتزام بالمعاملة ،T1في حين لم يتم االلتزام
بالمعاملتين T3و .T4قبل تعطل النظام في الوقت ،t2كان T3وT2
ملتزم ولكن ليس T4و .T5
ليست هناك حاجة إلعادةwrite_itemعمليات المعاملة — T1أو أي معامالت تم تنفيذها قبل
وقت نقطة التفتيش األخيرة .t1
الwrite_itemومع ذلك ،يجب إعادة تنفيذ عمليات T2و ،T3ألن كلتا المعاملتين وصلتا إلى نقاط
االلتزام الخاصة بهما بعد نقطة التحقق األخيرة.
تذكر أن السجل يتم كتابته بالقوة قبل تنفيذ المعاملة.
يتم تجاهل المعامالت T4و :T5يتم إلغاؤها أو إعادتها فعلًيا نظًر ا لعدم وجود أي
منها write_itemتم تسجيل العمليات في قاعدة البيانات على القرص بموجب بروتوكول التحديث
المؤجل (no-stealسياسة).
81
مفاهيم أخرى الستعادة قاعدة البيانات
سرقة /عدم سرقة والقوة /عدم القوة
حدد كيفية مسح المخازن المؤقتة لذاكرة التخزين المؤقت لقاعدة البيانات إلى قاعدة البيانات
الموجودة على القرص:
يسرق :قد يتم مسح مخازن ذاكرة التخزين المؤقت التي تم تحديثها بواسطة معاملة ما إلى القرص
قبل تنفيذ المعاملة (قد يتطلب االسترداد التراجع).
ممنوع السرقة :ال يمكن مسح مخازن ذاكرة التخزين المؤقت إال بعد تنفيذ المعاملة (NO-
( .)UNDOالمخازن المؤقتة هيمثبتحتى تتم المعامالت).
قوة :يتم مسح ذاكرة التخزين المؤقت (إجبارًيا) على القرص قبل تنفيذ المعاملة (.)NO-REDO
ال قوه :قد يتم تأجيل بعض عمليات مسح ذاكرة التخزين المؤقت إلى ما بعد تنفيذ المعاملة (قد يتطلب
االسترداد إعادة اإلجراء).
تؤدي هذه إلى أربع طرق مختلفة للتعامل مع عملية االسترداد:
السرقة/عدم القوة (تراجع/إعادة) ،السرقة/القوة (تراجع/عدم اإلعادة) ،عدم السرقة/عدم القوة
(إعادة/عدم التراجع) ،عدم السرقة/القوة (عدم التراجع/عدم اإلعادة) ).
82
التحديث المؤجل ( )NO-UNDO/REDOبروتوكول االسترداد
يجب أن يفرض النظامممنوع السرقةقاعدة .يقوم نظام االسترداد الفرعي بتحليل السجل وإنشاء
قائمتين:
قائمة المعامالت النشطة :يتم إدخال جميع معرفات المعامالت النشطة (غير الملتزم بها) في هذه
القائمة.
قائمة المعامالت الملتزم بها :المعامالت التي تمت بعد إدخال نقطة التفتيش األخيرة في هذا
الجدول.
أثناء عملية االسترداد ،تتم المعامالت فييقترفالقائمة هيإعادة بنائه; المعامالت فينشيطالقائمة
هيتم تجاهله(بسبب قاعدة عدم السرقة ،لم يتم تطبيق أي من كتاباتهم على قاعدة البيانات
الموجودة على القرص) .قد تكون بعض المعامالتإعادة بنائهمرتين؛ هذا ال يخلق عدم االتساق
لإعادةيكون "عاجز" ،أي أن عملية إعادة واحدة لـ AFIMتعادل عدة عمليات إعادة لـ AFIM
نفسها.
83
التحديث المؤجل ( )NO-UNDO/REDOبروتوكول االسترداد
(تابع)
ميزة:فقطإعادةهناك حاجة أثناء االنتعاش.
العيب :قد يتم تثبيت العديد من المخازن المؤقتة أثناء انتظار المعامالت التي قامت بتحديثها
لاللتزام ،لذلك قد ينفد النظام من مخازن التخزين المؤقت عند تقديم الطلبات من خالل معامالت
جديدة.
84
UNDO/NO-REDOبروتوكول االسترداد
في هذه الطريقة،قوةيتم فرض القاعدة بواسطة النظام (يتم مسح AFIMsالخاصة بالمعاملة إلى
قاعدة البيانات الموجودة على القرص ضمن "تسجيل الدخول المسبق".قبل تنفيذ الصفقة).
المعامالت في القائمة النشطة هيتم التراجع عنه; يتم تجاهل المعامالت في القائمة الملتزم بها
(ألنه بناًء على قاعدة ،FORCEتتم كتابة جميع تغييراتها بالفعل إلى قاعدة البيانات الموجودة
على القرص).
سلبيات .1:يتم تأجيل تنفيذ المعاملة حتى يتم فرض جميع تغييراتها على القرص .2 .قد تتم
كتابة بعض المخازن المؤقتة على القرص عدة مرات إذا تم تحديثها من خالل عدة معامالت.
85
UNDO/REDOبروتوكول االسترداد
يمكن أن يتطلب االسترداد التراجع عن بعض المعامالت وإعادة المعامالت األخرى (يتوافق
مع .)STEAL/NO-FORCEيتم استخدامه في أغلب األحيان في الممارسة العملية بسبب
عيوب الطريقتين األخريين .لتقليل ،REDOيتم استخدام نقاط التفتيش .يتم تنفيذ عملية
االسترداد:
86
ترحيل الظل ()NO-UNDO/NO-REDO
ال يقوم AFIMبالكتابة فوق BFIMالخاص به ولكن يتم تسجيله في مكان آخر (اإلصدار
الجديد) على القرص .وبالتالي ،يمكن أن يحتوي عنصر البيانات على AFIMوBFIM
(نسخة الظل من عنصر البيانات) في مكانين مختلفين على القرص.
X Y
'X 'Y
Database
87
تقنيات االسترداد القائمة
على التحديث الفوري
في هذه التقنيات ،عندما تصدر إحدى المعامالت أمر تحديث ،يتم تشغيل قاعدة البيانات
يمكن تحديث القرصفي الحال ،دون الحاجة إلى انتظار إتمام المعاملة
الوصول إلى نقطة االلتزام الخاصة به.
88
التراجع عن المعامالت والتراجع المتتالي
إذا فشلت المعاملة ألي سبب من األسباب بعد تحديث قاعدة البيانات ،ولكن قبل تنفيذ
المعاملة ،فقد يكون من الضروري التراجع عن المعاملة .إذا تم تغيير أي قيم لعناصر
البيانات بواسطة المعاملة وكتابتها إلى قاعدة البيانات الموجودة على القرص ،فيجب
استعادتها إلى قيمها السابقة (.)BFIMs
يتم استخدام إدخاالت سجل التراجع الستعادة القيم القديمة لعناصر البيانات التي يجب
استرجاعها.
إذا كانت الصفقةتيتم التراجع ،أي معاملةسالذي قام ،في هذه األثناء ،بقراءة قيمة بعض
عناصر البياناتXكتب بواسطةتيجب أيًض ا التراجع .وبالمثل ،مرة واحدةسيتم
التراجع ،أي معاملةرالذي قرأ قيمة بعض عناصر البياناتيكتب بواسطةسويجب
أيًض ا التراجع؛ وما إلى ذلك وهلم جرا .وتسمى هذه الظاهرةالتراجع المتتالي
89
90
سؤال
االلشكل التالييعرض السجل المطابق لجدول معين عند هذه النقطة
من تعطل النظام ألربع معامالتت,1ت,2ت ،3وت .4لنفترض أننا
استخدم البروتوكول التحديث الفوري مع نقاط التفتيش .وصف عملية االسترداد من تعطل النظام.
.1تحديد المعامالت التي سيتم إرجاعها
مرة أخرى ،ما هي العمليات التي تم إجراؤها في السجل والتي تم التراجع عنها (إن وجدت)،
وما إذا كان سيتم إجراء أي تراجع متتالي.
.2ما هي القيم األولية للعناصر A، B، D
.3ما هي قيم العناصر بعد عملية االسترداد.
91
النسخ االحتياطي لقاعدة البيانات واالسترداد
من الفشل الذريع
• يجب أيًض ا أن يكون مدير االسترداد لنظام إدارة قواعد البيانات ()DBMS
مجهًز ا للتعامل مع المزيد من حاالت الفشل الكارثية مثل تعطل القرص.
• التقنية الرئيسية المستخدمة للتعامل مع مثل هذه الحوادث هينسخه االحتياطيه
لقاعدة البيانات ،حيث يتم نسخ قاعدة البيانات بأكملها والسجل بشكل دوري
على وسيط تخزين رخيص مثل األشرطة المغناطيسية أو غيرها من أجهزة
التخزين ذات السعة الكبيرة غير المتصلة باإلنترنت.
• في حالة حدوث فشل فادح في النظام ،يمكن إعادة تحميل أحدث نسخة احتياطية
من الشريط إلى القرص ،ويمكن إعادة تشغيل النظام.
92
ملخص الفصل 23
93
Chapter 24
Database Security
94
1مقدمة لقضايا أمن قاعدة البيانات
95
مقدمة إلى مشكالت أمان قاعدة البيانات ()2
التهديدات لقواعد البيانات
فقداننزاهة
فقدانالتوفر
فقدانسرية
ولحماية قواعد البيانات من هذه األنواع من التهديدات ،يمكن تنفيذ أربعة أنواع من
اإلجراءات المضادة:
صالحية التحكم صالحية الدخول
التشفير
96
مقدمة إلى قاعدة البيانات
قضايا أمنية ()3
يتضمن نظام إدارة قواعد البيانات ( )DBMSعادًة نظاًم ا فرعًي ا ألمان
97
مقدمة إلى قاعدة البيانات
قضايا أمنية ()4
يجب أن تتضمن آلية األمان لنظام إدارة قواعد البيانات أحكاًم ا لتقييد
98
مقدمة إلى قاعدة البيانات
قضايا أمنية ()5
التحكم في االستدالل.
99
مقدمة إلى قاعدة البيانات
قضايا أمنية ()6
أمان آخر هو أنالتحكم في التدفق ،مما يمنع تدفق المعلومات بطريقة
يتم استدعاء القنوات التي تمثل مسارات لتدفق المعلومات ضمنًي ا بطرق
100
مقدمة إلى قاعدة البيانات
القضايا األمنية ()7
الحساسة (مثل أرقام بطاقات االئتمان) التي يتم إرسالها عبر نوع ما من
شبكات االتصاالت.
البيانات هيمشفرةباستخدام بعضخوارزمية الترميز.
سيواجه المستخدم غير المصرح له الذي يصل إلى البيانات المشفرة
101
1.2أمن قاعدة البيانات وDBA
مدير قاعدة البيانات (ديسيبل) هي السلطة المركزية إلدارة نظام قاعدة
البيانات.
تشمل مسؤوليات DBA
102
1.2أمن قاعدة البيانات و)DBA (2
لدى DBAحساب DBAفي نظام إدارة قواعد البيانات (.)DBMS
اإلجراء 1هو التحكم في الوصول ،في حين أن اإلجراء 2و 3اختياري و 4يستخدم
103
1.3حماية الوصول وحسابات المستخدمين وعمليات تدقيق
قاعدة البيانات
عندما يحتاج شخص أو مجموعة من األشخاص إلى الوصول إلى نظام
قاعدة بيانات ،يجب على الفرد أو المجموعة أوًال التقدم بطلب للحصول
على حساب مستخدم.
سيقوم DBAبعد ذلك بإنشاء ملف جديدمعرف الحسابوكلمة
المرور للمستخدم إذا رأى أن هناك حاجة مشروعة للوصول إلى قاعدة
البيانات
يجب على المستخدم تسجيل الدخول إلى نظام إدارة قواعد البيانات
104
1.3حماية الوصول وحسابات المستخدمين وعمليات تدقيق
قاعدة البيانات()2
يجب أن يحتفظ نظام قاعدة البيانات أيًض اتتبع جميع العملياتفي قاعدة
البيانات التي يتم تطبيقها من قبل مستخدم معين طوال الوقتكل جلسة
تسجيل الدخول.
لالحتفاظ بسجل لجميع التحديثات المطبقة على قاعدة البيانات والمستخدم
105
1.3حماية الوصول وحسابات المستخدمين وعمليات تدقيق
قاعدة البيانات()3
في حالة االشتباه في أي تالعب بقاعدة البيانات ،أتدقيق قاعدة البياناتتم
إنجازه
يتكون تدقيق قاعدة البيانات من مراجعة السجل لفحص جميع عمليات
الوصول والعمليات المطبقة على قاعدة البيانات خالل فترة زمنية معينة.
ُيطلق أحياًن ا على سجل قاعدة البيانات الُمستخدم بشكل أساسي ألغراض
106
.2التحكم في الوصول التقديري بناًء على منح
االمتيازات وإلغاءها
107
2.1أنواع االمتيازات التقديرية
المستوى الحساب:
في هذا المستوى ،يحدد DBAاالمتيازات الخاصة التي يحتفظ بها كل
في هذا المستوى ،يمكن لمسؤول قواعد البيانات التحكم في امتياز
108
2.1أنواع االمتيازات التقديرية()2
االمتيازات فيمستوى الحسابتنطبق على اإلمكانيات المتوفرة للحساب نفسه ويمكن
أن تشمل
الإنشاء مخططأواصنع جدولاالمتياز ،إلنشاء مخطط أو عالقة أساسية؛
التغيير االمتياز ،لتطبيق تغييرات المخطط مثل إضافة أو إزالة السمات من العالقات؛
109
2.1أنواع االمتيازات التقديرية()3
ينطبق المستوى الثاني من االمتيازات علىمستوى العالقة
يتبع منح االمتيازات وإلغائها بشكل عام نموذج ترخيص لالمتيازات التقديرية
كل موقفم(اي جاي) في المصفوفة يمثل أنواع االمتيازات (القراءة والكتابة والتحديث)
110
2.1أنواع االمتيازات التقديرية()3
ينطبق المستوى الثاني من االمتيازات علىمستوى العالقة
111
2.1أنواع االمتيازات التقديرية ()4
للتحكم في منح وإلغاء امتيازات العالقة ،يتم تعيين كل عالقة Rفي قاعدة
البياناتحساب المالك ،وهو عادًة الحساب الذي تم استخدامه عند إنشاء العالقة في
المقام األول.
يتم إعطاء صاحب العالقةالجميعاالمتيازات المتعلقة بهذه العالقة.
في ،SQL2يمكن لـ DBAتعيين ومالك مخطط كامل عن طريق إنشاء المخطط
112
2.1أنواع االمتيازات التقديرية ()5
في SQLيمكن منح األنواع التالية من االمتيازات على كل عالقة فردية :R
في SQLيمنح هذا الحساب امتياز استخداميختاربيان السترداد الصفوف من .R
في ،SQLيتم تقسيم هذا االمتياز أيًضا إلىتحديث,يمسح ،وإدراجامتيازات لتطبيق أمر
113
2.1أنواع االمتيازات التقديرية()6
في ،SQLيمكن منح األنواع التالية من االمتيازات لكل عالقة فردية
( Rتابع):
مراجعامتيازعلى ر:
وهذا يعطي الحساب القدرة علىمرجعالعالقة Rعند التحديدقيود التكامل.
الحظ أنه إلنشاء ملفمنظر ،يجب أن يكون الحسابيختارامتياز على كافة
114
2.2تحديد االمتيازات باستخدام طرق العرض
آليةاآلراءهو مهممتوفرآلية الترخيص في حد ذاتها .على سبيل المثال،
إذا كان المالك Aللعالقة Rيريد أن يتمكن الحساب اآلخر Bمن القيام بذلكاسترداد
بعض الحقول فقطمن ،Rفيمكن لـ Aإنشاء عرض Vلـ Rيتضمنتلك الصفات فقطثم
قم بمنح SELECTعلى Vإلى .B
وينطبق الشيء نفسه على الحد من Bلالسترجاعمجموعات معينة فقط منص ؛ يمكن
إنشاء عرض ' Vعن طريق تحديد العرض عن طريق استعالم يحدد فقط تلك
المجموعات من Rالتي يريد Aالسماح لـ Bبالوصول إليها.
115
عرض المثال
116
2.3إلغاء االمتيازات
في بعض الحاالت ،يكون من المستحسن منح امتياز للمستخدم بشكل
117
2.4نشر االمتيازات باستخدام خيار المنحة
عندما يمنح المالك Aلعالقة Rامتياًز ا على Rلحساب آخر ،Bيمكن منح االمتياز
لحسابات أخرى.
لنفترض أنه تم إعطاء Bخيار المنحةبواسطة Aوهذا Bيمنح االمتياز على R
لحساب ثالث ،Cأيًضا معخيار المنحة .بهذه الطريقة ،يمكن االمتيازات الموجودة
على Rبثإلى حسابات أخرى دون علم صاحب ر.
إذا كان حساب المالكواآلن يلغياالمتياز الممنوح لـ ،Bجميع االمتيازات التي نشرها
118
2.5مثال
لنفترض أن DBAقام بإنشاء أربعة حسابات
ويريد أن يتمكن A1فقط من إنشاء عالقات أساسية .ثم يجب على DBAإصدار
119
2.5مثال ()2
حساب المستخدميمكن لـ A1إنشاء الجداولتحت المخطط المسمىمثال.
العالقات ،ولكن A1ال يريد أن يتمكن A2من نشر هذه االمتيازات إلى حسابات
إضافية:
منح اإلدراج ،والحذف تشغيل
موظف ،قسمإلى A2؛
120
2.5مثال ()3
منح حسابات المستخدمين A2امتياز إنشاء صفوف على الموظف و A3امتياز تحديث
المجموعات على القسم.
121
2.5مثال ()3
منح حسابات المستخدمين A2امتياز إنشاء صفوف على الموظف و A3امتياز تحديث
المجموعات على القسم.
منح خاملموظفإلى A2؛
تحديث المنحة قيد التشغيلقسمإلى A3؛
122
2.5مثال ()4
لنفترض أن A1يريد السماح لـ A3باسترداد المعلومات من أي من الجدولين
OPTIONإلى A4
123
2.5مثال ()5
لنفترض أن A1قرر إلغاء امتياز SELECTفي عالقة الموظف من
124
2.5مثال ()5
إبطال امتياز SEELCTفي عالقة الموظف من :A2
125
2.5مثال ()6
لنفترض أن A1يريد أن يمنح A3قدرة محدودة على االختيار من عالقة الموظف ويريد السماح لـ
A3بأن يتمكن من نشر االمتياز.
يتمثل القيد في استرداد سمات NAMEو BDATEو ADDRESSفقط وللصفوف التي
تحتوي على DNO=5فقط.
A1ثم قم بإنشاء العرض:
126
2.5مثال ()7
أخيًر ا ،لنفترض أن A1يريد السماح لـ A4بتحديث سمة الراتب الخاصة
بالموظف فقط؛
يمكن لـ A1إصدار:
التحديثأوإدراج يمكن أن يحدد االمتياز سمات معينة يمكن تحديثها أو إدراجها في
العالقة.
امتيازات أخرى (يختار,يمسح) ليست سمة محددة.
127
2.6تحديد حدود نشر االمتيازات
تم تطوير تقنيات للحد من نشر االمتيازات ،على الرغم من أنها لم يتم
128
3التحكم اإللزامي في الوصول والتحكم في الوصول على أساس
الدور لألمان متعدد المستويات
لقد كانت تقنيات التحكم في الوصول التقديرية لمنح وإلغاء االمتيازات على
في العديد من التطبيقات ،وسياسة أمنية إضافيةهناك حاجة لتصنيف البيانات
الوصول التقديرية.
129
3التحكم اإللزامي في الوصول والتحكم في الوصول على أساس
الدور لألمان متعدد المستويات ()2
النموذج الشائع االستخدام لألمان متعدد المستويات ،والمعروف باسم -Bell
130
3التحكم اإللزامي في الوصول والتحكم في الوصول على أساس
الدور لألمان متعدد المستويات ()3
يتم فرض قيدين على الوصول إلى البيانات بناًء على تصنيفات
الموضوع/الكائن:
خاصية أمنية بسيطة:ال ُيسمح للموضوع Sبالوصول للقراءة إلى كائن
131
3التحكم اإللزامي في الوصول والتحكم في الوصول على أساس
الدور لألمان متعدد المستويات ()4
لدمج مفاهيم األمان متعددة المستويات في نموذج قاعدة البيانات العالئقية ،من الشائع اعتبار قيم
132
3التحكم اإللزامي في الوصول والتحكم في الوصول على أساس
الدور لألمان متعدد المستويات ()5
قيمة الحتوفر السمة في كل صف - tوهي أعلى قيم تصنيف السمات
133
3التحكم اإللزامي في الوصول والتحكم في الوصول على أساس
الدور لألمان متعدد المستويات ()6
ستظهر عالقة متعددة المستويات تحتوي على بيانات مختلفة للمواضيع
أعلى وإنتاج الصفوف المقابلة عند مستوى تصنيف أقل من خالل عملية تعرف
باسمالفلتره.
وفي حاالت أخرى ،من الضروري تخزين صفين أو أكثر في مستويات تصنيف
القيمة الرئيسية الظاهرة ولكن لها قيم سمات مختلفة للمستخدمين على مستويات
تصنيف مختلفة.
134
3التحكم اإللزامي في الوصول والتحكم في الوصول على أساس
الدور لألمان متعدد المستويات ()7
بشكل عام،سالمة الكيانتنص قاعدة العالقات متعددة المستويات على أن
135
التحكم اإللزامي في الوصول والتحكم في الوصول على أساس الدور
لألمان متعدد المستويات ()8
قواعد النزاهة األخرى ،تسمىسالمة فارغةوسالمة المثيالت ،تأكد
بشكل غير رسمي من أنه إذا كان من الممكن تصفية (اشتقاق) قيمة
صف عند مستوى أمان معين من صف ذو تصنيف أعلى ،فإنه يكفي
تخزين الصف ذو التصنيف األعلى في العالقة متعددة المستويات.
136
3.1مقارنة التحكم في الوصول التقديري والتحكم في
الوصول اإللزامي
137
3.1مقارنة التحكم في الوصول التقديري والتحكم في
الوصول اإللزامي ()2
وعلى النقيض من ذلك ،تضمن السياسات اإللزامية درجة عالية من
بيئات محدودة.
في العديد من المواقف العمليةُ ،ت فضل السياسات التقديرية ألنها توفر
138
3.2التحكم في الوصول على أساس الدور
التحكم في الوصول المستند إلى الدور ()RBACظهرت بسرعة في التسعينيات
كتقنية مجربة إلدارة وتطبيق األمن في األنظمة واسعة النطاق على مستوى
المؤسسة.
فكرتها األساسية هي أن األذونات مرتبطة باألدوار ،ويتم تعيين المستخدمين
لألدوار المناسبة.
يمكن إنشاء األدوار باستخدامإنشاء دوروتدمير الدوراألوامر.
المنحةوسحب او إبطاليمكن بعد ذلك استخدام األوامر التي تمت مناقشتها ضمن
139
3.2التحكم في الوصول على أساس الدور ()2
RBACيبدو أنه بديل قابل للتطبيق لضوابط الوصول التقديرية
واإللزامية التقليدية؛ فهو يضمن منح المستخدمين المصرح لهم فقط حق
الوصول إلى بيانات أو موارد معينة.
سمحت العديد من أنظمة إدارة قواعد البيانات ( )DBMSبمفهوم
140
3.2التحكم في الوصول على أساس الدور ()3
اعتبار آخر مهم فيRBACاألنظمة هي القيود الزمنية المحتملة التي قد توجد على
األدوار ،مثل وقت ومدة تنشيط الدور ،والتشغيل المحدد للدور من خالل تنشيط
دور آخر.
باستخدامRBACيعد هذا النموذج هدًف ا مرغوًبا للغاية لمعالجة متطلبات األمان
141
3.3سياسات التحكم في الوصول لـ
التجارة اإللكترونية والويب
142
3.3سياسات التحكم في الوصول لـ
التجارة اإللكترونية والويب ()2
وهناك شرط آخر يتعلق بعدم تجانس المواضيع ،األمر الذي يتطلب سياسات التحكم
من المعتقد أن لغة XMLيمكن أن تلعب دوًر ا رئيسًيا في التحكم في الوصول
143
4مقدمة في اإلحصاء
أمن قاعدة البيانات
144
4مقدمة في اإلحصاء
أمن قواعد البيانات ()2
أسكانمن الصفوف.
145
4مقدمة في اإلحصاء
أمن قواعد البيانات ()3
على سبيل المثال ،قد نرغب في استردادرقممن األفراد في أسكانأو المتوسط
الدخلفي السكان.
ومع ذلك ،ال ُيسمح لمستخدمي اإلحصائيات باسترجاع البيانات الفردية ،مثل دخل
شخص معين.
يجب أن تحظر تقنيات أمان قاعدة البيانات اإلحصائية استرجاع البيانات الفردية.
يمكن تحقيق ذلك عن طريق حظر االستعالمات التي تسترد قيم السمات وبالسماح
146
4مقدمة في اإلحصاء
أمن قواعد البيانات ()4
وتقع على عاتق نظام إدارة قواعد البيانات مسؤولية ضمان سرية المعلومات
المتعلقة باألفراد ،مع االستمرار في تقديم ملخصات إحصائية مفيدة للبيانات حول
هؤالء األفراد للمستخدمين .توفيرحماية الخصوصيةمن المستخدمين في قاعدة
بيانات إحصائية أمر بالغ األهمية.
في بعض الحاالت من الممكن أناستداللقيم الصفوف الفردية من استعالمات
إحصائية متسلسلة.
وهذا صحيح بشكل خاص عندما تؤدي الظروف إلى مجتمع يتكون من عدد صغير من
الصفوف.
147
5مقدمة للتحكم في التدفق
التحكم في التدفقينظم توزيع أو تدفق المعلومات بين األشياء التي يمكن الوصول
إليها.
أتدفقبين الكائن Xوالكائن Yيحدث عندما يقرأ البرنامج القيم من Xويكتب القيم
في .Y
تتحقق عناصر التحكم في التدفق من أن المعلومات الموجودة في بعض الكائنات ال
ويسمح بجميع التدفقات باستثناء تلك من الفئة Cإلى الفئة .N
148
5.1القنوات السرية
أقناة سريةيسمح بنقل المعلومات التي تنتهك األمن أو السياسة.
149
5.1القنوات السرية ()2
القنوات السريةيمكن تصنيفها إلى فئتين عريضتين:
قنوات التخزينال تتطلب أي مزامنة زمنية ،حيث يتم نقل المعلومات عن طريق
يعتقد بعض خبراء األمن أن إحدى الطرق لتجنب القنوات السرية هي عدم تمكن
150
6التشفير والبنية التحتية للمفتاح العام
التشفيرهي وسيلة للحفاظ على البيانات اآلمنة في بيئة غير آمنة.
151
6.1البيانات ومعايير التشفير المتقدمة
وخارجها.
ديسيمكن أن يوفر تشفيًر ا شامًال على القناة بين المرسل أ والمستقبل ب.
152
6.1البيانات ومعايير التشفير المتقدمة ()2
األساسية للتشفير:
االستبدالوالتقليب(التحويل).
مجموعه 16دورة.
نص عادي(الصيغة األصلية للرسالة) هيمشفرةككتل من 64بت.
153
6.1البيانات ومعايير التشفير المتقدمة()3
154
6.2تشفير المفتاح العام
في عام ،1976اقترح ديفي وهيلمان نوًعا جديًد ا من نظام التشفير ،والذي أطلقوا
على عكس التشفير التقليدي الذي يستخدم مفتاًح ا واحًد ا فقط.
يمكن أن يكون الستخدام مفتاحين عواقب وخيمة في مجاالت السرية وتوزيع المفاتيح
والمصادقة.
155
6.2تشفير المفتاح العام ()2
ُيشار إلى المفتاحين الُمستخدمين لتشفير المفتاح العام باسمالمفتاح
156
6.2تشفير المفتاح العام ()3
يحتوي نظام تشفير المفتاح العام ،أو البنية التحتية ،على ستة مكونات:
نص عادي :هذه هي البيانات أو الرسالة القابلة للقراءة التي يتم إدخالها في
الخوارزمية كمدخل.
خوارزمية التشفير :تقوم خوارزمية التشفير بإجراء تحويالت مختلفة علىنص عادي.
المفاتيح العامة والخاصة :هذان زوجان من المفاتيح تم اختيارهما بحيث إذا تم
157
6.2تشفير المفتاح العام ()4
يحتوي نظام تشفير المفتاح العام ،أو البنية التحتية ،على ستة مكونات
(يتبع):
النص المشفر:
هذه هي الرسالة المجمعة التي يتم إنتاجها كمخرجات .ان ذلك يعتمد
علىنص عاديوالمفتاح.
بالنسبة لرسالة معينة ،سيؤدي استخدام مفتاحين مختلفين إلى إنتاج مفتاحين
مختلفيننصوص مشفرة.
خوارزمية فك التشفير:
158
6.2تشفير المفتاح العام ()5
عامالمفتاح مصنوع للعامة وخاصالمفتاح ال يعرفه إال صاحبه
159
6.2تشفير المفتاح العام ()6
الخطوات األساسية هي كما يلي:
يضع كل مستخدم أحد المفتاحين في سجل عام أو ملف آخر يمكن الوصول إليه .هذا
للمتلقي.
ال يمكن ألي مستلم آخر فك تشفير الرسالة ألن المتلقي وحده هو الذي يعرف مفتاحه
الخاص.
160
6.2تشفير المفتاح العام ()7
التشفير المفتاح العام RSAالخوارزمية ،واحدة من أولى أنظمة
161
6.2تشفير المفتاح العام ()8
مفتاحين،دوه ،تستخدم لفك التشفير والتشفير.
162
6.3التوقيعات الرقمية
أتوقيع إلكترونييعد مثاًال على استخدام تقنيات التشفير لتقديم خدمات المصادقة في تطبيقات التجارة
اإللكترونية.
التوقيع الرقمي هو وسيلة لربط عالمة فريدة للفرد بنص نصي.
يجب أن تكون العالمة ال ُت نسى ،مما يعني أن اآلخرين يجب أن يكونوا قادرين على التحقق من
أن التوقيع يأتي من المنشئ.
يتكون التوقيع الرقمي من سلسلة من الرموز.
زمني.
تقنيات المفتاح العام هي وسائل إنشاء التوقيعات الرقمية.
163
ملخص
1أمن قاعدة البيانات والترخيص
164
165
الفصل 25
166
الفصل 25الخطوط العريضة
مفاهيم قاعدة البيانات الموزعة .1
تجزئة البيانات والنسخ المتماثل والتخصيص .2
أنواع أنظمة قواعد البيانات الموزعة .3
معالجة االستعالم .4
التحكم في التزامن واالسترداد .5
بنية خادم العميل من 3طبقات .6
167
مفاهيم قاعدة البيانات الموزعة
يمكن تنفيذ المعاملة بواسطة أجهزة كمبيوتر متعددة متصلة بالشبكة
بطريقة موحدة.
أقاعدة البيانات الموزعة ()DDBعمليات وحدة التنفيذ (المعاملة)
168
نظام قواعد البيانات الموزعة
مزايا
يشير هذا إلى الموضع الفعلي للبيانات (الملفات والعالقات وما إلى ذلك) التي
169
نظام قواعد البيانات الموزعة
المزايا (الشفافية ،تابع)
170
نظام قواعد البيانات الموزعة
المزايا (الشفافية ،تابع)
ال يتعين على المستخدمين القلق بشأن التفاصيل التشغيلية للشبكة.
هناك شفافية الموقع والتي تشير إلى حرية إصدار األمر من أي مكان دون التأثير
على عمله.
ثم هناك شفافية التسمية ،والتي تسمح بالوصول إلى أي كائن أسماء (ملفات ،عالقات،
إلخ) من أي مكان.
171
نظام قواعد البيانات الموزعة
المزايا (الشفافية ،تابع)
يسمح بتخزين نسخ من البيانات في مواقع متعددة كما هو موضح في الرسم
البياني أعاله.
يتم ذلك لتقليل وقت الوصول إلى البيانات المطلوبة.
يسمح بتجزئة العالقة أفقًيا (إنشاء مجموعة فرعية من مجموعات العالقة) أو
172
نظام قواعد البيانات الموزعة
مزايا أخرى
تشير الموثوقية إلى الوقت المباشر للنظام ،أي أن النظام يعمل بكفاءة في
معظم األوقات .التوفر هو احتمال أن يكون النظام متاًح ا بشكل مستمر (قابل
لالستخدام أو الوصول إليه) خالل فترة زمنية.
يحتوي نظام قاعدة البيانات الموزعة على عقد متعددة (أجهزة كمبيوتر) وإذا
173
نظام قواعد البيانات الموزعة
مزايا أخرى (تابع)
يقوم نظام إدارة قواعد البيانات الموزع بتجزئة قاعدة البيانات إلبقاء البيانات
يسمح بإضافة العقد الجديدة (أجهزة الكمبيوتر) في أي وقت دون ربط
التكوين بأكمله.
174
تجزئة البيانات والنسخ المتماثل والتخصيص
تقسيم العالقة إلى أجزاء صحيحة ومترابطة منطقًيا .يمكن تجزئة العالقة
بطريقتين:
التجزئة األفقية
175
تجزئة البيانات والنسخ المتماثل والتخصيص
التجزئة األفقية
إنهاأفقي مجموعة فرعية من العالقة التي تحتوي على تلكالصفوفالتي تستوفي شروط
االختيار.
ضع في اعتبارك عالقة الموظف بشرط االختيار ( .)DNO = 5جميع الصفوف تلبي
هذاحالة سيتم إنشاء مجموعة فرعية ستكون جزًء ا أفقًيا من عالقة الموظف.
قد يتكون شرط االختيار من عدة شروط متصلة بواسطة ANDأوأو.
التجزئة األفقية المشتقة :هي تجزئة عالقة أولية إلى عالقات ثانوية أخرى مرتبطة
بالمفاتيح الخارجية.
176
تجزئة البيانات والنسخ المتماثل والتخصيص
التجزئة األفقية
177
تجزئة البيانات والنسخ المتماثل والتخصيص
التجزئة األفقية
إنها مجموعة فرعية أفقية من العالقة التي تحتوي على تلك الصفوف التي تلبي شروط
االختيار.
ضع في اعتبارك عالقة الموظف بشرط االختيار ( .)DNO = 5جميع الصفوف التي
تستوفي هذا الشرط ستنشئ مجموعة فرعية ستكون جزًء ا أفقًيا من عالقة الموظف.
قد يتكون شرط االختيار من عدة شروط متصلة بواسطة ANDأو .OR
التجزئة األفقية المشتقة :هي تجزئة عالقة أولية إلى عالقات ثانوية أخرى مرتبطة
بالمفاتيح الخارجية.
179
تجزئة البيانات والنسخ المتماثل والتخصيص
التجزئة األفقية
رقم قياسي نآمي تاريخ الميالد عنوان كلية
382358954 خالد 1998 سكاكا CS
382485987 محمد 2001 سكاكا CS
391958478 أمل 2000 قارة م
391479457 حسام 2003 القريات CS
401215487 نغم 1997 طبرجل CS
401206489 صالح 2003 أقسم CS
181
تجزئة البيانات والنسخ المتماثل والتخصيص
َر أِس ّيالتجزئة
إنها مجموعة فرعية من العالقة التي تم إنشاؤها بواسطة مجموعة فرعية منأعمدة.
وبالتالي فإن الجزء الرأسي للعالقة سيحتوي على قيم األعمدة المحددة .ال يوجد شرط
تحديد مستخدم في التجزئة العمودية.
النظر في عالقة الموظف .يمكن إنشاء جزء رأسي من خالل الحفاظ على قيم
األساسي للعالقة األصلية للموظف .بهذه الطريقة يتم ربط جميع األجزاء الرأسية
للعالقة.
182
تجزئة البيانات والنسخ المتماثل والتخصيص
التجزئة العمودية
183
تجزئة البيانات والنسخ المتماثل والتخصيص
التجزئة العمودية
184
تجزئة البيانات والنسخ المتماثل والتخصيص
التمثيل
يمكن تحديد كل جزء أفقي على العالقة بواسطة أسسي( )Rالعملية في الجبر العالئقي.
مجموعة من القطع األفقية شروطها C1، C2، …،CNقم بتضمين جميع الصفوف في
185
تجزئة البيانات والنسخ المتماثل والتخصيص
التمثيل
يمكن تحديد جزء عمودي على العالقة بواسطة ألي( )Rالعملية في الجبر العالئقي.
مجموعة من األجزاء الرأسية التي تتضمن قوائم إسقاطها L1، L2، ...، Lnجميعصفات
فير ولكن حصة فقطأساسي مفتاح من .Rوفي هذه الحالة تستوفي قوائم اإلسقاط الشرطين
التاليين:
L1L2...لن =أترس(ص)
ليل ي =بك (ص)أليأنا ،jحيث ) ATTRS (Rهي مجموعة سمات Rو) PK(Rهو
186
تجزئة البيانات والنسخ المتماثل والتخصيص
التمثيل
يمثلهلي(سسي(ص)).
إذا كان ( C = Trueحدد جميع المجموعات) و)،L ≠ ATTRS(R
187
تجزئة البيانات والنسخ المتماثل والتخصيص
مخطط التجزئة
تعريف لمجموعة من األجزاء (أفقية أو رأسية أو أفقية ورأسية) تتضمن جميع السمات
والصفوف في قاعدة البيانات التي تفي بشرط إمكانية إعادة بناء قاعدة البيانات بأكملها
من األجزاء عن طريق تطبيق بعض تسلسالت ( UNIONأو )OUTER JOIN
وعمليات االتحاد.
مخطط التخصيص
فهو يصفتوزيع توزيعمن الشظايا إلىالمواقع GPSمن قواعد البيانات الموزعة .يمكن
188
تجزئة البيانات والنسخ المتماثل والتخصيص
النسخ المتماثل للبيانات
في النسخ المتماثل الكامل ،يتم نسخ قاعدة البيانات بأكملها ،وفي النسخ المتماثل الجزئي
يتم توزيع الجزء المحدد من قاعدة البيانات على مواقع قاعدة البيانات.
189
أنواع أنظمة قواعد البيانات الموزعة
متجانس
190
أنواع أنظمة قواعد البيانات الموزعة
غير متجانسة
متحد :قد يقوم كل موقع بتشغيل نظام قاعدة بيانات مختلف ولكن تتم إدارة الوصول إلى البيانات
من خاللمخطط مفاهيمي واحد.
وهذا يعني أن درجة الحكم الذاتي المحلي هي الحد األدنى .يجب أن يلتزم كل موقع بسياسة الوصول
Network
Object DBMS
Oriented Site 3 Site 2 Relational
Linux Linux 191
أنواع أنظمة قواعد البيانات الموزعة
ميكرونيزيا قاعدة بيانات قضايا إدارة األنظمة
قد يكون لكل موقع قيود خاصة به على الوصول إلى البيانات ومعالجتها.
قد يستخدم بعض المواقع ،SQLوقد يستخدم البعض اآلخر ،SQL-89
192
معالجة االستعالم في قواعد البيانات الموزعة
مشاكل
عادة ما تكون هذه التكلفة مرتفعة ،لذا يلزم إجراء بعض التحسين.
موظف في الموقع 110000صف .حجم الصف = 100بايت .حجم الجدول = 106البايت = 1
ميجابايت.
اسم F مينيت االسم رقم تاريخ عنوان الجنس مرتب سوبرسن ال
ا الم
بايت .حجم الجدول = 3500بايت = 1ميغا 100صف .حجميالالصف ل
= 35 القسم في الموقع .2
ا
ج
ت
م
193
ا
معالجة االستعالم في قواعد البيانات الموزعة
نتيجة
194
معالجة االستعالم في قواعد البيانات الموزعة
االستراتيجيات:
.2انقل الموظف إلى الموقع ،2وقم بتنفيذ االنضمام في الموقع 2وأرسل النتيجة إلى
الموقع .3
حجم نتيجة االستعالم = 400,000 = 10,000 * 40بايت .إجمالي حجم النقل =
195
معالجة االستعالم في قواعد البيانات الموزعة
االستراتيجيات:
.2انقل الموظف إلى الموقع ،2وقم بتنفيذ االنضمام في الموقع 2وأرسل النتيجة إلى
الموقع .3
حجم نتيجة االستعالم = 400,000 = 10,000 * 40بايت .إجمالي حجم النقل =
196
معالجة االستعالم في قواعد البيانات الموزعة
خذ بعين االعتبار االستعالم
س' :لكل قسم استرجاع اسم القسم واسم مدير القسم
اسم F مينيت االسم رقم تاريخ عنوان الجنس مرتب سوبرسن ال
ا الم
ل يال
ض د
م
االسم رقم ا
مغرسسن تاريخ البدء
ن
ا
ل
197
ا
معالجة االستعالم في قواعد البيانات الموزعة
ستكون نتيجة هذا االستعالم 100صف ،بافتراض أن كل قسم لديه مدير ،فإن
استراتيجيات التنفيذ هي:
.1نقل الموظف واإلدارة إلى موقع النتيجة وإجراء عملية االنضمام في الموقع .3
إجمالي البايتات المنقولة = 1,003,500 = 3500 + 1,000,000بايت.
.2نقل الموظف إلى الموقع ،2وتنفيذ االنضمام في الموقع 2وإرسال النتيجة إلى الموقع
.3حجم نتيجة االستعالم = 4000 = 100 * 40بايت.
إجمالي حجم النقل = 1,004,000 = 1,000,000 + 4000بايت.
.3نقل عالقة القسم بالموقع 1وتنفيذ االنضمام في الموقع 1وإرسال النتيجة إلى الموقع .3
إجمالي حجم النقل = 7500 = 3500 + 4000بايت.
198
معالجة االستعالم في قواعد البيانات الموزعة
ستكون نتيجة هذا االستعالم 100صف ،بافتراض أن كل قسم لديه مدير ،فإن
استراتيجيات التنفيذ هي:
.1نقل الموظف واإلدارة إلى موقع النتيجة وإجراء عملية االنضمام في الموقع .3
إجمالي البايتات المنقولة = 1,003,500 = 3500 + 1,000,000بايت.
.2نقل الموظف إلى الموقع ،2وتنفيذ االنضمام في الموقع 2وإرسال النتيجة إلى الموقع
.3حجم نتيجة االستعالم = 4000 = 100 * 40بايت.
إجمالي حجم النقل = 1,004,000 = 1,000,000 + 4000بايت.
.3نقل عالقة القسم بالموقع 1وتنفيذ االنضمام في الموقع 1وإرسال النتيجة إلى الموقع .3
إجمالي حجم النقل = 7500 = 3500 + 4000بايت.
199
معالجة االستعالم في قواعد البيانات الموزعة
لنفترض اآلن أن موقع النتيجة هو .2االستراتيجيات الممكنة:
200
معالجة االستعالم في قواعد البيانات الموزعة
شبه االنضمام:
الهدف هو تقليل عدد الصفوف في العالقة قبل نقلها إلى موقع آخر.
.1قم بعرض سمات االنضمام للقسم في الموقع ،2ونقلها إلى الموقع .1
-بالنسبة لـ ) ،Q (DNUMBERيتم نقل 400 = 100 * 4بايت و
،Q' (MGRSSN) -يتم نقل 900 = 100 * 9بايت.
.2انضم إلى الملف المنقول بعالقة الموظف في الموقع ،1وانقل السمات المطلوبة من الملف
الناتج إلى الموقع .2بالنسبة لـ ،Qيتم نقل 340,000 = 10,000 * 34بايت وبالنسبة لـ
،'Qيتم نقل 3900 = 100 * 39بايت.
.3تنفيذ االستعالم من خالل ضم الملف المنقول إلى القسم وعرض النتيجة على المستخدم في
الموقع .2
اسم F مينيت االسم رقم تاريخ عنوان الجنس مرتب سوبرسن ال
ا الم
ل يال 201
االسم رقم مغرسسن تاريخ البدء
ض د
التحكم في التزامن واالسترداد
تواجه قواعد البيانات الموزعة عدًد ا من مشكالت التحكم في التزامن
202
التحكم في التزامن واالسترداد
تفاصيل
يجب أن يحافظ التحكم في التزامن على التناسق العالمي .وبالمثل ،يجب على
آلية االسترداد استرداد جميع النسخ والحفاظ على االتساق بعد االسترداد.
فشل المواقع الفردية:
يجب أال يتأثر توفر قاعدة البيانات بسبب فشل موقع أو موقعين ويجب على
203
التحكم في التزامن واالسترداد
التفاصيل (تابع)
قد يؤدي هذا الفشل إلى إنشاء قسم شبكة مما قد يؤثر على توفر قاعدة البيانات على الرغم
قد تكون المعاملة مجزأة ،وقد يتم تنفيذها بواسطة عدد من المواقع .يتطلب هذا اتباع نهج
نظًر ا ألنه تتم معالجة المعامالت في مواقع متعددة ،فقد يتورط موقعان أو أكثر في حالة
204
التحكم في التزامن واالسترداد
التحكم في التزامن الموزع بناًء على نسخة موزعة من عنصر البيانات
تقنية الموقع األساسي :يتم تعيين موقع واحد كموقع أساسي يعمل كمنسق
إلدارة المعامالت.
Primary site
Site 5
Site 1
في القفل على مرحلتين ،يدير هذا الموقع قفل عناصر البيانات وتحريرها.
206
التحكم في التزامن واالسترداد
ادارة العمليات التجارية
مزايا:
امتداد للقفل المركزي على مرحلتين ،لذا فإن التنفيذ واإلدارة بسيطان.
يتم تأمين عناصر البيانات في موقع واحد فقط ولكن يمكن الوصول إليها في أي موقع.
سلبيات:
تنتقل جميع أنشطة إدارة المعامالت إلى الموقع األساسي الذي من المحتمل أن يؤدي إلى
للمساعدة في عملية االسترداد ،تم تعيين موقع نسخ احتياطي يعمل كظل للموقع
األساسي .في حالة فشل الموقع األساسي ،يمكن أن يعمل موقع النسخ االحتياطي كموقع
أساسي.
207
التحكم في التزامن واالسترداد
تقنية النسخ األساسية:
في هذا األسلوب ،بدًال من الموقع ،يتم تعيين قسم عنصر البيانات كنسخة أساسية .لقفل
وبما أن النسخ األساسية يتم توزيعها على مواقع مختلفة ،فال يتم تحميل موقع واحد
تحديد النسخة األولية أمر معقد .يجب الحفاظ على الدليل الموزع ،ربما في جميع
المواقع.
208
التحكم في التزامن واالسترداد
التعافي من فشل المنسق
في كال النهجين ،قد يصبح موقع المنسق أو النسخة غير متوفرين .وسيتطلب ذلك اختيار
منسق جديد.
نهج الموقع األساسي بدون موقع احتياطي:
إحباط وإعادة تشغيل كافة المعامالت النشطة في كافة المواقع .ينتخب منسًقا جديًد ا ويبدأ
معالجة المعامالت.
نهج الموقع األساسي مع موقع النسخ االحتياطي:
يعلق جميع المعامالت النشطة ،ويعين موقع النسخ االحتياطي باعتباره الموقع األساسي
ويحدد موقع النسخ االحتياطي الجديد .يتلقى الموقع األساسي كافة معلومات إدارة
المعامالت الستئناف المعالجة.
فشل المواقع األساسية واالحتياطية أو عدم وجود موقع نسخ احتياطي:
209
التحكم في التزامن واالسترداد
التحكم في التزامن على أساس التصويت:
إرسال طلب القفل إلى المواقع التي تحتوي على عنصر بيانات.
إذا منحت غالبية المواقع القفل ،فإن المعاملة الطالبة تحصل على عنصر
البيانات.
يتم إرسال معلومات القفل (المنح أو الرفض) إلى جميع هذه المواقع.
لتجنب االنتظار الطويل بشكل غير مقبول ،تم تحديد فترة المهلة .إذا لم
210
بنية قاعدة بيانات العميل والخادم
وهو يتألف من عمالء يقومون بتشغيل برنامج العميل ،ومجموعة من
الخوادم التي توفر جميع وظائف قاعدة البيانات وبنية تحتية لالتصاالت
موثوقة.
Client 2
212
بنية قاعدة بيانات العميل والخادم
تتم معالجة استعالمات SQLكما يلي:
يقوم العميل بتوزيع استعالم المستخدم وتقسيمه إلى عدد من االستعالمات
213
خالصة
مفاهيم قاعدة البيانات الموزعة
214
الفصل 17
215
الفصل 17
216
16.1مقدمة
قواعد البيانات المخزنة عادة على األقراص المغناطيسية
يتم الوصول إليها باستخدام هياكل ملفات قاعدة البيانات الفعلية
الصلبة
التخزين الثالثي
217
التسلسل الهرمي للذاكرة وأجهزة التخزين
الذاكرة المؤقتة
درهم
218
أنواع وخصائص التخزين
الجدول 17.1أنواع التخزين مع السعة ووقت الوصول والحد األقصى لعرض النطاق
الترددي (سرعة النقل) وتكلفة السلعة
219
تنظيم تخزين قواعد البيانات
البيانات المستمرة
220
16.2أجهزة التخزين الثانوية
محرك القرص الصلب
اسطوانة
221
القرص أحادي الجانب وحزمة األقراص
الشكل ( 17.1أ) قرص أحادي الجانب مزود بجهاز للقراءة/الكتابة (ب) حزمة أقراص
مزودة بجهاز للقراءة/الكتابة 222
القطاعات الموجودة على القرص
الشكل 16.2منظمات القطاعات المختلفة على القرص (أ) القطاعات التي تميل إلى زاوية ثابتة (ب)
القطاعات التي تحافظ على كثافة تسجيل موحدة
223-
أجهزة التخزين الثانوية (تابع)
التنسيق
متعادل
224
أجهزة التخزين الثانوية (تابع)
وحدة تحكم القرص
SCSI
ساتا
ساس
225
أجهزة التخزين الثانوية (تابع)
تقنيات الوصول الفعال للبيانات
226
تخزين أجهزة الحالة الصلبة
ُيطلق عليه أحياًنا تخزين الفالش
227
أجهزة تخزين الشريط المغناطيسي
وصول متسلسل
يتم تثبيت الشريط ومسحه ضوئًيا حتى تصبح الكتلة المطلوبة تحت رأس
القراءة/الكتابة
وظائف مهمة
دعم
أرشيف
228
17.3التخزين المؤقت للكتل
يعد التخزين المؤقت مفيًد ا للغاية عندما يمكن تشغيل العمليات بشكل
متزامن بالتوازي
230
إدارة المخزن المؤقت واستراتيجيات االستبدال
معلومات إدارة المخزن المؤقت
231
17.4وضع سجالت الملفات على القرص
السجل :جمع قيم أو عناصر البيانات ذات الصلة
رقمي
خيط
منطقية
التاريخ/الوقت
232
وضع سجالت الملفات على القرص (تابع)
أسباب السجالت ذات الطول المتغير
233
حظر السجالت والسجالت الممتدة مقابل السجالت
غير الممتدة
سجالت الملفات المخصصة لكتلالقرص
يشير المؤشر الموجود في نهاية الكتلة األولى إلى الكتلة التي تحتوي على
بقية السجل
غير ممتد
234
حظر السجالت والسجالت الممتدة مقابل السجالت
غير الممتدة (تابع)
عامل المنع
235
حظر السجالت والسجالت الممتدة مقابل السجالت
غير الممتدة (تابع)
تخصيص كتل الملفات على القرص
236
17.5العمليات على الملفات
عمليات االسترجاع
237
العمليات على الملفات (تابع)
أمثلة على عمليات الوصول إلى سجالت الملفات
يفتح
يجد
يقرأ
يمسح
إدراج
يغلق
مسح
238
17.6ملفات السجالت غير المرتبة (ملفات الكومة)
ملف كومة (أو كومة).
239
17.7ملفات السجالت المرتبة (الملفات المصنفة)
ملف مرتب (متسلسل).
يتم استدعاؤه بمفتاح الطلب إذا كان حقل الطلب حقًال رئيسًيا
مزايا
تعتبر قراءة السجالت حسب ترتيب القيمة األساسية فعالة للغاية
240
أوقات الوصول لمختلف منظمات الملفات
241
17.8موازنة الوصول إلى القرص باستخدام تقنية
RAID
المصفوفات الزائدة من األقراص المستقلة ()RAID
242
موازنة الوصول إلى القرص باستخدام تقنية RAID
(تابع)
تحسين الموثوقية باستخدام RAID
243
موازنة الوصول إلى القرص باستخدام تقنية RAID
(تابع)
منظمات ومستويات ( RAIDتابع)
244
موازنة الوصول إلى القرص باستخدام تقنية RAID
(تابع)
منظمات ومستويات ( RAIDتابع)
يحمي من ما يصل إلى فشلين في القرص باستخدام قرصين زائدين فقط
تتطلب المستويات األخرى إعادة البناء من خالل قراءة أقراص متعددة
245
مستويات RAID
الشكل 17.14بعض المستويات الشائعة لـ ( RAIDأ) مستوى :RAID 1انعكاس البيانات على قرصين (ب) مستوى
:RAID 5تقسيم البيانات بتكافؤ موزع عبر أربعة أقراص
246
17.7بنيات التخزين الحديثة
شبكات منطقة التخزين ()SAN
أجهزة التخزين الطرفية عبر اإلنترنت التي تم تكوينها كعقد على شبكة
عالية السرعة
التخزين المتصل بالشبكة ()NAS
البعيدة
247
بنيات التخزين الحديثة (تابع)
القناة الليفية عبر )IP (FCIP
رموز التحكم في القنوات الليفية والبيانات المترجمة إلى حزم IP
يتم نقلها بين شبكات SANذات القنوات الليفية البعيدة جغرافًيا
248
بنيات التخزين الحديثة (تابع)
ترتيب التخزين اآللي
ينقل البيانات تلقائًيا بين أنواع التخزين المختلفة حسب الحاجة
تم نقل البيانات المستخدمة بشكل متكرر إلى محركات األقراص ذات الحالة
الصلبة
التخزين القائم على الكائنات
تتم إدارة البيانات في شكل كائنات بدًال من ملفات مصنوعة من كتل
مناسب بشكل مثالي للتخزين القابل للتطوير للبيانات غير المنظمة
249
17.12ملخص
األقراص المغناطيسية
غارة
250
251
الفصل 18
252
مخطط الفصل
أنواع الفهارس المرتبة ذات المستوى الواحد
المؤشرات األولية
مؤشرات التجميع
المؤشرات الثانوية
مؤشرات متعددة المستويات
253
الفهارس كمسارات الوصول
الفهرس ذو المستوى الواحد هوملف مساعدمما يجعل البحث عن سجل في
254
الفهارس كمسارات الوصول (تابع)
عادة ما يشغل ملف الفهرس بشكل كبيرأقلكتل القرص من ملف البيانات
أمؤشر كثيفلديه إدخال فهرس لكل قيمة مفتاح البحث(وبالتالي كل سجل) في
ملف البيانات.
أمتناثر(أوغير كثيف)ِفهِر سومن ناحية أخرى ،يحتوي على إدخاالت فهرس
255
أنواع الفهارس أحادية المستوى
الفهرس األساسي
يتضمن إدخال فهرس واحدلكل كتلةفي ملف البيانات؛ يحتوي إدخال الفهرس على
من ملف البيانات ومفاتيح سجل الربط الخاص بها بدًال من كل قيمة بحث.
يتطلب البحث الثنائي في ملف الفهرس وصوًال أقل للكتلة مقارنة بالبحث الثنائي في
ملف البيانات.
256
الفهرس األساسي في حقل مفتاح الطلب للملف
257
مثال :1
لنفترض أن لدينا ملًفا مرتًبا يحتوي على:
r=30000سجل (عدد السجالت)
B=1024بايت (حجم الكتلة)
R=100بايت (طول السجل)
V = 9بايت (طول حقل مفتاح الطلب لملف البيانات)
P = 6بايت (طول حقل المؤشر لملف الفهرس)
قم بتوضيح الحفظ في الوصول إلى الكتلة عند استخدام الفهرس األساسي للبحث عن ملفأِس ِج ّل؟
حل:
258
solution :
B 1024
bfr 10.24 10 rec / block
R 100
r 30000
b 3000 3000 blocks
bfr 10
a binary search on the data file would need approximately :
Ri P V 6 9 15 bytes
B 1024
bfri 68.26 68 rec / block
R i 15
r b 3000
bi i 45 blocks
bfri bfri 68i
يتم طلب ملف البيانات على ملفحقل غير رئيسي (ليس له قيمة مميزة لكل
سجل)على عكس الفهرس األساسي (الذي يتطلب أن يكون لحقل الطلب في ملف
البيانات قيمة مميزة لكل سجل).
يتضمن إدخال فهرس واحدلكل قيمة مميزةمن الميدان؛ يشير إدخال الفهرس
إلىأوًال كتلة البيانات التي تحتوي على سجالت بقيمة الحقل تلك.
وهو مثال آخر علىغير كثيفالفهرس حيث يكون اإلدراج والحذف واضًح ا نسبًيا مع
فهرس التجميع.
260
الشكل 18.2
فهرس تجميع في حقل الطلب غير األساسي DEPTNUMBERلملف الموظف.
261
الشكل 18.3
فهرس التجميع مع مجموعة كتل
منفصلة لكل مجموعة من
السجالت التي تشترك في نفس
القيمة لحقل التجميع
(للتخفيف من مشكلة اإلدراج).
262
أنواع الفهارس أحادية المستوى
يوفر الفهرس الثانوي وسيلة ثانوية للوصول إلى ملف يوجد له بالفعل بعض الوصول األساسي.
قد يكون الفهرس الثانوي في حقل يمثل مفتاًحا مرشًح ا وله قيمة فريدة في كل سجل ،أوغير مفتاحمع
القيم المكررة.
الفهرس عبارة عن ملف مرتب يحتوي على حقلين.
الحقل األول من نفس نوع البيانات مثل بعضغير الطلبمجالمن ملف البيانات الذي هومجال
الفهرسة.
الحقل الثاني إما أحاجزالمؤشر أو أِس ِج ّل المؤشر .يمكن أن يكون هناككثيرالفهارس الثانوية
263
الشكل 18.4
فهرس ثانوي كثيف (مع
مؤشرات كتلة) في حقل
مفتاح غير مرتب للملف.
264
مثال:2
لنفترض أن لدينا ملًفا مرتًبا يحتوي على:
r=30000سجل (عدد السجالت ذات الطول الثابت)
B=1024بايت (حجم الكتلة)
R = 100بايت (حجم السجل)
V = 9بايت (طولحقل المفتاح غير الطلبمن ملف البيانات)
P = 6بايت (طول حقل المؤشر لملف الفهرس)
لنفترض أننا قمنا بإنشاء فهرس ثانوي في حقل مفتاح غير مرتب لهذا الملف ( V = 9بايت).
توضيح الحفظ في الوصول إلى الكتلة عندما أثانوييتم استخدام الفهرس للبحث عنأِس ِج ّل؟
حل:
265
solution :
B 1024
bfr 10.24 10 rec / block
R 100
r 30000
b
bfr 10 3000 3000 blocks
To do a linear search on the data file, we would require b/2 block accesses
b/2 3000/2 1500 block accesses
Ri P V 6 9 15 bytes
B 1024
bfri
R 15 68.26 68 rec / block
i
ri 30000
bi 441.17 442 blocks
bfr
i 68i
267
فهرس أساسي ذو
مستويين يشبه منظمة
( ISAMطريقة
الوصول المتسلسل
المفهرسة).
268
مؤشرات متعددة المستويات
مثل هذا المؤشر متعدد المستويات هو شكل من أشكالشجرة البحث; ومع
ذلك ،يعد إدراج وحذف إدخاالت الفهرس الجديدة مشكلة خطيرة ألن كل
مستوى من مستويات الفهرس يمثل مشكلة خطيرةالملف المطلوب.
269
الفصل 26
تحتوي أنظمة إدارة قواعد البيانات العالئقية التجارية على إصدارات
الشريحة 272-26
النموذج المعمم لقواعد البيانات النشطة ومشغالت
أوراكل
نموذج الحدث-الشرط-اإلجراء (.)ECA
تحدد الحالة ما إذا كان يجب إكمال إجراء القاعدة أم ال
خياري
لن يكتمل اإلجراء إال إذا تم تقييم الحالة على أنها صحيحة
الشريحة 273-26
مثال
األحداث التي قد تتسبب في تغيير قيمة السمة Total_sal
الشريحة 275-26
الشكل 26.2تحديد القواعد النشطة كمشغالت في تدوين ( Oracleأ) مشغالت للحفاظ تلقائًيا على اتساق
Total_salالخاص بـ DEPARTMENT
الشريحة 276-26
الشكل ( 26.2تابع) تحديد القواعد النشطة كمحفزات في تدوين ( Oracleب) مشغل لمقارنة راتب الموظف
براتب المشرف عليه
الشريحة 277-26
مشكالت التصميم والتنفيذ لقواعد البيانات النشطة
قاعدة معطلة
الشريحة 278-26
مشكالت التصميم والتنفيذ لقواعد البيانات النشطة
(تابع)
توقيت العمل
قبل تنفيذ المشغل ،قبل تنفيذ الحدث الذي تسبب في المشغل
أو جزء من نفس المعاملة التي أدت إلى تفعيل القاعدة
الشريحة 279-26
مشكالت التصميم والتنفيذ لقواعد البيانات النشطة
(تابع)
اعتبار القاعدة
قم بتقييم الحالة إما قبل تنفيذ الحدث المحفز أو بعده أو بدًال من تنفيذه
الشريحة 280-26
مشكالت التصميم والتنفيذ لقواعد البيانات النشطة
(تابع)
قاعدة على مستوى الصف
الشريحة 281-26
أمثلة على القواعد النشطة على مستوى البيان في
STARBURST
الشكل ( 26.5تابع) القواعد النشطة التي تستخدم دالالت مستوى البيان في تدوين
STARBURST
الشريحة 282-26
أمثلة على القواعد النشطة على مستوى البيان في
( STARBURSTتابع)
الشريحة 283-26
التطبيقات المحتملة لقواعد البيانات النشطة
السماح باإلخطار بحاالت معينة تحدث
الشريحة 284-26
المشغالت في SQL-99
تأمين
الشريحة 286-26
مفاهيم قاعدة البيانات الزمنية (تابع)
كرونون
الشريحة 287-26
مفاهيم قاعدة البيانات الزمنية (تابع)
نقطة األحداث أو الحقائق
الشريحة 288-26
مفاهيم قاعدة البيانات الزمنية (تابع)
وقت الصفقة
الشريحة 289-26
مفاهيم قاعدة البيانات الزمنية (تابع)
الشكل 26.7أنواع مختلفة من قواعد البيانات العالئقية المؤقتة (أ) مخطط قاعدة بيانات الوقت الصالح (ب) مخطط قاعدة
بيانات وقت المعاملة (ج) مخطط قاعدة البيانات المؤقتة الثنائية
الشريحة 290-26
مفاهيم قاعدة البيانات الزمنية (تابع)
الشريحة 291-26
مفاهيم قاعدة البيانات الزمنية (تابع)
أنواع التحديثات
استباقي
متزامنة
يتم تسجيل الطابع الزمني كلما تم تطبيق التغيير على قاعدة البيانات
الشريحة 292-26
مفاهيم قاعدة البيانات الزمنية (تابع)
اعتبارات التنفيذ
أنشئ جدولين :أحدهما للمعلومات الصالحة حالًيا واآلخر لبقية المعلومات
الشريحة 293-26
مفاهيم قاعدة البيانات الزمنية (تابع)
إصدار السمة
كائن بسيط ومعقد يستخدم لتخزين كافة التغييرات الزمنية للكائن
يتم إصدار القيم بمرور الوقت عن طريق إضافة فترات زمنية إلى السمة
الشريحة 294-26
الشكل 26.10مخطط ODLالمحتمل لفئة كائن EMPLOYEE_VTللوقت الصالح باستخدام إصدار السمة
الشريحة 295-26
مفاهيم قاعدة البيانات الزمنية (تابع)
لغة TSQL2
قد تتضمن شروط استعالم قاعدة البيانات المؤقتة الوقت والسمات
الشريحة 296-26
مفاهيم قاعدة البيانات الزمنية (تابع)
إنشاء بيان الجدول
أمثلة:
حدد ما إذا كانت الفترة الزمنية أو النقطة مرتبطة بُبعد زمني صالح
الشريحة 297-26
مفاهيم قاعدة البيانات الزمنية (تابع)
بيانات السالسل الزمنية
الشريحة 298-26
26.3مفاهيم قاعدة البيانات المكانية
تدعم قواعد البيانات المكانية المعلومات حول الكائنات الموجودة في
الشريحة 299-26
مفاهيم قاعدة البيانات المكانية (تابع)
عمليات القياس
اكتشف العالقات المكانية داخل طبقات البيانات المعينة وفيما بينها
الشريحة 300-26
مفاهيم قاعدة البيانات المكانية (تابع)
تحليل الموقع
تحديد ما إذا كانت مجموعة معينة من النقاط والخطوط تقع ضمن مضلع
معين
تحليل التضاريس الرقمية
الشريحة 301-26
مفاهيم قاعدة البيانات المكانية (تابع)
الشريحة 302-26
مفاهيم قاعدة البيانات المكانية (تابع)
أنواع البيانات المكانية
الشريحة 303-26
مفاهيم قاعدة البيانات المكانية (تابع)
فئات المشغل المكاني
الشريحة 304-26
مفاهيم قاعدة البيانات المكانية (تابع)
االستعالمات المكانية
على سبيل المثال :العثور على سيارة الشرطة أقرب موقع للجريمة
مثال :ابحث عن جميع المنازل الواقعة على بعد ميلين من البحيرة
الشريحة 305-26
مفاهيم قاعدة البيانات المكانية (تابع)
فهرسة البيانات المكانية
الشريحة 306-26
26.4مفاهيم قاعدة بيانات الوسائط المتعددة
تسمح قواعد بيانات الوسائط المتعددة للمستخدمين بتخزين الصور
الشريحة 307-26
مفاهيم قاعدة بيانات الوسائط المتعددة (تابع)
العالمات الداللية للصور
الشريحة 308-26
26.5مقدمة لقواعد البيانات االستنتاجية
تستخدم قاعدة البيانات االستنتاجية الحقائق والقواعد
إذا كانت الحجج كلها قيًم ا ثابتة ،فإن المسند ينص على أن حقيقة معينة
صحيحة
إذا كانت الوسائط متغيرات ،فسيتم اعتبارها بمثابة استعالم أو جزء من
قاعدة أو قيد
الشريحة 309-26
تدوين Prologوالشجرة اإلشرافية
الشريحة 310-26
مقدمة إلى قواعد البيانات االستنتاجية (تابع)
تدوين سجل البيانات
الشريحة 311-26
مقدمة إلى قواعد البيانات االستنتاجية (تابع)
الشريحة 312-26
مقدمة إلى قواعد البيانات االستنتاجية (تابع)
برنامج أو قاعدة آمنة
الشريحة 313-26
استخدام العمليات العالئقية
الشكل 26.16المسندات
للتوضيح
العمليات العالئقية
الشريحة 314-26
26.6ملخص
قواعد البيانات النشطة
الشريحة 315-26