مقدمة
دورة قواعد بيانات NoSQL في نمذجة المستندات على MongoDB والتخزين المؤقت في Redis والأعمدة الواسعة في Cassandra دورة تدريبية مدتها خمسة أيام لمطوري التطبيقات ومهندسي البيانات ومديري قواعد البيانات، وتنتهي بإعداد حزمة نموذج بيانات المستندات والاستعلامات. تنقل فرق كثيرة بياناتها إلى مخازن المستندات أو المفتاح والقيمة دون نمذجتها وفق أنماط الوصول، فتتضخم المجموعات وتمسح الاستعلامات البيانات كاملة وتقدم الذاكرة المؤقتة سجلات قديمة وتظهر نقاط ضغط في الكتابة داخل العناقيد. يبني المرشحون مخازن بيانات التطبيقات أو يشغلونها في عملهم، وتقدم كل أيام الدورة مختبرات عملية على خوادم قواعد بيانات قيد التشغيل. وتقدم كور كونسبت هذه الدورة في قواعد بيانات NoSQL.
أهداف الدورة
- تقييم أحمال التطبيقات مقابل عائلات المستندات والمفتاح والقيمة والأعمدة الواسعة والرسوم البيانية وموازنات نظرية CAP (الاتساق والتوافر وتحمل انقسام الشبكة)
- تصميم مخططات المستندات في MongoDB بالتضمين أو الإحالة وبأنماط تصميم المخطط المسماة
- كتابة عمليات الإنشاء والقراءة والتحديث والحذف وخطوط التجميع ودعمها بفهارس يتحقق منها بخطط التنفيذ
- إعداد Redis طبقة تخزين مؤقت بهياكل بيانات مناسبة وانتهاء صلاحية TTL وسياسة إخلاء محددة
- نمذجة جداول Cassandra انطلاقا من الاستعلامات وتخطيط مجموعات النسخ المتماثل ومفاتيح التجزئة وضبط الوصول والنسخ الاحتياطي لبيئة الإنتاج
- إعداد حزمة نموذج بيانات المستندات والاستعلامات لتطبيق يمثل حالة دراسية
الفئة المستهدفة
- العاملون في تطوير التطبيقات الذين يبنون الخدمات على مخازن المستندات أو المفتاح والقيمة
- العاملون في هندسة البيانات الذين يحملون البيانات ويعيدون تشكيلها ويقدمونها من منصات NoSQL
- العاملون في إدارة قواعد البيانات الذين يتولون MongoDB أو Redis أو Cassandra إلى جانب المحركات العلائقية
- العاملون في المنصات وDevOps الذين يجهزون عناقيد البيانات الموزعة ويوسعونها ويراقبونها
- العاملون في تصميم الحلول الذين يختارون مخزن البيانات للتطبيقات الجديدة
محاور الدورة
اليوم 1: عائلات NoSQL وموازنات CAP وملاءمة أحمال العمل
- مقارنة عائلات NoSQL الأربع للمستندات والمفتاح والقيمة والأعمدة الواسعة والرسوم البيانية
- موازنات نظرية CAP بين الاتساق والتوافر وتحمل انقسام الشبكة
- الاتساق النهائي مقابل معاملات ACID متعددة المستندات في MongoDB
- مصفوفة الاختيار بين NoSQL والقواعد العلائقية لأحمال التطبيقات
- حصر أنماط الوصول في بيئة بيانات تطبيق قائم
اليوم 2: نمذجة المستندات وأنماط تصميم المخطط في MongoDB
- قواعد القرار بين التضمين والإحالة للمستندات المرتبطة
- نمط الدلو لتجميع القراءات المتتابعة عبر الوقت ومعالجة القيم الشاذة
- النمط متعدد الأشكال ونمط المجموعة الواحدة للكيانات المختلطة
- نمط القيم المحسوبة ونمط الأرشفة للبيانات كثيرة الوصول
- التحقق بمخطط JSON Schema وإدارة إصدارات المستندات للمجموعات المتطورة
اليوم 3: الاستعلام والفهرسة في MongoDB والتخزين المؤقت بالمفتاح والقيمة في Redis
- عوامل الإنشاء والقراءة والتحديث والحذف والإسقاط وعمليات الكتابة المجمعة في MongoDB
- مراحل خط التجميع للمطابقة والتجميع والربط والتفكيك
- تصميم الفهارس المركبة ومتعددة المفاتيح وفهارس TTL والتحقق منها بخطط التنفيذ
- هياكل بيانات Redis من السلاسل النصية والجداول المجزأة والمجموعات المرتبة والتدفقات
- نمط التخزين المؤقت الجانبي في Redis مع انتهاء صلاحية TTL وسياسات الإخلاء
اليوم 4: النسخ المتماثل والتجزئة ونمذجة الأعمدة الواسعة والتشغيل
- مجموعات النسخ المتماثل في MongoDB والانتخابات ومستوى تأكيد الكتابة وتفضيل القراءة
- اختيار مفتاح التجزئة حسب عدد القيم وتكرارها وتغيرها الرتيب
- جداول Cassandra المبنية على الاستعلام بمفاتيح التقسيم ومفاتيح الترتيب
- ضبط الوصول وتشفير TLS والنسخ الاحتياطي والاستعادة لمخازن NoSQL
- مراقبة نسب الإصابة في الذاكرة المؤقتة والاستعلامات البطيئة وتأخر النسخ المتماثل
اليوم 5: مختبر بناء نموذج بيانات المستندات مع الاستعلامات والفهارس
- إحاطة تطبيق الحالة وتقدير حجم أحمال أنماط الوصول
- مختبر تطبيق أنماط تصميم المخطط على مجموعات الحالة
- مختبر كتابة خطوط التجميع ومجموعة الفهارس لاستعلامات الحالة
- مختبر إضافة طبقة تخزين مؤقت في Redis ومقترح مفتاح التجزئة
- استكمال حزمة نموذج بيانات المستندات والاستعلامات ومراجعتها مع الأقران
المهارات التي ستكتسبها
- تحليل أنماط الوصول
- تصميم مخططات المستندات
- بناء خطوط التجميع
- ضبط فهارس NoSQL
- تصميم طبقة التخزين المؤقت
- تقييم مفاتيح التجزئة
- نمذجة جداول الأعمدة الواسعة
- مراقبة صحة العناقيد
لماذا تحضر هذه الدورة
- تسليم حزمة نموذج بيانات المستندات والاستعلامات إلى قائد التطبيق أو مالك منصة البيانات لاعتماد التصميم
- الاختيار بين التضمين والإحالة، أو بين MongoDB وRedis وCassandra، بأدلة مستمدة من أنماط الوصول
- تفادي المسح الكامل للمجموعات وقراءات الذاكرة المؤقتة القديمة ونقاط الضغط في التجزئة قبل وصولها إلى مستخدمي الإنتاج
- نقل قوائم فحص أنماط المخطط وخطوات مراجعة الفهارس وقوالب إعداد الذاكرة المؤقتة إلى فرق التطوير
الخاتمة
بعد العودة إلى العمل يسلم المشارك قائد التطبيق أو مالك منصة البيانات حزمة نموذج بيانات المستندات والاستعلامات، وهي توثق أنماط الوصول وأنماط تصميم المخطط المختارة وخطوط التجميع ومجموعة الفهارس وخطة التخزين المؤقت ومقترح مفتاح التجزئة. ويعتمد عليها الفريق في تحديد البيانات التي تنتمي إلى مخزن المستندات أو المفتاح والقيمة أو الأعمدة الواسعة قبل بدء البناء. وبعد أول إصدار في بيئة الإنتاج يراجع الفريق سجلات الاستعلامات البطيئة ونسبة الإصابة في الذاكرة المؤقتة وتوازن الأجزاء مقابل الافتراضات المسجلة في الحزمة.
الأسئلة الشائعة
ما الذي يحتاج المشارك إلى معرفته قبل دورة قواعد بيانات NoSQL؟
يكفي أن يكتب المشارك شيفرة تطبيقات أو استعلامات قواعد بيانات في عمله وأن يقرأ مستندات JSON، ولا يحتاج إلى خبرة سابقة في MongoDB أو Redis أو Cassandra. وتساعد معرفة سطر الأوامر وأساسيات SQL على التقدم بسرعة في المختبرات اليومية.
بم تختلف دورة قواعد بيانات NoSQL عن دورة تصميم قواعد البيانات العلائقية؟
تنمذج الدورة البيانات انطلاقا من أنماط وصول التطبيق، فتضمن البيانات أو تكررها حيث تحتاجها الاستعلامات، وتتوسع بالنسخ المتماثل والتجزئة. أما دورة التصميم العلائقي فتركز على نماذج الكيانات والعلاقات والتطبيع وقيود الجداول، ولا تتناولها هذه الدورة إلا للمقارنة.
متى يختار الفريق قواعد بيانات NoSQL بدلا من قاعدة بيانات علائقية؟
يختار الفريق مخزن NoSQL حين تتنوع أشكال البيانات وتكون أنماط الوصول معروفة، ويهم التوسع الأفقي أو سرعة القراءة أكثر من عمليات الربط غير المخططة. أما سلامة البيانات بين الكيانات والتقارير المعقدة فتميل غالبا إلى القواعد العلائقية، وتجمع أنظمة كثيرة بين النوعين.
ماذا يعود به المشارك من دورة قواعد بيانات NoSQL؟
يعود المشارك بحزمة نموذج بيانات المستندات والاستعلامات لتطبيق يمثل حالة دراسية، تضم أنماط الوصول واختيارات أنماط تصميم المخطط وخطوط التجميع ومجموعة فهارس متحقق منها بخطط التنفيذ وخطة تخزين مؤقت في Redis ومقترح مفتاح التجزئة.