MyISAM و Innodb هما database Engines يمكن المفاضلة بينهما وفقاً للتطبيق المستخدم فى قاعدة البيانات , فالمعروف أن MyISAM هى الأسرع بينما Innodb هى الأكثر أماناً حيث يتوفر فيها شروط يطلق عليها الـ ACID و هى تلك الشروط اللازمه فى الأمور الخاصة بعمليات الدفع و الشراء عبر الإنترنت و لتوضيح المقصود بال ACID سأطرح هذا المثال :

إذا كنت تريد حجز تذكرة طائرة لفردين , ف فلابد من أن تقوم بحجز مقعدين , إذا حدثت مشكلة فى قاعدة البيانات أثناء عملية تسجيل طلبك فلا يصح أبداً أن يتم حجز تذكرة واحده لك و الأخرى لم تتمكن قاعدة البيانات من إتمامه , لذلك فإن إستخدام MyISAM فى هذه الحالة قد يؤدى لوقوع مثل هذه المشكلات , أم إستخدام Innodb فإنه يحول بين وقوعها إما بحجز المقعدين أو عدم إتمام الحجز أسااساً

و ال ACID هو إختصار لـ : Atomicity, Consistency, Isolation, Durability

و ال Atomicity هى المصطلح الذى يشير إلى المثال المطروح بالأعلى و بقية المصطلحات تشير إلى :

Consistency : الثبات و عدم قابلية الإنتهاك و ألا يتم أمر تسجيل فى قاعدة البيانات طرأ عليه تغيير أثناء أرسال الأمر لها

Isolation : العزل و هى الطريقة التى تحدد كيفية تأثر العمليات المرتبطة بالعملية التى تم تغييرها

Durability : قوة التحمل و هى تجعل قاعدة البيانات أكثر تحملاً للطلبات المرسلة و حفظها حفظاً نهائياً حتى لو تحطم النظام و حدث خلل فيه فطالما أنك حصلت على تأكيد بإتمام العملية فكن على ثقة أنه تم حفظها

فمتى تستخدم كل منهما فى تطبيقاتك ؟