مقدمة إلى قواعد بيانات NoSQL

مقدمة إلى قواعد بيانات NoSQL

ذات مرة أخبرني صديق أن علم قواعد البيانات هو علم منتهي، لا جديد فيه مثل البرمجة، ولكن يبدو أن صديقي يجب أن يحدث قاعدة بياناته، فعلم قواعد البيانات في تطور مستمر وسيكون حديثنا اليوم عن قواعد بيانات NoSQL وخصوصا قاعدة مونغو MongoDB

صحيح أن مبدأ قاعدة NoSQL ليس بالجديد، إلا أن التطوير الحاصل في هذه القاعدة، يعتبر أمر جديد، إذا السؤال هنا، ما هي قاعدة بيانات NoSQL ؟

في البداية ، نتعرف على أنواع قواعد البياناتبيانات

حيث يوجد عدة أنواع هيكلية لقواعد البيانات ، تعلمون الشبكية والهرمية والعلائقية، والكائنية … إلخ

لا يخفى عليكم النوع المشهور ، وهي قواعد البيانات العلائقية Relational Database ، وهي القواعد المشهورة ( والتي نعرفها ) أوراكل Oracle  ، سكول سيرفر SQL Server ، أكسيس، MySQL … إلخ

الكثير من الكلام حول هذه القواعد، ولكن ما يهمنا أمرين: الأول أن هذه القواعد تخزن البيانات على شكل جداول – كما يعلم الجميع -، والأمر الثاني، أن هذه الجداول مرتبطة بعلاقات بينها

هنالك نوع OOP Database وهي من اسمها قاعدة معتمدة على الكائنات في بنيتها، وهنالك نوع من قواعد البيانات يسمى Document Oriented Database  أو Document Store أو قواعد NoSQL

هذه القواعد يتم تخزين البيانات فيها على هيئة ملفات مرمزة Encoded  بصيغ معروفة مثل XML أو JSON ، أو حتى ملفات كالوورد أو الأكروبات PDF، المقصد هي في النهاية ملفات كالملفات النصية، تحتلف عن ملفات القواعد العلائقية

حيث تخزين البيانات في هذه الملفات يتم بسهولة، وبدون وجود بنية صارمة كما في القواعد العلائقية مثال لوصف قاعدة بيانات NoSQL لمكتبة

{

الكتاب: " خديعة التطور"

الكاتب: "هارون يحيى"

بتاريخ:" طبيعي ما احفظ التاريخ"

دور _لنشر: [  الاسم: " مكتبة المنارة"،

الاسم : " مكتبة النهضة "،

الاسم : " مكتبة الاسكندرية"   ]

}

وهذا يمثل حقل واحد، وهو أقرب لصيغة JSON أو XML ، وهنالك
عدة خوارزميات متبعة في هذه القواعد، وتختلف اختلاف كبير في طريقة تخزين واسترداد البيانات، فهنالك مثلا أنواع يتم فيها استرداد البيانات عن طريق اسم فريد بكل حقل، وهو مشابه أيضا لمبدأ المفتاح والقيمة Key-Value .

ما الذي يميز قواعد NoSQL على القواعد العلائقية ؟

قواعد البيانات العلائقة تحتاج للعديد من الموارد ، وتحتاج لخبرة عالية لإدارتها، وخبرة في تصميمها وتنصيبها وضبط إعداداتها، بينما قواعد بيانات NoSQL مصممة لتحتاج أقل إدارة، وأقل صيانة

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

إذا قواعد بيانات NoSQL تستخدم في حالة كان هنالك بيانات، وكمية هذه البيانات والعمليات عليها ضخمة، وغير مهم وجود العلاقات بينها، والمهم هنا استرداد هذه البيانات الضخمة بكفاءة عالية.

هذا الموقع به جميع قواعد بيانات NoSQL ،
وتجد فيه قاعدة بيانات مونجو، أيضا تجد فيه قاعدة بيانات كاساندرا Cassandra والتي والله العليم تستخدم في الفيسبوك، حيث أعتقد فريق الفيسبوك طورها ووضعها مفتوحة المصدر لكي يساهم بها كل من يستطيع.

نكمل إن شاء الله المرة القادمة في قاعدة بيانات MongoDB، حيث الحديث اليوم عام عن قواعد بيانات NoSQL ، والمرة القادمة سنختار قاعدة للحديث عنها

بالتوفيق للجميع

About the author

خليل سليم

Leave a Comment

هذا الموقع يستخدم Akismet للحدّ من التعليقات المزعجة والغير مرغوبة. تعرّف على كيفية معالجة بيانات تعليقك.