Relational vs. NoSQL Databases (Arabic - عربي) with Amr Elhelw - Tech Vault

About this video

### الملخص النهائي: يقدم الفيديو مقارنة شاملة بين قواعد البيانات العلائقية (Relational Databases) وقواعد البيانات غير العلائقية (NoSQL Databases)، مع التركيز على الاختلافات في التصميم، المرونة، الأداء، واستخدامات كل نوع بناءً على احتياجات التطبيق. #### **قواعد البيانات العلائقية (Relational Databases):** - تعتمد على **جداول** منظمة تحتوي على صفوف وأعمدة، وتستخدم لغة SQL كمعيار للتعامل مع البيانات. - تتطلب **سكيما ثابتة** يجب تعريفها مسبقاً، مما يجعلها مناسبة للبيانات ذات الهيكل المحدد والمتجانس. - تتميز بقدرتها على التعامل مع **الاستعلامات المعقدة** باستخدام **joins** التي تربط الجداول المختلفة، مما يبسط تحديث البيانات ويقلل من التكرار. - تُفضل في التطبيقات التي تحتاج إلى **ضمان سلامة المعاملات (Transactions)**، مثل عمليات تحويل الأموال التي تتطلب تنفيذ جميع الخطوات أو إلغاء العملية بالكامل. - تواجه تحديات في **التوسع الأفقي (Horizontal Scaling)**، حيث تعتمد بشكل أكبر على **التوسع الرأسي (Vertical Scaling)** عن طريق تحسين أداء الخادم. #### **قواعد البيانات غير العلائقية (NoSQL Databases):** - تقدم **مرونة عالية** في تخزين البيانات دون الحاجة إلى تعريف السكيما مسبقاً، مما يجعلها مناسبة للبيانات غير المنظمة أو شبه المنظمة. - تشمل عدة أنواع رئيسية: 1. **Graph Databases**: تخزن البيانات كعقد وأضلاع لتمثيل العلاقات المعقدة، مثل شبكات التواصل الاجتماعي. 2. **Key-Value Stores**: تخزن البيانات كأزواج مفتاح-قيمة، مما يتيح الوصول السريع للبيانات. 3. **Wide Column Stores**: تخزن البيانات في أعمدة بدلاً من صفوف، مما يسهل التعامل مع كميات كبيرة من البيانات. 4. **Document Databases**: تخزن البيانات في مستندات مرنة (مثل JSON أو XML)، مما يوفر مرونة في الهيكل. - أمثلة على أنظمة NoSQL: MongoDB، Cassandra، Redis. - تُستخدم في التطبيقات التي تتطلب **الأداء العالي** و**التوسع الأفقي**، مثل الأنظمة الموزعة والتطبيقات الكبيرة التي تحتاج إلى معالجة بيانات ضخمة. #### **الاختلافات الرئيسية:** 1. **التصميم والهيكلة**: - قواعد البيانات العلائقية تعتمد على هيكل صارم ومنظم. - قواعد البيانات NoSQL توفر مرونة عالية في تصميم البيانات. 2. **المعاملات (Transactions)**: - قواعد البيانات العلائقية تدعم المعاملات المعقدة بشكل أفضل. - قواعد البيانات NoSQL قد تكون أقل دعماً للمعاملات المعقدة، لكنها تركز على الأداء. 3. **القابلية للتوسع**: - قواعد البيانات العلائقية تعتمد بشكل رئيسي على التوسع الرأسي. - قواعد البيانات NoSQL تدعم التوسع الأفقي بفعالية، مما يجعلها مناسبة للتطبيقات الضخمة. 4. **استعلامات البيانات**: - قواعد البيانات العلائقية تتيح استعلامات معقدة باستخدام joins. - قواعد البيانات NoSQL تركز على سهولة الاسترجاع ولكن قد تواجه تحديات في التعديلات المعقدة. #### **متى يتم استخدام كل نوع؟** - **قواعد البيانات العلائقية**: مثالية للتطبيقات التي تحتاج إلى هيكلة واضحة ومعاملات دقيقة، مثل الأنظمة المالية وأنظمة إدارة الشركات. - **قواعد البيانات NoSQL**: مناسبة للتطبيقات التي تحتاج إلى مرونة عالية وأداء سريع مع بيانات ضخمة وغير منظمة، مثل شبكات التواصل الاجتماعي والأنظمة الموزعة. #### **الخلاصة:** يوضح الفيديو أن اختيار نوع قاعدة البيانات يعتمد على طبيعة التطبيق واحتياجاته. بينما تتفوق قواعد البيانات العلائقية في التعامل مع البيانات المنظمة والاستعلامات المعقدة، فإن قو


