محرك قاعدة البيانات

محرك قاعدة البيانات ( أو محرك التخزين ) هو المكون البرمجي الأساسي الذي يستخدمه نظام إدارة قواعد البيانات (DBMS) لإنشاء البيانات وقراءتها وتحديثها وحذفها (CRUD) من قاعدة البيانات . تتضمن معظم أنظمة إدارة قواعد البيانات واجهة برمجة تطبيقات (API) خاصة بها ، تُمكّن المستخدم من التفاعل مع محركها الأساسي دون الحاجة إلى استخدام واجهة المستخدم الخاصة بنظام إدارة قواعد البيانات.

يُستخدم مصطلح "محرك قاعدة البيانات" بشكل متكرر كمرادف لمصطلحي " خادم قاعدة البيانات " أو "نظام إدارة قاعدة البيانات". ويشير مصطلح "مثيل قاعدة البيانات" إلى العمليات وهياكل الذاكرة الخاصة بمحرك قاعدة البيانات قيد التشغيل.

محركات التخزين

تدعم العديد من أنظمة إدارة قواعد البيانات الحديثة محركات تخزين متعددة ضمن قاعدة البيانات نفسها. على سبيل المثال، يدعم MySQL كلاً من InnoDB و MyISAM .

بعض محركات التخزين هي محركات معاملات .

اسمرخصةالمعاملاتالتوافقملحوظات
أريارخصة جنو العموميةلاMariaDB و MySQL
فالكونرخصة جنو العموميةنعمMySQLتم إيقاف إنتاجه
إنود ​​بيرخصة جنو العموميةنعمMySQL و MariaDBالإعداد الافتراضي لـ MySQL و MariaDB
ذاكرةرخصة جنو العموميةلاMySQL و MariaDB
ماي إيسامرخصة جنو العموميةلاMySQLكان هذا هو الإعداد الافتراضي لـ MySQL
إنفيني دي بيرخصة جنو العموميةلا
TokuDBرخصة جنو العموميةنعمMySQL و MariaDBيستخدم فهرس الشجرة الكسورية
وايرد تايجررخصة جنو العموميةنعمMongoDBالوضع الافتراضي لـ MongoDB
XtraDBرخصة جنو العموميةنعمMariaDB و Percona Server لـ MySQL
RocksDB / MyRocksرخصة جنو العمومية الإصدار الثاني أو رخصة أباتشي 2.0نعمأرانجو دي بي ، كاساندرا ، ماريا دي بي، مونجو دي بي، ماي إس كيو إل، سريال دي بي، تي آي دي بي

تشمل أنواع المحركات الإضافية ما يلي:

اعتبارات التصميم

تُخزَّن المعلومات في قاعدة البيانات على شكل بتات، مُرتبة في هياكل بيانات على أجهزة التخزين. صُممت هذه الهياكل لضمان كفاءة عمليات القراءة والكتابة من وإلى أجهزة التخزين. عادةً ما تُصمَّم أجهزة التخزين نفسها لتلبية متطلبات الأنظمة المختلفة، بما في ذلك قواعد البيانات، التي تستخدم التخزين بكثافة. يستخدم نظام إدارة قواعد البيانات (DBMS) العامل دائمًا أنواعًا متعددة من التخزين في آنٍ واحد. تتطلب هذه الأنواع المختلفة من التخزين، مثل ذاكرة الفلاش والتخزين على الأقراص الخارجية ، طرقًا مختلفة لترتيب البيانات.

من حيث المبدأ، يمكن اعتبار تخزين قواعد البيانات فضاءً خطيًا للعناوين، حيث يمتلك كل بت من البيانات عنوانًا فريدًا. عمليًا، لا تُحفظ سوى نسبة ضئيلة جدًا من العناوين كنقاط مرجعية أولية، والتي تتطلب بدورها مساحة تخزين. أما معظم البيانات، فيتم الوصول إليها بطريقة غير مباشرة باستخدام حسابات الإزاحة (المسافة بالبتات من النقاط المرجعية) وهياكل البيانات التي تُحدد مسارات الوصول (باستخدام المؤشرات) إلى جميع البيانات المطلوبة بكفاءة، بما يتناسب مع عمليات الوصول إلى البيانات اللازمة.

التسلسل الهرمي لتخزين قواعد البيانات

تتواجد قاعدة البيانات، أثناء تشغيلها، في عدة أنواع من وحدات التخزين في آنٍ واحد، مُشكّلةً بذلك تسلسلاً هرمياً للتخزين . داخل الحاسوب الحديث الذي يستضيف نظام إدارة قواعد البيانات، يتواجد معظم جزء "قاعدة البيانات"، مع نسخ جزئية، في وحدات تخزين مؤقتة . أما البيانات التي تتم معالجتها وتعديلها بشكل مستمر، فتتواجد داخل المعالج ، وربما في ذاكرة التخزين المؤقت الخاصة به . تُقرأ هذه البيانات من الذاكرة وتُكتب إليها، عادةً عبر ناقل بيانات الحاسوب ، والذي يُعدّ في الغالب وحدة تخزين مؤقتة. تنقل ذاكرة الحاسوب البيانات من وإلى وحدات التخزين الخارجية، عادةً عبر واجهات أو شبكات تخزين قياسية (مثل قناة الألياف ، وiSCSI ).

