- الحصول على الرابط
- X
- بريد إلكتروني
- التطبيقات الأخرى
- الحصول على الرابط
- X
- بريد إلكتروني
- التطبيقات الأخرى
-فى المقالات السابقة وضحت مفهوم الـ data model وان هو عبارة عن abstract model بمعنى انه عبارة عن شكل وهمى من خلال بنعرف ال Structure الخاص بال database.
-بعد كده كتبت عن ال Relational data model و مقدمه بسيطه عن ال SQL.
- فى المقالات القادمة هبدأ اكتب عن ال Components الرئيسيه فى الـ DBMS وازى بيخزن الداتا وينظمها على ال storage وازاى يقدر يوصل ليها وهكذا.
الـ Comments الرئيسيه اللى موجوده فى معظم الـDBMS
1-Query Planning
2-Operator Execution Engine
3-Access Methods
4-Buffer Pool Manager
5-Disk Manager
1-Disk Manager
-الـ DBMS يفترض ان ال storage التى نستخدمها لحفظ ال database عبارة عن non-volatile disk .
-وال DBMS Comments هي المسؤولة عن نقل البيانات بين الـnon-volatile disk والـ volatile storage.
non-volatile storage
-عبارة عن storage بنستخدمها لحفظ البيانات البيانات وال storage بتفضل محتفظه بالداتا.
- مثل ال Hard Disk,ال Hard Disk يحتفظ بالبيانات اللى موجوده عليه حتى لو عملنا restart لل machine.
volatile storage
-عبارة عن storage يتم استخدامها لحفظ البيانات بس بشكل مؤقت.
- مثل ال RAM ,البيانات الموجودة فى Ram بيتم حذفها تلقائياً لو عملنا restart لل machine.
-ال volatile storage نقدر من خلالها نوصل للبيانات أسرع بس بتبقى المساحه الخاصه بيها اقل من ال non-volatile storage .
-علشان كدا الـ DBMS يفترض ان ال storage اللى هيخزن عليها ال database هى non-volatile storage مثل ال HDD و SSD.
-طبعاً اثناء عمل process ل data بيتم نقل او نقدر نقول الـ DBMS بياخد Copy من الداتا اللى عاوزها وينقلها لل RAM علشان يسرع ال operation وبعد انتهاء ال operation بيتم تعديل ال data اللى موجود على ال Hard لو حصل ليها تغير.
-فى الوقت الحالى بقى موجود Voltage Storage بحجم كبير او نقدر نقول الحجم اللى نقدر نستخدمها علشان نحفظ فيه ال Database ,بالتالى بقى موجود main memory database system أو in-memory database,بس بالتأكيد بيتم حفظ data بطريقه معينه او نقدر نقول recovery data على على non-volatile storage بحيث لو حصل مشكله وكل الداتا اللى موجوده فى ال Ram تم فقدها ,يتم استرجاع البيانات اللى تم فقدها.
-علشان كدا فى تحدي مهم بيقابل الـ DBMS وهو ازاى ينظم عملية نقل البيانات بين ال ram وال Hard Disk وخصوصاً أن عمليات القراءة والكتابة الخاصة بال Hard Disk بتاخد وقت وبتأثر على الأداء وال database ممكن يكون حجمها اكبر من حجم الـ ram المتاحة.
DBMS vs OS
-دلوقتي فهمنا أن فى operation مهمة بتتعمل وهى عملية نقل البيانات بين ال Ram وال Hard Disk
1-Let OS do the dirty work for us
-فى DBMS بيكون ال operation system هو المسؤول بس عن عملية نقل الملفات بين ال RAM وال Hard Disk.
-مثل: elasticSearch و LevelDB
-بس هذه الطريقة ممكن نقول ليها بعض العيوب لأن الـ OS بينقل المقات على حسب اللى هو شايفه صح , هي مجرد مهمة من المهمات الكتيره اللى بيعملها ال OS.
-الـ DBMS لما يعمل ال operation بنفسه هيضيف ليها تحسينات ,لأنه هو الوحيد اللى عارف ويقدر يقرر إذا كان محتاج يحذف الـ data من ال ram ولا لا.
-ممكن الـ DBMS بناءً على تحليل ال Query يعمل prefetching للداتا اللى هو عاوزها ودا هيوفر وقت فى تنفيذ ال Query..
2-Partial Usage
-فى DBMS بتستعين بال OS فى ال operation , بس فى نفس الوقت بيكون ليها implementation خاصه بيها و بتعمل control فى حالات معينة.
-مثل Sqlite و MongoDB
3-DBMS do it
-فى DBMS بتبقى مسؤولة مسؤليه كامله عن ال operation ولا يتم الأستعانه بال OS.
-مثل :SQL Server ,Oracle Db
تعليقات
إرسال تعليق