من أنواع قواعد البيانات النموذج العلائقي والمستندات والمفتاح والقيمة والبياني. يختلف شكل المعلومات وطريقة سؤالها، ولا يوجد نموذج واحد مناسب لكل مهمة. [1][2][3][4]
الخلاصة السريعة
من أنواع قواعد البيانات النموذج العلائقي والمستندات والمفتاح والقيمة والبياني. يختلف شكل المعلومات وطريقة سؤالها، ولا يوجد نموذج واحد مناسب لكل مهمة. [1][2][3][4]
- في النموذج العلائقي تنظم البيانات في جداول ذات صفوف وأعمدة. لا يعني حفظ الصفوف أن الاستعلام يعيدها بترتيب ثابت دون طلب ترتيب. [1]
- تحفظ قواعد المستندات بيانات في مستندات يمكن أن تتداخل بنيتها، مثل JSON أو BSON. مرونة MongoDB لا تمنع التحقق من المخطط أو المعاملات. [2]
- يربط نموذج المفتاح والقيمة مفتاحًا محددًا بقيمة تسترجع به. قد يقدم النظام، مثل Redis، أنواع بيانات ووظائف إضافية. [3]
- يمثل النموذج البياني الأشياء بعقد والعلاقات بروابط. في Neo4j للعلاقة بداية ونهاية ونوع واتجاه، ويمكن أن تحمل خصائص. [4]
- «سحابي» يصف مكان تشغيل الخدمة، أما الجدول والمستند والعلاقة فتصف تنظيم بياناتها. قبل بحث الاستضافة، حدد السؤال الذي يجب أن يجيب عنه تصميمك. [2]
الجداول العلائقية: بيانات منظمة في صفوف
في النموذج العلائقي تنظم البيانات في جداول ذات صفوف وأعمدة. لا يعني حفظ الصفوف أن الاستعلام يعيدها بترتيب ثابت دون طلب ترتيب. [1]
لنأخذ ورشة افتراضية لصيانة أجهزة: جدول الأجهزة فيه المعرف واسم الجهاز، وجدول الطلبات فيه رقم الطلب ومعرف الجهاز. طلبان برقمين مختلفين قد يخصان الجهاز نفسه. هذا التصميم المؤلف يفصل الجهاز عن حدث طلب الصيانة؛ أرقامنا ليست سجلات عمل حقيقية. [1]
المستندات: وصف واحد ببنية داخلية
تحفظ قواعد المستندات بيانات في مستندات يمكن أن تتداخل بنيتها، مثل JSON أو BSON. مرونة MongoDB لا تمنع التحقق من المخطط أو المعاملات. [2]
في نسخة أخرى من مثال الورشة، نضع وصف الجهاز وقائمة مهام فحصه داخل مستند واحد. السؤال «ما مهام الجهاز ج7؟» يبدأ من وصفه. اخترنا تجميع هذه المعلومات للمثال؛ لا يعني ذلك وجوب وضع كل تاريخ الورشة داخل مستند واحد. [2]
المفتاح والقيمة: الوصول باسم محدد
يربط نموذج المفتاح والقيمة مفتاحًا محددًا بقيمة تسترجع به. قد يقدم النظام، مثل Redis، أنواع بيانات ووظائف إضافية. [3]
نمثل حالة الطلب في مثالنا بالزوج «طلب:81» و«جاهز». نطلب قيمة المفتاح نفسه لمعرفة الحالة. أما سؤال «كم طلبًا جاهزًا لدينا؟» فليس طلب القيمة نفسها؛ يحتاج إلى طريقة أخرى تناسب تنظيم هذه البيانات والوظائف التي اخترناها. [3]
الرسم البياني: السؤال عن الروابط
يمثل النموذج البياني الأشياء بعقد والعلاقات بروابط. في Neo4j للعلاقة بداية ونهاية ونوع واتجاه، ويمكن أن تحمل خصائص. [4]
في الورشة المؤلفة، جهازان يعتمدان على وحدة تحكم واحدة. نرسم لكل جهاز رابطًا اسمه «يعتمد على» نحو الوحدة. أصبح سؤالنا: ما الأجهزة المرتبطة بهذه الوحدة؟ أسماء العقد ومعنى السهم من تصميم المثال؛ الرسم لا يثبت أن الجهازين مصنوعان في المصنع نفسه. [4]
النموذج يتبع السؤال
في أمثلة الورشة سألنا عن سجلات طلبات، أو وصف جهاز، أو قيمة حالة، أو علاقة اعتماد. اكتب السؤال الذي تريد إجابته قبل الاختيار؛ هذه المقارنة أفضل من تحويل أسماء النماذج إلى ترتيب ثابت للأفضل.
«سحابي» يصف مكان تشغيل الخدمة، أما الجدول والمستند والعلاقة فتصف تنظيم بياناتها. قبل بحث الاستضافة، حدد السؤال الذي يجب أن يجيب عنه تصميمك. [2]
المصادر ومتابعة القراءة
- PostgreSQL: الجداول والصفوف والأعمدة والترتيب (يفتح في نافذة جديدة)postgresql.org
- MongoDB: نماذج القواعد والمستندات والتحقق والمعاملات (يفتح في نافذة جديدة)mongodb.com
- Redis: نموذج المفتاح والقيمة والوظائف الإضافية (يفتح في نافذة جديدة)redis.io
- Neo4j: العقد والعلاقات والخصائص (يفتح في نافذة جديدة)neo4j.com
أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.
