Distributed Databases (Arabic - عربي) with Amr Elhelw - Tech Vault
About this video
### الملخص النهائي باللغة العربية: تتناول هذه الوثيقة مفاهيم قواعد البيانات الموزعة (الستيب داتابيز) ومقارنتها مع قواعد البيانات التقليدية (السينجل نود داتابيز)، بالإضافة إلى التحديات والتقنيات المرتبطة بها. فيما يلي النقاط الرئيسية التي تم تناولها: #### **1. تعريف الستيب داتابيز والسينجل نود داتابيز:** - **الستيب داتابيز**: هي قاعدة بيانات موزعة على عدة سيرفرات (نودز) تعمل كوحدة واحدة، وتُستخدم للتعامل مع كميات ضخمة من البيانات والتطبيقات الكبيرة. تتميز بقدرتها على توفير أداء عالي وقابلية توسع (سكيلينج) لدعم عدد أكبر من المستخدمين. - **السينجل نود داتابيز**: قواعد بيانات تقليدية تعمل على سيرفر واحد، مثل بوستجريس وماي سيكويل، وتصلح للتطبيقات الصغيرة ذات البيانات المحدودة. #### **2. أسباب الحاجة إلى الستيب داتابيز:** - زيادة حجم البيانات يجعل من الصعب تخزينها على سيرفر واحد. - العمليات الحسابية المعقدة تحتاج إلى قدرات معالجة أعلى. - تحسين الأداء وقابلية التوسع لتلبية متطلبات التطبيقات الكبيرة. - تجنب تعطل النظام بالكامل في حال حدوث مشكلة في السيرفر الرئيسي. #### **3. الصعوبات في السينجل نود داتابيز:** - محدودية التخزين والمعالجات. - ارتفاع تكلفة تطوير السيرفر الواحد بشكل كبير. - زيادة احتمالية الأعطال عند الاعتماد على سيرفر واحد. #### **4. الهاردوير والتوزيع:** - بدلاً من تطوير سيرفر واحد، يتم إضافة سيرفرات متعددة بأجهزة عادية لتوزيع الحمل. - يساعد ذلك في تحسين الأداء وتقليل التكلفة. #### **5. الإطار العام للستيب داتابيز:** - يتم تجميع النودز في "كلاستر" يعمل كوحدة واحدة. - يمكن وجود عدة كلاسترز في أماكن جغرافية مختلفة (مالتي كلاستر). - يوجد نود رئيسية (ماستر/ليدر) تتولى إدارة الطلبات وتوزيعها على باقي النودز. - يتم تخزين المعلومات الأساسية عن النظام (الميتا داتا) على النود الرئيسية، بينما قد تحتوي النودز الأخرى على أجزاء من الكاتالوج. #### **6. التكرار (ريبليكشن):** - **التكرار المتزامن (Synchronous Replication)**: يضمن أن كل تحديث على النود الرئيسية يطبق فورًا على النسخ الاحتياطية، مما يحقق اتساق البيانات ولكنه قد يبطئ العمليات بسبب تأخر الشبكة. - **التكرار غير المتزامن (Asynchronous Replication)**: يسمح للنود الرئيسية بالعمل بشكل مستقل وتحديث النسخ الاحتياطية بشكل دوري، مما يحسن الأداء ولكنه يحمل مخاطر فقدان البيانات أثناء الأعطال. #### **7. التحديات في قواعد البيانات الموزعة:** - زيادة حركة مرور الشبكة عند نقل البيانات بين النودز. - تحسين استعلامات البيانات (Query Optimization) وضمان صحة النتائج في الاستعلامات الموزعة. - تحقيق التوازن بين الاتساق (Consistency)، التوفر (Availability)، والتحمل ضد الفصل (Partition Tolerance) وفقًا لنظرية CAP. - استخدام تقنيات مثل التجزئة (Sharding) والتوزيع الجغرافي لتقليل تكلفة نقل البيانات. #### **8. التصميم والأداء:** - يعتمد تصميم قاعدة البيانات على احتياجات التطبيق: - **الأهمية القصوى للاتساق (Consistency)**: كما في الأنظمة البنكية، حيث يكون التكرار المتزامن هو الأنسب. - **الأهمية القصوى للتوفّر (Availability)**: كما في منصات التواصل الاجتماعي، حيث يكون التكرار غير المتزامن أكثر ملاءمة. - تقنيات مثل **التجزئة** و**
Course: Advanced Database Topics (Arabic - عربي)
**وصف الدورة: مواضيع متقدمة في قواعد البيانات (عربي)** تستعرض هذه الدورة مجموعة من المواضيع المتقدمة المتعلقة بقواعد البيانات الموزعة، مع التركيز على مفاهيم وتقنيات الـ "Distributed Databases" أو ما يُعرف بقواعد البيانات الموزعة. تهدف الدورة إلى تقديم فهم شامل حول سبب وكيفية استخدام هذا النوع من قواعد البيانات، بالإضافة إلى تحديات التعامل معها. سيتم شرح الفرق بين قواعد البيانات المركزية (Single-node) والقواعد الموزعة (Distributed)، مع أمثلة عملية مثل Google Spanner و Amazon DynamoDB. كما ستتناول الدورة بالتفصيل الأسباب التي تجعل التطبيقات الكبيرة تحتاج إلى نقل بياناتها من قواعد بيانات مركزية إلى أخرى موزعة لتحسين الأداء وتلبية احتياجات النمو. من بين أهم المواضيع التي ستتم مناقشتها هي الصعوبات المرتبطة بقواعد البيانات التقليدية عند التعامل مع كميات ضخمة من البيانات أو عند الحاجة إلى توسيع نطاق النظام (Scaling). سيتم شرح كيفية التغلب على هذه التحديات باستخدام تقنيات مثل Vertical Scaling و Horizontal Scaling. كذلك، سيتم التركيز على مشاكل مثل انقطاع الخدمة بسبب أعطال السيرفرات وكيف يمكن لقواعد البيانات الموزعة أن تقدم حلولاً لهذه المشاكل عبر تعدد العقد (Nodes) والحفاظ على استمرارية العمل حتى في حالة حدوث خلل في إحدى العقد. ستغطي الدورة أيضًا مفاهيم أساسية مثل Sharding و Replication وكيفية عملها داخل نظام قاعدة البيانات الموزعة. سيتم توضيح كيفية تقسيم البيانات بين العقد المختلفة (Sharding) لتوزيع الحمل وتقليل الضغط على السيرفر الواحد، بالإضافة إلى كيفية نسخ البيانات عبر العقد المختلفة (Replication) لضمان عدم فقدان البيانات واستمرارية الوصول إليها. كما سيتم تعريف الطلاب بمكونات البنية الأساسية لنظام Distributed Database مثل Leader Node و Worker Nodes، ودور كل منها في إدارة الطلبات وتنفيذ العمليات. بنهاية الدورة، سيكون لدى الطلاب فهم عميق لكيفية تصميم وإدارة قواعد بيانات موزعة بشكل فعال لتلبية احتياجات التطبيقات الحديثة.
View Full Course