AWS Certified Cloud Practitioner
قواعد البيانات في AWS
افهم كيف تعمل قواعد البيانات في AWS، والفرق بين الخدمة المُدارة وإدارة قاعدة البيانات بنفسك على Amazon EC2، ومعنى البيانات العلائقية وغير العلائقية، وفكرة قواعد البيانات المبنية لغرض محدّد.
- اشرح ما الخدمة المُدارة لقاعدة البيانات وكيف تختلف عن تشغيل قاعدة بيانات على Amazon EC2
- قارن قواعد البيانات العلائقية وغير العلائقية
- صف فكرة قواعد البيانات المبنية لغرض محدّد
- حدّد فئات قواعد البيانات الرئيسية التي تقدّمها AWS وما تصلح له كل فئة
لماذا يهم هذا
تقريباً كل تطبيق يحتاج إلى تخزين بياناته في مكان ما، وقاعدة البيانات هي حيث تعيش تلك البيانات. لا يطلب منك اختبار CLF-C02 تصميم مخطّطات أو كتابة استعلامات. ما يطلبه هو أن تعرف خدمات قواعد البيانات في AWS، وأن تميّز إن كانت الخدمة علائقية أو غير علائقية، وأن توائم احتياجاً موصوفاً مع الخدمة الصحيحة.
يمهّد هذا الدرس لبقية الموضوع. يغطّي ما الخدمة المُدارة لقاعدة البيانات، وكيف تختلف عن تشغيل قاعدة بيانات بنفسك، والفرق بين البيانات العلائقية وغير العلائقية، وفكرة قواعد البيانات المبنية لغرض محدّد. تتعمّق الدروس التالية في الخدمات المحدّدة.
الخدمة المُدارة مقابل الإدارة الذاتية
تشغّل قاعدة بيانات على AWS بطريقتين عريضتين.
الأولى أن تطلق instance في Amazon EC2، وتثبّت برمجيات قاعدة البيانات بنفسك، وتدير كل شيء: نظام التشغيل والترقيعات والنسخ الاحتياطي والتوسّع والاستعادة. يمنحك هذا تحكّماً كاملاً، لكنك تحمل كل العمل التشغيلي، وأخطاء صغيرة أثناء ترقيع أو ترقية يدوية قد تتسبّب في تعطّل.
الثانية أن تستخدم خدمة قاعدة بيانات مُدارة مثل Amazon RDS. تهيّئ AWS قاعدة البيانات، وتطبّق الترقيعات، وتأخذ نسخاً احتياطية آلية، وتكشف الأعطال، وتتولّى الاستعادة. فتركّز على بياناتك وتطبيقك بدل السباكة تحتهما. توصي AWS بالخدمة المُدارة كخيار افتراضي لمعظم أحمال العمل.
يوضّح الجدول التالي من يتولّى ماذا عبر ثلاثة خيارات.
| المهمة | في مقرّك (on-premises) | قاعدة بيانات على EC2 | خدمة مُدارة (RDS) |
|---|---|---|---|
| ضبط التطبيق والاستعلامات | أنت | أنت | أنت |
| تثبيت برمجيات قاعدة البيانات وترقيعها | أنت | أنت | AWS |
| ترقيع نظام التشغيل | أنت | أنت | AWS |
| النسخ الاحتياطي والاستعادة | أنت | أنت | AWS |
| صيانة الخوادم والعتاد | أنت | AWS | AWS |
| الطاقة والشبكة والتبريد | أنت | AWS | AWS |
لاحظ النمط: كلما تحرّكت نحو خدمة مُدارة، تولّت AWS قدراً أكبر من العمل الروتيني. شيء واحد لا يتحرّك أبداً. ضبط استعلاماتك يبقى عليك في كل الخيارات، لأنه يعتمد على بياناتك وكيف يستخدمها تطبيقك.
قواعد البيانات العلائقية وغير العلائقية
تنقسم قواعد البيانات إلى مجموعتين كبيرتين، ويتوقّع منك الاختبار أن تميّز بينهما.
قاعدة البيانات العلائقية (تُسمّى غالباً SQL) تخزّن البيانات في جداول من صفوف وأعمدة، بمخطّط محدّد. يمكنك ربط الجداول (joins) للإجابة عن أسئلة تمتد عبر بيانات مترابطة، مثل مطابقة العملاء بطلباتهم. تناسب البيانات المنظّمة والمعاملات التي تهمّ فيها الدقّة، كالماليات والطلبات والمخزون.
قاعدة البيانات غير العلائقية (تُسمّى غالباً NoSQL) تستخدم نماذج بيانات أخرى تتنازل عن بعض الصرامة في البنية مقابل التوسّع والسرعة والمرونة. بدل الجداول الثابتة، قد تخزّن أزواج مفتاح-قيمة، أو مستندات شبيهة بـ JSON، أو رسوماً بيانية، أو نقاطاً موسومة بالوقت. تتألّق هذه النماذج حين تحتاج إنتاجية عالية جداً، أو كموناً منخفضاً، أو مخطّطاً مرناً يتغيّر كثيراً.
لا توجد مجموعة "أفضل" من الأخرى. كل منهما تحلّ مشكلات مختلفة، ولهذا تقدّم AWS النوعين معاً.
قواعد البيانات المبنية لغرض محدّد
لا تدفع AWS قاعدة بيانات واحدة لكل مهمة. بدل ذلك تقدّم مجموعة من قواعد البيانات المبنية لغرض محدّد، كل منها محسّن لنموذج بيانات وحمل عمل بعينه. الفكرة بسيطة: اختر الأداة المناسبة لكل مهمة. التطبيق الواحد قد يستخدم عدة قواعد في آن، مثل قاعدة علائقية للفوترة وقاعدة مفتاح-قيمة لسلة التسوّق.
| الفئة | لماذا تُستخدم | خدمة AWS |
|---|---|---|
| علائقية | بيانات منظّمة في جداول، معاملات، ربط (joins) | Amazon RDS و Amazon Aurora |
| مفتاح-قيمة | تطبيقات ويب عالية الحركة على أي نطاق | Amazon DynamoDB |
| داخل الذاكرة | التخزين المؤقت وأزمنة استجابة بالميكروثانية | Amazon ElastiCache و Amazon MemoryDB |
| مستندية | مستندات شبيهة بـ JSON بحقول مرنة | Amazon DocumentDB |
| رسم بياني | بيانات شديدة الترابط وعلاقات | Amazon Neptune |
| عمودية واسعة | أحمال Apache Cassandra واسعة النطاق | Amazon Keyspaces |
| سلاسل زمنية | بيانات تتغيّر عبر الزمن، مثل إنترنت الأشياء | Amazon Timestream |
لا تحتاج تفصيلاً عميقاً عن كل خدمة للاختبار. ما تحتاجه أن تتعرّف على الاسم، وتعرف فئته، وتوائم سيناريو معه. تغطّي الدروس الثلاثة التالية أكثر الخدمات شيوعاً في كل مجموعة، بدءاً بقواعد البيانات العلائقية.
نصائح للاختبار
- الخدمة المُدارة (مثل Amazon RDS) تعني أن AWS تتولّى الترقيع والنسخ الاحتياطي والتحوّل عند الفشل والعتاد. تشغيل قاعدة بيانات على EC2 يعني أنك تتولّى ذلك كله بنفسك.
- ضبط الاستعلامات مهمّتك دائماً، حتى مع خدمة مُدارة.
- العلائقية (SQL) = جداول وصفوف وأعمدة وربط ومخطّط ثابت. غير العلائقية (NoSQL) = مفتاح-قيمة، ومستندية، ورسم بياني، ونماذج مرنة أخرى مبنية للتوسّع.
- المبنية لغرض محدّد تعني أن AWS تقدّم قاعدة بيانات لكل نوع حمل عمل، فتختار المناسبة بدل حشر كل شيء في قاعدة واحدة.
- تعلّم ربط الفئة بخدمتها: العلائقية بـ RDS و Aurora، ومفتاح-قيمة بـ DynamoDB، وداخل الذاكرة بـ ElastiCache، والرسم البياني بـ Neptune، والمستندية بـ DocumentDB.