تتميز مصفوفة التخزين ، وهي وحدة تخزين خارجية شائعة، بهيكل تخزين خاص بها. يتم توصيل ذاكرة تخزين مؤقتة سريعة، تتكون عادةً من ذاكرة وصول عشوائي ديناميكية (DRAM ) سريعة ومتطايرة، (عبر واجهات قياسية) بمحركات الأقراص. قد تختلف سرعات هذه المحركات، مثل محركات أقراص الفلاش ومحركات الأقراص المغناطيسية غير المتطايرة . يرتبط السعر والسرعة عمومًا. يمكن توصيل محركات الأقراص بأشرطة مغناطيسية ، حيث تُخزَّن عليها الأجزاء الأقل استخدامًا من قاعدة بيانات كبيرة. وقد تكون هذه الأشرطة أيضًا مكانًا لتخزين النسخ الاحتياطية .

هياكل البيانات

بنية البيانات هي بنية مجردة تُضمّن البيانات بطريقة محددة بدقة. تسمح بنية البيانات الفعّالة بمعالجة البيانات بكفاءة عالية، بما في ذلك إدخال البيانات وحذفها وتحديثها واسترجاعها بأنماط مختلفة. قد يكون نوع معين من بنى البيانات فعالاً للغاية في عمليات معينة، وغير فعال في عمليات أخرى. يُختار نوع بنية البيانات أثناء تطوير نظام إدارة قواعد البيانات (DBMS) ليُلبي على أفضل وجه العمليات المطلوبة لأنواع البيانات التي يحتويها. عادةً ما يُراعى عند اختيار نوع بنية البيانات لمهمة معينة نوع التخزين الذي توجد فيه (مثل سرعة الوصول، والحد الأدنى لحجم جزء التخزين الذي يتم الوصول إليه، إلخ). في بعض أنظمة إدارة قواعد البيانات، يتمتع مديرو قواعد البيانات بمرونة اختيار بنى البيانات المناسبة لاحتواء بيانات المستخدم لأسباب تتعلق بالأداء. أحيانًا، تحتوي بنى البيانات على معلمات قابلة للتحديد لضبط أداء قاعدة البيانات.

قد تخزن قواعد البيانات البيانات في أنواع متعددة من هياكل البيانات. [ 1 ] ومن الأمثلة الشائعة ما يلي:

توجيه البيانات وتجميعها

على عكس التوجه التقليدي للصفوف، يمكن أن تكون قواعد البيانات العلائقية موجهة للأعمدة أو مترابطة في طريقة تخزينها للبيانات في أي بنية معينة.

بشكل عام، يتحقق تحسن ملحوظ في الأداء عند تخزين أنواع مختلفة من كائنات قواعد البيانات التي تُستخدم عادةً معًا في مكان واحد، أي عند تجميعها في مجموعات. يتيح هذا عادةً استرجاع الكائنات ذات الصلة المطلوبة من وحدة التخزين بأقل عدد ممكن من عمليات الإدخال (والتي قد تستغرق كل منها وقتًا طويلاً). حتى بالنسبة لقواعد البيانات الموجودة في الذاكرة، يوفر التجميع ميزة في الأداء نظرًا للاستخدام المشترك لذاكرة التخزين المؤقت الكبيرة لعمليات الإدخال والإخراج في الذاكرة، مع نتائج مماثلة.

على سبيل المثال، قد يكون من المفيد تجميع سجل "سلعة" موجودة في المخزون مع جميع سجلات "الطلبات" الخاصة بها. ويعتمد قرار تجميع عناصر معينة من عدمه على إحصائيات استخدام هذه العناصر، وأحجامها، وأحجام ذاكرة التخزين المؤقت، وأنواع التخزين، وما إلى ذلك.

فهرسة قواعد البيانات

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

تؤثر الفهارس على الأداء، ولكن ليس على النتائج. يستطيع مصممو قواعد البيانات إضافة الفهارس أو إزالتها دون تغيير منطق التطبيق، مما يقلل تكاليف الصيانة مع نمو قاعدة البيانات وتطور استخدامها. يمكن للفهارس تسريع الوصول إلى البيانات، ولكنها تستهلك مساحة في قاعدة البيانات، ويجب تحديثها في كل مرة يتم فيها تعديل البيانات. لذلك، يمكن للفهارس تسريع الوصول إلى البيانات ولكنها تبطئ صيانتها. هاتان الخاصيتان تحددان ما إذا كان الفهرس يستحق التكلفة.

مراجع

  1. لايتستون، س.؛ تيوري، ت.؛ نادو، ت. (2007). تصميم قواعد البيانات المادية: دليل متخصصي قواعد البيانات لاستغلال الفهارس، والعروض، والتخزين، والمزيد . دار مورغان كوفمان للنشر. ISBN 978-0-12-369389-1.
  • https://web.archive.org/web/20100330045149/http://dev.mysql.com/tech-resources/articles/storage-engine/part_3.html
  • كتاب "دليل مسؤول MySQL" الفصل 11 "محركات التخزين"