Course: NoSQL Databases (Arabic - عربي)

### الوصف المحسن للدورة: مرحبًا بكم في هذه الدورة الشاملة التي تهدف إلى توضيح الفروقات الجوهرية بين قواعد البيانات العلائقية (Relational Databases) وقواعد البيانات غير العلائقية (NoSQL Databases). سواء كنت مطورًا مبتدئًا أو محترفًا، فإن فهم هذه الفروقات يعد خطوة أساسية لاتخاذ قرارات صائبة عند تصميم أنظمة إدارة البيانات. في هذه الدورة، سنستعرض معًا الأسئلة الأساسية التي قد تخطر على بالك: ما هي قواعد البيانات NoSQL؟ وما الفرق بينها وبين قواعد البيانات العلائقية؟ هل يمكن تصنيف NoSQL كنوع واحد أم أنها تتضمن أنواعًا مختلفة؟ وكيف تختار النوع الأنسب لمشروعك؟ سنبدأ بشرح المفاهيم الأساسية مثل الجداول (Tables)، السجلات (Rows)، والسمات (Attributes) في قواعد البيانات العلائقية. بعد ذلك، سنتعمق في استكشاف الأنواع المختلفة من قواعد البيانات NoSQL مثل MongoDB، Cassandra، وغيرها. كما سنناقش متى يكون استخدام كل نوع مناسبًا بناءً على طبيعة البيانات ومتطلبات المشروع. بالإضافة إلى ذلك، ستتعلم كيفية استخدام لغة SQL (Structured Query Language) للتفاعل مع قواعد البيانات العلائقية، وأيضًا كيفية التعامل مع واجهات برمجة التطبيقات (APIs) الخاصة بقواعد البيانات NoSQL. سنتناول أيضًا كيفية تعريف الجداول والعلاقات (Relations) باستخدام المخططات (Schemas)، وكيفية إجراء التغييرات عليها بشكل واضح ومباشر. بنهاية هذه الدورة، سيكون لديك فهم عميق للفروقات بين نوعي قواعد البيانات، مما يمكّنك من اتخاذ قرارات مستنيرة عند تصميم وإدارة قواعد البيانات لأي مشروع تقني. --- ## ملخص الدورة: تسلط هذه الدورة الضوء على الفروقات الرئيسية بين قواعد البيانات العلائقية (Relational Databases) وقواعد البيانات غير العلائقية (NoSQL Databases). يتم تقديم شرح تفصيلي للمفاهيم الأساسية لكل نوع، بما في ذلك الجداول (Tables)، السجلات (Rows)، والسمات (Attributes) في قواعد البيانات العلائقية، بالإضافة إلى استعراض الأنواع المختلفة لقواعد البيانات NoSQL مثل MongoDB وCassandra. تتناول الدورة أيضًا أسئلة جوهرية مثل: متى يجب استخدام قاعدة بيانات علائقية؟ ومتى تكون قاعدة البيانات NoSQL الخيار الأفضل؟ كما يتم التركيز على كيفية استخدام لغة SQL للتعامل مع قواعد البيانات العلائقية، وأيضًا كيفية التعامل مع واجهات برمجة التطبيقات (APIs) الخاصة بقواعد البيانات NoSQL. تشمل المواضيع الأخرى التي يتم تناولها تعريف الجداول والعلاقات (Relations) باستخدام المخططات (Schemas)، وكيفية إجراء التغييرات على هذه المخططات بشكل واضح ومباشر. بنهاية الدورة، سيتمكن المشاركون من فهم الفروقات الجوهرية بين النوعين واختيار النوع الأنسب بناءً على طبيعة البيانات ومتطلبات المشروع.

View Full Course