[ > ] مونغو دي بي / MongoDB
وصف عام
قاعدة بيانات NoSQL الرائدة التي تتبنى مفهوم الوثائق (Document-oriented). تقوم بتخزين البيانات بتنسيق BSON، وهو شكل متطور وشبيه جداً بـ JSON. صممت لتوفير مرونة هائلة حيث لا تحتاج لتعريف جدول ثابت (Schema-less)، مما يسمح بالتوسع الأفقي (Scaling-out) عبر مئات الخوادم بسهولة، وهي مثالية للتطبيقات التي تتغير هياكل بياناتها بسرعة.
تأسست MongoDB (سابقاً 10gen) في 2007 وبدأ البحث عن حل لقواعد البيانات التي لا تتوسع بسهولة. تم إطلاق النسخة الأولى في 2009. في عام 2017، أصبحت شركة عامة في البورصة وحولت اهتمامها نحو الحوسبة السحابية عبر خدمة Atlas، مما جعلها قاعدة البيانات المفضلة لملايين المبرمجين حول العالم.
- صمم مخطط البيانات (Schema) بناءً على كيفية استعلام تطبيقك عن البيانات.
- تجنب تكرار البيانات بشكل عشوائي واستخدم الـ References عند الحاجة.
- احرص على إنشاء فهارس (Indexes) للأعمدة التي تصفى بها النتائج.
- استخدم الـ Aggregation Framework للقيام بالعمليات الحسابية المعقدة داخل القاعدة.
- راقب حجم الوثيقة بحيث لا يتجاوز 16 ميجابايت كحد أقصى.
طريقة الكتابة والبنية
SYNTAX_ARCH
01.الاستعلام والفلترة
db.users.find({
age: { $gt: 18 },
city: "Cairo"
}).sort({ name: 1 });تستخدم مونغو نظام استعلام قوي يعتمد على الأوبجيكت (Query Object) بدلاً من كتابة سلاسل SQL.
02.نظام التجميع (Aggregation)
db.orders.aggregate([
{ $match: { status: "A" } },
{ $group: { _id: "$cust_id", total: { $sum: "$amount" } } }
]);يسمح نظام التجميع بمعالجة البيانات وتحويلها عبر مراحل (Pipeline) لإنتاج تقارير معقدة.
المنظومة التقنية
ECOSYSTEM_MODULES
إطارات العمل (Frameworks)
المكتبات المشهورة (Libraries)
هيكلية الملفات الشائعة
FILE_SYSTEM_TREE
Data Storage/├── Collections (مجموعات الوثائق)├── Documents (الملفات الفردية)├── Shards (توزيع البيانات عبر السيرفرات)├── Replica Sets (نسخ البيانات للحماية)└── Journal (سجلات الأمان والاستعادة)