قواعد البيانات
عادة تُستخدم أنظمة الملفات لتخزين البيانات العشوائية كملفات على الأقراص، مع بعض نماذج بيانات التعريف (مثل اسم الملف) المستخدمة لتعريف وتحديد موقع هذه الملفات. تقدم أنظمة الملفات إمكانات بحث وفهرسة بدائية، ويكون البحث في محتويات الملفات للعثور على المعلومات التي تحتاج إليها في كثير من الأحيان عملية مرهقة وشاقة. عندما تكون البيانات قابلة للهيكلة، فمن المعتاد تنظيمها في قاعدة بيانات، باستخدام نموذج محدد جيدا (يعرف أيضا باسم المخطط). يوفر الفيديو التالي نظرة عامة على قواعد البيانات:
وتتألف قاعدة البيانات من مجموعة منظمة من البيانات لاستخدام واحد أو أكثر، وعادة ما تكون في نموذج رقمي. تعتبر قواعد البيانات إحدى طرق تخزين المعلومات واسترجاعها الأكثر شعبية لكثير من أنواع التطبيقات، بما في ذلك البيانات المالية، والتصنيع، والأعمال، وبيانات شؤون العاملين.
تطورت قواعد البيانات على مر السنين، بدءا من نموذج التنقل في الستينات، الذي خزن البيانات كسجلات مع المؤشرات المرتبطة بالسجل التالي و/أو السابق في قاعدة البيانات. ومن الأمثلة على ذلك نهج CODASYL ، الذي تطور في نهاية المطاف إلى اللغة العامة الموجهة نحو الأعمال (COBOL). واعتمد نهج CODASYL على التنقل "اليدوي" لمجموعة البيانات المرتبطة، والتي تم تشكيلها في "شبكة" كبيرة من البيانات المرتبطة، أشبه كثيرًا بقائمة مرتبطة دائرية. عندما افتتحت قاعدة البيانات لأول مرة من قبل برنامج، أُعيد البرنامج إلى ارتباطه إلى الخلف بالسجل الأول في قاعدة البيانات، والتي تحتوي أيضًا على مؤشرات لأجزاء أخرى من البيانات. ولإيجاد أي سجل محدد، كان على المبرمج اجتياز هذه المؤشرات واحدًا تلو الأخر حتى تتم إعادة السجل المطلوب. تتطلب الاستعلامات البسيطة التي تجمع المعلومات عبر السجلات فحصا كاملا لقاعدة البيانات بأكملها - لم تكن مفاهيم مثل البحث والفهرسة موجودة بعد ذلك. وكان نهج CODASYL مناسبًا في عصر كانت فيه الأشرطة المغناطيسية هي الوسيلة الأساسية للذاكرة المستديمة، والتي يمكن قراءتها بشكل تعاقبي فقط وليست لها خصائص وصول عشوائية.
كان ظهور نموذج قاعدة البيانات الارتباطية والتطور اللاحق لنظام R من IBM معلما رئيسيا في تطوير نظام قاعدة البيانات. كانت أنظمة قواعد البيانات الارتباطية هي قواعد البيانات الوحيدة التي تستخدم على نطاق واسع وعلى مدى عقود عديدة، وكانت ناجحة للغاية. مع نمو الإنترنت والحاجة إلى أنظمة قابلة للتطوير على نطاق واسع يمكنها خدمة ملايين الطلبات المتزامنة، ظهرت أنظمة قاعدة بيانات NoSQL . ومع ذلك، ظهرت في الآونة الأخيرة فئة من أنظمة قواعد البيانات الارتباطية، أعيد بناؤها من الصفر في محاولة للجمع بين نقاط القوة في النموذجين.
أنواع أنظمة قواعد البيانات
يمكن تصنيف أنظمة قواعد البيانات الحالية إلى الأنواع التالية:
قواعد البيانات الارتباطية هي أنظمة قواعد البيانات الكلاسيكية التي كانت موجودة منذ عقود. يتبع النموذج العلائقي لتمثيل البيانات كعلاقة بين الكيانات. عادةً ما يكون لدى أنظمة قواعد البيانات الارتباطية مخطط نمطي، واستخدام لغة الاستعلام الموحدة (SQL) كواجهة للتفاعل مع قاعدة البيانات، وعادة ما تكون لها خصائص ACID القوية.
قواعد بيانات NoSQL هي سلالة جديدة من قواعد البيانات التي تختلف بشكل ملحوظ عن أنظمة قواعد البيانات الارتباطية. أنظمة NoSQL عادةً لا تقوم بفرض مخطط قوي أو نموذج علائقي من البيانات. وتوفر تجرُّدًا متباينًا (مثل مستودع القيمة الأساسية)، بدلاً من واجهة SQL- مثل الواجهة. تتركز قواعد بيانات NoSQL على التوسعية والأداء، وعادةً لا تكون لها ضمانات قوية تتعلق بالعمليات لعمليات قاعدة البيانات.
NewSQL هي فئة من أنظمة قواعد البيانات الارتباطية الحديثة التي تسعى إلى توفير نفس مستوى الأداء وقابلية التوسع مثل أنظمة NoSQL مع الحفاظ على درجة معينة من خصائص ACID التي تقدمها أنظمة قواعد البيانات الارتباطية.