2008/05/18

MS SQL Server vs MS Access - Many transaction

عند الحديث عن قواعد البيانات فإن أول ما يخطر ببال المبرمجين نوعين من قواعد البيانات:

  1. قاعدة بيانات متنقلة: أي يمكن نقلها مع البرنامج التشغيلي وتشغيلها من أي جهاز بدون قيد، كما أنها صغيرة الحجم سريعة فيما يتعلق بالعمليات قليلة العدد، سهلة الإعداد والتعديل والنل والنسخ الإحتياطي، إلا أنها تعاني من عيوب كذلك منها بطئها عندما يزداد حجمها، وعدم قابليتها للعمل مع أكثر من مستخدم في نفس الوقت، ومن أشهر هذه الأنواع Microsoft Access.
  2. قاعدة بيانات مركزية: تتميز بوجود محرك لقواعد البيانات (Database Engine) يقوم بتنفيذ كل الأوامر الموجهة لقاعدة البيانات (إضافة، إلغاء، تحديث و عرض البيانات)، كما أن لها برنامج (Database Agent) يقوم بمهام إصلاح البيانات المعطوبة والقيام بمهام النسخ الإحتياطي وإبلاغ مدير قواعد البيانات بوجود أي مشاكل، لكنها تتطلب جهاز خادم خاص بها، كما لايمكن حملها بسهولة.

في أحد برامجي أحتجت لقاعدة بيانات تمتلك المواصفات التالي:

  • بسيطة التركيب.
  • يتم الإتصال بها عن طريق أكثر من برنامج واحد في نفس الوقت.
  • سريعة الإستجابة.
  • قليلة الأعطال.

توجهت مباشرة لإستخدام قاعدة بيانات MS Access بسبب صغر الحجم وسهولة الإستخدام، لكن عندما بدأت البيانات في الإستزادة وعندما بدأ أكثر من برنامج يطلب البيانات منها ويقوم بالتخزين بداخلها، بدأت المشاكل بالظهور (أتحدث عن أكثر من 60 عملية في الدقيقة الواحدة)، وبدأت تظهر مشكلة أن قاعدة البيانات محجوزة من قبل مستخدم أخر، حتى بإستخدام ODBC مع Access ظهرت نفس المشاكل.

فقررت إستخدام قاعدة بيانات MS SQL Server 2000 Enterprise، وكانت المفاجأة حيث أن كل المشاكل أختفت فجأة حتى مع تزايد عمليات (الإضافة، التعديل ، العرض، الحذف) كل ذلك وقاعدة البيانات تعمل بدون كلل.

No comments: