اهم الفروق بين sql server و oracle
اما الاوراكل فتعتبر نسبة حدوث مشاكل الانضراب في قاعدة البيانات كبيرة جدا مقارنة مع قواعد بيانات sql وهذا لايعد عيبا فيها ولاكنه يحدث بسبب الطريقة او الهيكلية التي تتبعها الاوراكل لإدارة قاعدة البيانات فإذا اتينا للمقارنة بين sqlو oracle نحصل على الفروق الرئيسية التالية
علاقة قاعدة البيانات بسرفر إدارة قاعدة البيانات
١-اوراكل تسمح بإنشاء قاعدة بيانات واحدة في كل instance اداري وبالتالي تعتبر البيانات الإدارية ضمن قاعدة البيانات مثل مكونات قاعدة البيانات واجزائها وقواميس البيانات وكذلك احصائات ومتابعة الاستخدام.
٢-مايكروسوفت تسمح بإنشاء اكثر من قاعدة بيانات في نفس instance وبالتالي تكون ملفات قاعدة البيانات مستقلة عن البيانات التي يستخدمها instanceلادارة قاعدة البيانات
تخزين وبناء قواميس البيانات
١-قواعد البيانات أوراكل تقوم بتخزين المعلومات الإدارية لإدارة قواعد البيانات وهنا نقصد قواميس البيانات ضمن نفس قاعدة البيانات وبالتالي اذا حصل انضراب في جزء قاعدة البيانات الذي يستخدمة السيرفر لإدارة قاعدة البيانات من الصعب استرجاعها لانه يتم بناء هيكلية الأجزاء الأخرى لقاعدة البيانات بناء على البيانات المخزنة في هذا الجزء system and sysaux tablespaces وبالتالي عند حصول انضراب فيها فسوف تفشل قاعدة البيانات بشكل كلي .
٢-بينما في قاعدة البياناتsqlيتم تخزين البيانات الإدارية في قواعد بيانات منفصلة master ويتم بناء قواعد ع لبيانات الإدارية بناء على هيكلية قواعد البيانات المتصلة في السرفر بمعنى اذا تم اضافة قاعدة بيانات تحت اسم newdbفسيتم قراءة هيكليتها من نفس الملف وتعبئتها إلى master وبالتالي اذا حصل انضراب في قواعد البيانات الإدارية فسيتم إعادة بنائها عند الاتصال بقاعدة البيانات
recovery mode
1-الاوراكل تعتمد على full recovery modeويعني هذا انها تقوم بتخزين البيانات على مرحلتين احداها مؤقتة والأخرى دائمة حيث يتم تخزين البيانات المؤقتة في ملفات منفصلة redo log fileومن ثم تخزينها بشكل ثابت في tablespace وتتم عملية مقارنة بين تلك البيانات في الملفات المؤقتة وبين البيانات في الملفات الدائمة واذا فشلت عملية المقارنة تفشل قاعدة البيانات في العمل ولابد من استعادة الاوراكل إلى نقطة سابقة مستقرة .
٢-في sql يتم الاعتماد على sample recovery mod وبالتالي يتم تخزين البيانات مباشرة على قواعد البيانات
ويضهر هذا جليا عند تعديل البيانات في قواعد البيانات وبالتالي في الاوراكل لابد من اعتماد التعديلات او التراجع عنها بينما في sql يتم اعتمادها مباشرة ..طبعا اذا لم يتم استخدام transaction.
ويعتبر هذا الفرق هو السبب الرئيسي بتأثر الاوراكل بتوقفها المفاجئ مثل انقطاع التيار الكهربائي او ايقافها من نظام التشغيل وبالتالي قد تسبب في انضراب لقاعدة البيانات وعدم تأثر sql بهذا النوع.
استقلالية الملفات
1-في الاوراكل يتم تقسيم قاعدة البيانات إلى أجزاء مستقلة وهي ملفات التحكم وملفات redo وملفات البيانات tablespaces وبالتالي يتم تقسيم العمل على قاعدة البيانات إلى دورات ولابد من توافق نفس رقم الدورة في كل الملفات او الأجزاء الإدارية
٢-فيsql يتم خزن قاعدة البيانات في ملف واحد وبالتالي لايوجد حاجة للمقارنة بين حالة ملف قاعدة البيانات مع شي اخر
وبالتالي هذا الفرق الجوهري يسبب أيضا آلانضراب ففي الاوراكل اذا اختلف رقم التعديل في احد أجزاء قاعدة البيانات يسبب فشل لقاعدة البيانات بينما في sql لايوجد هذا الأسلوب الإداري.
إدارة الذاكرة
١-تعتمد الاوراكل على إدارة الذاكرة بشكل مستقل عن نظام التشغيل فيما يسمى sga وبالتالي يعتبر هذا سبب لزيادة عدد العمليات المتصلة بقاعدة البيانات
٢- تعتمد sql على نظام التشغيل لإدارة الذاكرة وبالتالي يتم إنهاء الاتصال بقاعدة البيانات عند الانتهاء من معالجة البيانات
فمثلا اذا تم فتح ٥ شاشات في نظام الاونكس بغض النظر عن نوع العمل عليها او انها في حالة عدم استخدام فستكون هناك خمسة اتصالات بقاعدة البيانات بينما اذا تم فتح ٥ شاشات في البلاس فستكون متصلة بقاعدة البيانات فقط عند الاحتياج لمعالجة او استرجاع البيانات
وبالتالي يعتبر هذا الفرق الجوهري سببا أيضا بتأثر الاوراكل بالتوقف المفاجئ وعدم تأثر sql
وبالتالي هناك احتمالية في الاوراكل إلى فقدان احد أجزاء او ملفات قاعدة البيانات وبالتالي ستفشل قاعدة البيانات عن العمل
ويسبب هذا أيضا صعوبة في عملية الاحتفاظ بنسخة كاملة من قاعدة البيانات حيث أن عملية النسخ الاحتياطي الموجودة حاليا تتم على مستوى المستخدم في قاعدة البيانات
بينما في sqlتعتبر عملية التصدير لقاعدة البيانات تعبر عن كل محتويات قاعدة البيانات ومن السهل استرجاعها بالكامل في سيرفر اخر او حتى عند حصول انضراب في قاعدة البيانات
تعليقات
إرسال تعليق