AWS Certified Solutions Architect 06 - Adding a Database Layer

🎯 عن هذا المقال

1️⃣ ماذا ستتعلم؟ أساسيات قواعد البيانات في AWS من Amazon RDS وAmazon Aurora إلى Amazon DynamoDB وAmazon ElastiCache وAmazon Redshift.
2️⃣ لماذا هو مهم؟ طبقة البيانات هي العمود الفقري لأي تطبيق — اختيار قاعدة البيانات المناسبة يشكل الفرق بين نجاح التطبيق وفشله.
3️⃣ كيف يرتبط بما سبق؟ بعد أن أضفنا طبقة التخزين مع S3 وطبقة الحوسبة مع EC2، حان وقت إضافة طبقة قاعدة البيانات المُدارة التي تخزن معلومات التطبيق المنظمة.

☁️ خيارات قواعد البيانات في السحابة

📖 لديك خياران أساسيان لتشغيل قاعدة البيانات: مُدارة بالكامل (managed) أو ذاتية الإدارة (unmanaged) على EC2.
الخدمات المُدارة مثل RDS وDynamoDB تتولى AWS فيها مهام النسخ الاحتياطي والتصحيح والأمان والتوسع، بينما تمنحك القاعدة على EC2 تحكماً كاملاً مقابل مسؤولية إدارة أكبر.
📋 قاعدة بيانات مُدارة مقابل قاعدة على EC2
  • قاعدة مُدارة (RDS): AWS تدير كل شيء — التصحيح، النسخ الاحتياطي، التوسع، التوفر العالي — أنت تركز على البيانات والتطبيق فقط.
  • قاعدة على EC2: أنت تدير كل شيء — تثبيت المحرك، التصحيح، النسخ الاحتياطي، التوسع — تحكم كامل لكن جهد إداري أكبر.
  • الخدمات المُدارة توفر وقتك ومالك على المدى الطويل — مهندس القواعد يكلف أكثر من فرق تكلفة الخدمة المُدارة.
شركة ناشئة تختار بين خيارين لقاعدة بيانات تطبيقها.
الخيار الأول: تثبيت MySQL على مثيل EC2 — يوفر مرونة لكن المهندس يقضي 30% من وقته في الصيانة والنسخ الاحتياطي.
الخيار الثاني: Amazon RDS for MySQL — نفس المحرك لكن AWS تتولى الصيانة والتوسع والنسخ الاحتياطي التلقائي.
تختار RDS وتوفر 15 ساعة أسبوعياً من وقت الفريق تركز فيها على تطوير ميزات جديدة للتطبيق.
📖 AWS تقدم مجموعة متكاملة من خدمات قواعد البيانات تغطي جميع النماذج: العلائقية وغير العلائقية والتخزين المؤقت ومستودعات البيانات والرسم البياني.
كل خدمة صُممت لحالة استخدام محددة، مما يسمح لك باختيار الأداة المناسبة لكل مهمة بدلاً من استخدام حل واحد للجميع.
📋 عائلة خدمات قواعد البيانات في AWS
  • Amazon RDS: قواعد علائقية مُدارة — MySQL, PostgreSQL, Oracle, SQL Server, MariaDB.
  • Amazon Aurora: محرك علائقي متوافق مع MySQL وPostgreSQL، أسرع بخمس مرات وأقل تكلفة.
  • Amazon DynamoDB: قاعدة بيانات NoSQL مُدارة بالكامل — نموذج مفتاح-قيمة ووثائقي بأداء فائق السرعة.
  • Amazon ElastiCache: خدمة تخزين مؤقت في الذاكرة تدعم Redis وMemcached.
  • Amazon Redshift: مستودع بيانات تحليلي للاستعلامات المعقدة على نطاق بيتابايت.
  • Amazon Neptune: قاعدة بيانات رسم بياني (Graph) مُدارة بالكامل.
  • Amazon DocumentDB: قاعدة وثائقية متوافقة مع MongoDB.
  • Amazon Keyspaces: قاعدة بيانات واسعة الأعمدة متوافقة مع Apache Cassandra.
  • Amazon Timestream: قاعدة بيانات سلاسل زمنية لبيانات IoT والتطبيقات التشغيلية.
  • Amazon Quantum Ledger Database (QLDB): سجل حسابات ثابت وشفاف وقابل للتحقق.
منصة توصيل طعام تستخدم أربع خدمات قواعد بيانات مختلفة: RDS لبيانات العملاء والطلبات (علائقية منظمة)، DynamoDB لبيانات السائقين في الوقت الفعلي (سرعة فائقة)، ElastiCache لتخزين قوائم المطاعم مؤقتاً (استجابة أقل من ميلي ثانية)، Redshift لتحليل سلوك المستخدمين شهرياً (استعلامات معقدة). كل خدمة في المكان المناسب تماماً.
قواعد البيانات في السحابة مثل أنواع المطابخ المختلفة.
قاعدة بيانات علائقية (RDS) تشبه مطبخ فندق خمس نجوم: منظم بدقة، كل مكون له مكانه، والعلاقات بين الأطباق واضحة (قوائم، فواتير، حجوزات).
قاعدة NoSQL (DynamoDB) تشبه مطبخ وجبات سريعة: سريع، مرن، يتعامل مع أي طلب فوراً دون بنية جامدة.
التخزين المؤقت (ElastiCache) مثل ثلاجة العرض الأمامية: البيانات الأكثر طلباً في متناول اليد مباشرة.
مستودع البيانات (Redshift) مثل أرشيف الوصفات: يستعرض تاريخ المبيعات ويحلل التوجهات لاكتشاف الفرص الجديدة.

📖 جدول المصطلحات

المصطلح (English)الترجمةالمفهوم
Managed Databaseقاعدة بيانات مُدارةخدمة تتولى AWS فيها التصحيح والنسخ الاحتياطي والتوسع تلقائياً.
Unmanaged Databaseقاعدة بيانات ذاتية الإدارةقاعدة تشغلها بنفسك على EC2 مع تحكم كامل ومسؤولية إدارة أكبر.
Relational Databaseقاعدة بيانات علائقيةتخزن البيانات في جداول مترابطة مع دعم SQL وعلاقات المفاتيح.
NoSQL Databaseقاعدة بيانات غير علائقيةتخزن البيانات بنماذج مرنة مثل مفتاح-قيمة أو وثائقي أو عمودي.
Data Warehouseمستودع بياناتنظام لتحليل البيانات التاريخية الضخمة باستعلامات SQL معقدة.
In-Memory Cacheتخزين مؤقت في الذاكرةتخزين البيانات الساخنة في RAM لتقليل زمن الاستجابة إلى ميكروثانية.

🗃️ ما هي خدمة Amazon RDS؟

📖 Amazon RDS تتيح لك تشغيل قواعد بيانات علائقية مُدارة بالكامل في السحابة دون القلق بشأن البنية التحتية.
تتولى AWS المهام الثقيلة: توفير البنية الأساسية، التصحيح التلقائي، النسخ الاحتياطي، والتوسع — أنت تركز على تصميم المخطط والاستعلامات والتطبيق.
📋 محركات قواعد البيانات المدعومة في RDS
  • MySQL: الأكثر شعبية للمواقع وتطبيقات الويب ومتوافق مع تطبيقات LAMP وWordPress.
  • PostgreSQL: قوي وغني بالميزات المتقدمة مثل JSONB والبحث النصي الكامل وأنواع البيانات المخصصة.
  • MariaDB: فرع من MySQL يركز على الأداء والاستقرار بترخيص مفتوح المصدر.
  • Oracle: للمؤسسات الكبيرة مع ميزات متقدمة ودعم كامل لتراخيص Bring Your Own License (BYOL).
  • SQL Server: لتطبيقات Windows و.NET مع دعم كامل لميزات SQL Server من Microsoft.
شركة تقنية تنتقل من مركز بيانات داخلي إلى AWS.
لديها 3 قواعد بيانات: PostgreSQL لتطبيق الويب، MySQL لنظام إدارة المحتوى، وSQL Server لنظام ERP.
بدلاً من إدارة 3 مثيلات EC2 بأنظمة تشغيل مختلفة، تنشئ 3 مثيلات RDS بمحركات مختلفة وتديرها كلها من نفس وحدة التحكم.
النتيجة: فريق واحد يدير كل شيء من مكان واحد.
📖 لكل مثيل RDS حدود تخزين تصل إلى 64 تيرابايت ويستخدم وحدات تخزين EBS للأغراض العامة (gp3) أو المخصصة للإنتاجية العالية (io2).
التخزين يتوسع تلقائياً عند تفعيل ميزة auto-scaling للتخزين، مما يحمي قاعدة البيانات من التوقف عند امتلاء القرص.
📋 مواصفات مثيل RDS
  • يأتي المثيل بأنواع مثل db.t3 (للأغراض العامة) وdb.r6g (محسنة للذاكرة) وdb.m6i (متوازنة).
  • التخزين من 20 جيجابايت حتى 64 تيرابايت مع إمكانية التوسع التلقائي عند الوصول إلى حد الامتلاء.
  • يدعم التشفير في حالة السكون (at rest) باستخدام AWS KMS وفي حالة النقل (in transit) باستخدام SSL/TLS.
  • النسخ الاحتياطي التلقائي اليومي مع إمكانية الاستعادة إلى أي نقطة زمنية خلال فترة الاحتفاظ (حتى 35 يوماً).

🔄 التوفر العالي مع Multi-AZ

📖 نشر RDS في وضع Multi-AZ ينشئ نسخة احتياطية متزامنة في منطقة توفر ثانية لضمان استمرارية العمل عند الفشل.
عند تعطل منطقة التوفر الأساسية، تفشل RDS تلقائياً إلى النسخة الاحتياطية في أقل من دقيقتين، ويتم تحديث DNS تلقائياً ليشير إلى المثيل الجديد.
📋 آلية Multi-AZ
  • النسخ المتزامن (synchronous replication): كل كتابة إلى القاعدة الأساسية تُنسخ فوراً إلى القاعدة الاحتياطية.
  • اكتشاف الفشل التلقائي: AWS تراقب صحة المثيل الأساسي وتتحول آلياً عند الحاجة.
  • لا حاجة لتغيير اتصال التطبيق: اسم DNS لا يتغير، التطبيق يعيد الاتصال تلقائياً.
  • مثالي للإنتاج: أي تطبيق يحتاج استمرارية عالية يستفيد من Multi-AZ بدون أي تعديل في الكود.
تطبيق مصرفي يعالج آلاف المعاملات في الدقيقة.
ينشر RDS في وضع Multi-AZ عبر منطقتي توفر (AZ1 وAZ2).
في الساعة 3 صباحاً، يحدث عطل كهربائي في AZ1.
تكتشف AWS الفشل وتنقل تلقائياً إلى AZ2 خلال 60 ثانية فقط.
المستخدمون النهائيون يلاحظون تباطؤاً بسيطاً لمدة دقيقة واحدة ثم يستأنف التطبيق عمله بشكل طبيعي، دون أي تدخل بشري.

📖 قراءة قابلة للتوسع مع Read Replicas

📖 النسخ المتماثلة للقراءة (Read Replicas) تتيح لك توزيع حمل القراءة على عدة نسخ لتحسين الأداء مع بقاء الكتابة حصرية على المثيل الأساسي.
يمكنك إنشاء حتى 15 نسخة قابلة للقراءة ضمن نفس المنطقة أو عبر مناطق مختلفة لتقليل زمن الاستجابة للمستخدمين في أنحاء العالم.
📋 ميزات Read Replicas
  • النسخ غير المتزامن (asynchronous): كتابات المثيل الأساسي تُنسخ إلى النسخ القابلة للقراءة مع تأخير بسيط جداً.
  • كل نسخة لها نقطة نهاية DNS خاصة بها: التطبيق يوزع استعلامات القراءة بينها باستخدام موازن تحميل أو منطق في طبقة التطبيق.
  • يمكن ترقية النسخة إلى مثيل أساسي مستقل: مفيد للتعافي من الكوارث أو إنشاء بيئات اختبار ببيانات حقيقية.
  • النسخ عبر المناطق (cross-region): تحسين زمن الوصول للمستخدمين العالميين أو إنشاء خطة تعافي من الكوارث.
منصة تعليم إلكتروني عالمية بقاعدة PostgreSQL في أمريكا الشمالية.
لتحسين أداء الطلاب في آسيا وأوروبا، تنشئ Read Replicas في سنغافورة وفرانكفورت.
تطبيق الهاتف يوجه استعلامات القراءة (عرض الدورات والدرجات) إلى أقرب نسخة جغرافياً، بينما عمليات الكتابة (تسجيل الدورات) تذهب إلى المثيل الأساسي في أمريكا.
زمن الاستجابة ينخفض من 800ms إلى 30ms للطلاب في آسيا.

📋 النسخ الاحتياطي والاستعادة

📖 RDS توفر نوعين من النسخ الاحتياطي: تلقائي (automated) ويدوي (snapshot) مع إمكانية الاستعادة إلى نقطة زمنية محددة.
النسخ الاحتياطي التلقائي يخزن سجلات التغيير مما يسمح بالاستعادة لأي ثانية خلال فترة الاحتفاظ، بينما اللقطات اليدوية تبقى حتى تحذفها.
📋 استراتيجية النسخ الاحتياطي
  • النسخ التلقائي: يومي مع سجلات معاملات مخزنة كل 5 دقائق، فترة احتفاظ 1–35 يوماً.
  • اللقطات اليدوية: تبقى حتى تحذفها، مثالية قبل تغييرات كبيرة في المخطط أو ترقيات.
  • الاستعادة تنشئ مثيلاً جديداً منفصلاً: لا تؤثر على المثيل الإنتاجي الأصلي.
  • يمكن نسخ اللقطات إلى مناطق AWS أخرى للتعافي من الكوارث.
مهندس DevOps يستعد لترقية كبيرة في مخطط قاعدة بيانات.
قبل البدء، يلتقط لقطة يدوية (snapshot).
أثناء الترقية، يحدث خطأ يؤدي لتلف بعض الجداول.
يستعيد اللقطة إلى مثيل جديد خلال 10 دقائق ويعيد توجيه التطبيق إليه — العودة للإنتاج تتم بنفس البيانات السليمة دون أي فقدان.
خلاصة Amazon RDS:
  • خدمة مُدارة تدعم 5 محركات علائقية رئيسية بأتمتة كاملة للصيانة والنسخ الاحتياطي.
  • Multi-AZ يوفر توفراً عالياً عبر نسخ متزامن في منطقتي توفر مختلفتين.
  • Read Replicas (حتى 15 نسخة) توزع حمل القراءة وتحسن الأداء عالمياً.
  • النسخ الاحتياطي التلقائي يدعم الاستعادة لأي نقطة زمنية خلال 35 يوماً.
  • التشفير في السكون والنقل مع إدارة المفاتيح عبر AWS KMS.
📖 Amazon Aurora محرك قواعد بيانات علائقية طورته AWS ليجمع بين أداء القواعد التجارية وبساطة وانفتاح القواعد مفتوحة المصدر.
متوافقة مع MySQL وPostgreSQL لكنها أسرع بخمس مرات وأقل تكلفة بعُشر السعر، مع تخزين موزع ذاتي الإصلاح يصل إلى 128 تيرابايت.
📋 لماذا Aurora مختلفة؟
  • التخزين موزع تلقائياً عبر 3 مناطق توفر: كل كتلة بيانات تُنسخ 6 مرات على الأقل عبر AZs مختلفة.
  • الإصلاح الذاتي: إذا اكتشفت تلفاً في بيانات أو قرصاً معطوباً، تصلح Aurora البيانات تلقائياً من النسخ الأخرى.
  • فصل الحوسبة عن التخزين: طبقة التخزين مستقلة وتتوسع تلقائياً حتى 128 تيرابايت دون توقف.
  • نسخ Aurora المتماثلة (حتى 15 نسخة): أسرع من Read Replicas العادية مع زمن تأخير أقل من 10–20 ميلي ثانية.
  • نقطة نهاية للقارئ (Reader Endpoint): توازن حمل القراءة تلقائياً بين جميع النسخ المتماثلة دون منطق إضافي في التطبيق.
شركة ألعاب عالمية تنتقل من MySQL على RDS إلى Aurora.
زمن تنفيذ الاستعلامات ينخفض بنسبة 40% بفضل التخزين المُحسّن.
أثناء حدث Black Friday، يتضاعف عدد اللاعبين 10 مرات — Aurora تتوسع تلقائياً وتضيف نسخاً متماثلة خلال دقائق.
بعد الحدث، تتراجع السعة تلقائياً — التكلفة تنخفض مع انخفاض الحمل.
النتيجة: أداء ممتاز طوال الحدث دون تدخل يدوي وبتكلفة أقل بـ 30% من RDS التقليدية.
📖 Aurora Serverless v2 تتيح تشغيل Aurora بدون إدارة السعة — تتوسع تلقائياً صعوداً وهبوطاً بالثواني بناءً على الحمل الفعلي.
مثالية لأحمال العمل المتقطعة أو المتغيرة أو التي لا يمكن التنبؤ بها حيث لا تريد الدفع مقابل سعة خاملة.
📋 Aurora Serverless v2
  • الحد الأدنى من وحدات Aurora Capacity Units (ACU): تبدأ من 0.5 ACU فقط (حوالي 1 جيجابايت ذاكرة).
  • التوسع فوري بالثواني وليس بالدقائق: مثالي لتطبيقات SaaS متعددة المستأجرين.
  • تدفع فقط مقابل السعة المستخدمة فعلياً: تخفيض تكلفة يصل إلى 90% لأحمال العمل الخاملة معظم الوقت.
  • تدعم كلاً من MySQL وPostgreSQL: نفس التوافق مع الميزات الكاملة.
تطبيق محاسبي يُستخدم فقط في نهاية كل شهر.
خلال 29 يوماً، التطبيق خامل تماماً — Aurora Serverless تنخفض إلى 0.5 ACU (أقل تكلفة).
في آخر 3 أيام من الشهر، ينشط 10,000 محاسب فجأة — Aurora تتوسع تلقائياً إلى 50 ACU.
في اليوم الأول من الشهر الجديد، تعود إلى 0.5 ACU.
مقارنة بمثيل RDS ثابت كبير: التوفير يصل إلى 85% شهرياً.
خلاصة Amazon Aurora:
  • محرك قواعد بيانات متوافق مع MySQL/PostgreSQL، أسرع بـ 5x وأقل تكلفة بـ 1/10.
  • تخزين موزع ذاتي الإصلاح عبر 3 AZs مع 6 نسخ لكل كتلة بيانات.
  • Aurora Serverless v2 للتوسع التلقائي بالثواني ودفع مقابل الاستخدام فقط.
  • نقطة نهاية القارئ لتوزيع حمل القراءة تلقائياً.
  • مثالية لأحمال العمل عالية الأداء والمتغيرة.

📖 جدول المصطلحات

المصطلح (English)الترجمةالمفهوم
Aurora Clusterمجموعة Auroraمثيل أساسي + نسخ متماثلة مع تخزين موزع عبر 3 AZs.
Aurora ServerlessAurora بدون خادمتتوسع تلقائياً بالثواني وتدفع مقابل الاستخدام فقط.
Reader Endpointنقطة نهاية القارئتوازن حمل القراءة تلقائياً بين النسخ المتماثلة.
Backtrackالتراجع الزمنياستعادة قاعدة البيانات إلى نقطة زمنية سابقة خلال ثوان.
Aurora Global DBقاعدة Aurora العالميةنسخ عبر المناطق بزمن تأخير أقل من ثانية للتعافي من الكوارث.
📖 Amazon DynamoDB هي قاعدة بيانات NoSQL مُدارة بالكامل تقدم أداءً ثابتاً بمستوى أجزاء من الثانية في أي نطاق.
بلا خوادم (serverless): لا حاجة لإدارة أو تصحيح أو نسخ احتياطي — تدفع فقط مقابل ما تستخدمه مع إمكانية التوسع إلى ملايين الطلبات في الثانية.
📋 مكونات DynamoDB الأساسية
  • الجدول: مجموعة من العناصر (items) — لا يوجد مخطط ثابت، كل عنصر يمكن أن يكون له خصائص مختلفة.
  • العنصر (item): يمثل صفاً واحداً بمفتاح أساسي فريد ومجموعة سمات اختيارية.
  • السمة (attribute): زوج مفتاح-قيمة — السمة نفسها يمكن أن تكون نصاً أو رقماً أو قائمة أو كائناً JSON متداخلاً.
  • المفتاح الأساسي: مفتاح قسمة (partition key) فقط، أو مفتاح قسمة + مفتاح فرز (sort key) للاستعلامات المرتبة.
متجر إلكتروني يخزن بيانات عربات التسوق في DynamoDB.
مفتاح القسمة: CustomerID — يضمن توزيع البيانات بالتساوي بين أقسام التخزين.
مفتاح الفرز: ProductID — يسمح باستعلام جميع منتجات العميل مرتبة أبجدياً.
عند إضافة منتج للعربة: عملية كتابة واحدة في أقل من 10 ميلي ثانية.
عند عرض العربة: استعلام واحد يسترجع جميع المنتجات خلال 15 ميلي ثانية.
حتى مع مليون عربة تسوق متزامنة، الأداء يبقى ثابتاً.

⚖️ نماذج السعة: عند الطلب مقابل المُجهزة

📖 DynamoDB تقدم نموذجين لإدارة السعة: عند الطلب (On-Demand) للدفع مقابل كل طلب، والمُجهزة (Provisioned) مع مقياس تلقائي لتوفير التكلفة.
اختيار النموذج المناسب يعتمد على نمط استخدام تطبيقك وإمكانية التنبؤ بحجم الطلبات.
📋 مقارنة النموذجين
  • عند الطلب (On-Demand): لا حاجة لتخطيط السعة — تدفع مقابل كل قراءة وكتابة، مثالي لأحمال العمل الجديدة أو المتغيرة أو غير المتوقعة.
  • المُجهزة (Provisioned): تحدد عدد وحدات القراءة (RCU) والكتابة (WCU) مسبقاً بتكلفة أقل تصل إلى 70% عند الاستخدام المتوقع.
  • المقياس التلقائي (Auto Scaling): يضبط السعة المُجهزة تلقائياً حسب الطلب الفعلي مع حد أقصى تحدده.
  • التبديل بين النموذجين ممكن في أي وقت ولكل جدول.

📊 DAX والجداول العالمية

📖 مسرّع DynamoDB (DAX) يضيف طبقة تخزين مؤقت في الذاكرة أمام DynamoDB تقلل زمن القراءة من ميلي ثانية إلى ميكروثانية.
لا حاجة لتعديل كود التطبيق — DAX متوافق تماماً مع واجهة DynamoDB API ويستجيب في أقل من 10 ميكروثانية.
📋 الجداول العالمية (Global Tables)
  • تنسخ بيانات DynamoDB تلقائياً عبر مناطق AWS المتعددة.
  • القراءة والكتابة من أي منطقة مع حل النزاعات آلياً (last writer wins).
  • مثالية للتطبيقات العالمية التي تحتاج وصولاً سريعاً للبيانات محلياً في كل منطقة.
  • التعافي من الكوارث: إذا تعطلت منطقة كاملة، التطبيق يواصل العمل من المناطق الأخرى.
تطبيق حجز طيران عالمي يستخدم Global Tables.
بيانات الرحلات والمقاعد تُنسخ تلقائياً بين أمريكا وأوروبا وآسيا.
مسافر في طوكيو يحجز مقعداً — الكتابة تتم في DynamoDB في طوكيو خلال 12ms وتُنسخ تلقائياً إلى بقية المناطق.
بعد ثانية واحدة، مسافر في لندن يستعرض نفس الرحلة ويرى المقعد محجوزاً بفضل المزامنة شبه الفورية.
لا يوجد تضارب في الحجوزات حتى مع ملايين المستخدمين المتزامنين.
🔑 نصيحة أساسية: DynamoDB مقابل RDS
استخدم DynamoDB عندما تحتاج سرعة فائقة (ميلي ثانية) ومرونة في المخطط وتوسعاً تلقائياً — التطبيقات الحديثة بدون خادم، جلسات المستخدمين، بيانات IoT.
استخدم RDS عندما تحتاج علاقات معقدة بين الجداول (JOIN) واستعلامات SQL تقليدية ومخطط بيانات منظم ومحدد مسبقاً — أنظمة ERP وCRM والبنوك.

📖 جدول المصطلحات

المصطلح (English)الترجمةالمفهوم
Partition Keyمفتاح القسمةيوزع البيانات تلقائياً بين أقسام التخزين لأداء متسق.
Sort Keyمفتاح الفرزينظم العناصر داخل القسم الواحد للاستعلامات المرتبة.
RCU/WCUوحدة القراءة/الكتابةوحدة قياس سعة DynamoDB للقراءة والكتابة في الثانية.
DAXمسرع DynamoDBطبقة تخزين مؤقت تقلل زمن القراءة إلى ميكروثانية.
Global Tablesالجداول العالميةنسخ تلقائي للبيانات عبر مناطق AWS المتعددة.
TTLمدة حياة العنصرحذف تلقائي للعناصر بعد فترة زمنية محددة.

💾 — التخزين المؤقت في الذاكرة

📖 Amazon ElastiCache خدمة تخزين مؤقت في الذاكرة مُدارة بالكامل تدعم Redis وMemcached لتسريع التطبيقات عبر تخزين البيانات الأكثر طلباً في ذاكرة RAM.
تقلل زمن استجابة التطبيق من ملي ثانية إلى ميكروثانية وتخفف الضغط عن قواعد البيانات الخلفية بتكلفة منخفضة.
📋 Redis مقابل Memcached
  • Redis: يدعم هياكل بيانات غنية (قوائم، مجموعات، مجموعات مرتبة، خرائط Hash)، النسخ المتعدد AZ، الثبات (persistence)، والنشر والاشتراك (pub/sub). مثالي لجلسات المستخدمين ولوحات المتصدرين وتخزين التصويت.
  • Memcached: أبسط وأسرع، يدعم فقط أزواج مفتاح-قيمة، متعدد الخيوط، يتوسع أفقياً بسهولة. مثالي لتخزين نتائج استعلامات قواعد البيانات مؤقتاً.
  • Redis يقدم ميزات متقدمة مثل التشفير والتوثيق والمجموعات المقسمة (clustering).
  • Memcached مثالي لأحمال العمل البسيطة التي لا تحتاج ميزات متقدمة.
موقع إخباري كبير يستخدم ElastiCache لتقليل الحمل عن RDS.
عند نشر خبر جديد، يُكتب إلى RDS (مصدر الحقيقة).
عند طلب زائر للخبر، يفحص التطبيق ElastiCache أولاً — 95% من الطلبات تجد الخبر مخزناً مؤقتاً وتستجيب في 0.5ms.
فقط 5% من الطلبات (الزيارات الأولى للخبر) تذهب إلى RDS وتستجيب في 50ms.
النتيجة: تحسين سرعة الموقع بـ 100 ضعف وتقليل تكلفة RDS إلى الثلث لأن المثيل أصغر بكثير.

📊 Amazon Redshift — مستودع البيانات التحليلي

📖 Amazon Redshift هو مستودع بيانات مُدار بالكامل لتحليل البيانات الضخمة باستعلامات SQL على نطاق بيتابايت.
أسرع بثلاث مرات وأقل تكلفة بخمس مرات من مستودعات البيانات التقليدية بفضل التخزين العمودي وضغط البيانات وتنفيذ الاستعلامات المتوازي.
📋 ميزات Redshift الأساسية
  • التخزين العمودي (columnar storage): البيانات تُخزن بالأعمدة وليس بالصفوف — مثالي للاستعلامات التحليلية التي تمسح أعمدة محددة.
  • المعالجة المتوازية (MPP): يوزع الاستعلامات تلقائياً عبر عدة عُقد للحوسبة المتوازية.
  • تكامل مع S3 عبر Redshift Spectrum: استعلام عن البيانات المخزنة مباشرة في S3 دون تحميلها إلى Redshift.
  • النسخ الاحتياطي التلقائي إلى S3: مستمر وتزايدي مع إمكانية الاستعادة لأي نقطة.
  • يدعم التشفير في السكون والنقل ويتكامل مع AWS KMS.
سلسلة متاجر تجزئة بـ 500 فرع تستخدم Redshift لتحليل المبيعات.
كل ليلة، بيانات 10 ملايين معاملة مبيعات تُحمل من قواعد الفروع إلى Redshift.
صباحاً، مدير التسويق يستعلم: "ما أكثر 5 منتجات مبيعاً في الفروع الساحلية آخر 3 أشهر؟"
Redshift يمسح تيرابايت من البيانات ويعيد النتيجة في 3 ثوانٍ — نفس الاستعلام على RDS يستغرق 12 دقيقة.
النتيجة: قرارات تسويقية أسرع ومبنية على بيانات دقيقة.
خلاصة ElastiCache وRedshift:
  • ElastiCache (Redis/Memcached) يخزن البيانات الساخنة في الذاكرة لتقليل زمن الاستجابة وحمل قاعدة البيانات.
  • Redis للهياكل المعقدة وMemcached للبساطة والسرعة القصوى.
  • Redshift مستودع بيانات تحليلي للتخزين العمودي والاستعلامات المتوازية على نطاق بيتابايت.
  • Redshift Spectrum للاستعلام المباشر عن بيانات S3 دون تحميل.

📖 جدول المصطلحات

المصطلح (English)الترجمةالمفهوم
Redis Clusterمجموعة Redisتقسيم البيانات عبر عقد متعددة لتوسيع السعة والأداء.
MemcachedMemcachedتخزين مؤقت بسيط عالي الأداء لأزواج مفتاح-قيمة.
Columnar Storageالتخزين العموديتخزين البيانات بالأعمدة لتحسين أداء الاستعلامات التحليلية.
Redshift SpectrumRedshift Spectrumاستعلام مباشر عن بيانات S3 دون تحميلها إلى Redshift.
MPPالمعالجة المتوازيةتوزيع الاستعلامات عبر عقد متعددة للمعالجة المتزامنة.

🛡️ أمان قواعد البيانات في AWS

📖 أمان قاعدة البيانات في AWS يشمل أربع طبقات: الشبكة (Security Groups)، الوصول (IAM وكلمات المرور)، التشفير (KMS)، والتدقيق (CloudTrail).
كل طبقة تضيف حاجزاً إضافياً يحمي بياناتك من الاختراق.
📋 طبقات أمان قاعدة البيانات
  • طبقة الشبكة: مثيل RDS يوضع في شبكة فرعية خاصة (private subnet) ولا يُعرض للإنترنت مباشرة. مجموعات الأمان تتحكم في المنافذ والمصادر المسموحة.
  • طبقة الوصول: المصادقة بكلمة مرور قوية أو عبر IAM (لـ DynamoDB وRDS مع IAM DB Authentication).
  • طبقة التشفير: تشفير في السكون باستخدام AWS KMS (شفرة AES-256) وتشفير في النقل عبر SSL/TLS.
  • طبقة التدقيق: تفعيل سجلات التدقيق (مثل RDS Enhanced Monitoring وCloudTrail) لتتبع كل عملية وصول أو تغيير.
بنك يطبق أمان قاعدة بياناته على 4 طبقات.
قاعدة RDS في شبكة فرعية خاصة — لا يمكن الوصول إليها من الإنترنت.
فقط خوادم التطبيق في نفس الشبكة يمكنها الاتصال عبر Security Group.
كل البيانات مشفرة بـ AES-256 ومفاتيح KMS تُدار وتدور تلقائياً.
كل محاولة وصول تُسجل وتُرسل إلى نظام SIEM لاكتشاف الأنماط المشبوهة.
النتيجة: 4 حواجز متتالية تجعل اختراق البيانات شبه مستحيل.

🚛 ترحيل قواعد البيانات إلى AWS

📖 خدمة AWS Database Migration Service (DMS) تسمح بترحيل قواعد البيانات من البيئات المحلية أو السحابية إلى AWS بأقل وقت تعطل.
المصدر يبقى قيد التشغيل أثناء الترحيل، وDMS تنسخ البيانات باستمرار حتى تصبح القاعدة الهدف جاهزة للتبديل.
📋 أدوات الترحيل
  • AWS DMS: ينسخ البيانات بين قواعد بيانات متجانسة (MySQL → MySQL) أو غير متجانسة (Oracle → Aurora PostgreSQL).
  • AWS Schema Conversion Tool (SCT): يحول المخططات والإجراءات المخزنة تلقائياً بين المحركات المختلفة — يوفر أسابيع من العمل اليدوي.
  • يدعم الترحيل المستمر (ongoing replication): البيانات تُنسخ باستمرار حتى لحظة التبديل النهائي (cutover).
  • الترحيل يمكن أن يكون لمرة واحدة (one-time) أو مستمراً (ongoing) لسيناريوهات التهجين.
شركة تأمين تنتقل من Oracle (محلي) إلى Aurora PostgreSQL في AWS.
تستخدم SCT لتحويل 200 إجراء مخزن و50 دالة من PL/SQL إلى PL/pgSQL خلال ساعتين فقط (كان سيستغرق 3 أسابيع يدوياً).
ثم تشغل DMS لنسخ 2 تيرابايت من البيانات بينما النظام القديم ما زال يعمل.
بعد أسبوع من المزامنة المستمرة والتأكد من صحة البيانات، تخطط لتبديل (cutover) في عطلة نهاية الأسبوع.
يوم الأحد عند 2 صباحاً، توقف التطبيق القديم وتوجهه إلى Aurora في AWS — 4 دقائق فقط من التوقف.

🏗️ ركائز Well-Architected لطبقة البيانات

📖 تطبيق مبادئ Well-Architected على طبقة البيانات يضمن قاعدة بيانات آمنة وموثوقة وفعالة من حيث التكلفة.
كل ركيزة من الركائز الست تقدم إرشادات محددة لتحسين طبقة البيانات.
📋 تطبيق الركائز الست على قواعد البيانات
  • التميز التشغيلي: أتمتة النسخ الاحتياطي والتصحيح والتوسع عبر RDS المُدارة. استخدام Infrastructure as Code (مثل CloudFormation) لتوثيق وإعادة إنشاء البنية.
  • الأمان: تشفير البيانات في السكون والنقل، عزل القاعدة في شبكة خاصة، استخدام IAM للمصادقة حيث أمكن.
  • الموثوقية: تفعيل Multi-AZ للإنتاج، النسخ الاحتياطي التلقائي مع نقطة زمنية للاستعادة، الجداول العالمية لـ DynamoDB.
  • كفاءة الأداء: اختيار المحرك والمثيل المناسبين، استخدام Read Replicas لتوزيع الحمل، ElastiCache لتقليل الضغط، Aurora للتطبيقات عالية الأداء.
  • تحسين التكلفة: استخدام Reserved Instances لـ 70% خصم، Aurora Serverless للأحمال المتقطعة، DynamoDB On-Demand للتطبيقات الجديدة.
  • الاستدامة: اختيار مناطق AWS القريبة من المستخدمين لتقليل زمن الوصول واستهلاك الطاقة، استخدام الخدمات بدون خادم (DynamoDB, Aurora Serverless) التي لا تهدر سعة حوسبة.
مهندس حلول يراجع بنية قاعدة بيانات لتطبيق توصيل طعام.
يكتشف أن RDS في AZ واحدة بدون Multi-AZ — يضيفها فوراً (ركيزة الموثوقية).
يلاحظ أن 80% من استعلامات التطبيق هي قراءة — يضيف Read Replicas (ركيزة الأداء).
يجد أن التطبيق يستخدم مثيل db.r5.2xlarge طوال الوقت حتى في منتصف الليل — يقترح Aurora Serverless (ركيزة التكلفة).
النتيجة: التطبيق يصبح أسرع بـ 40% وأرخص بـ 50% وأكثر موثوقية.

📖 جدول المصطلحات

المصطلح (English)الترجمةالمفهوم
Amazon RDSخدمة قواعد البيانات العلائقيةخدمة مُدارة لتشغيل MySQL وPostgreSQL وOracle وSQL Server وMariaDB في السحابة.
Multi-AZالنشر متعدد مناطق التوفرنسخ متزامن لقاعدة البيانات عبر منطقتي توفر لضمان التوفر العالي.
Read Replicaالنسخة المتماثلة للقراءةنسخة للقراءة فقط من قاعدة البيانات لتوزيع حمل الاستعلامات.
Amazon Auroraأمازون أورورامحرك قواعد بيانات علائقية عالي الأداء متوافق مع MySQL/PostgreSQL.
Aurora Serverlessأورورا بدون خادمنسخة من Aurora تتوسع تلقائياً وتدفع مقابل الاستخدام فقط.
Amazon DynamoDBأمازون دينامو دي بيقاعدة بيانات NoSQL مُدارة بالكامل، سريعة وبدون خادم.
DAXمسرّع DynamoDBطبقة تخزين مؤقت في الذاكرة تقلل زمن قراءة DynamoDB إلى ميكروثانية.
Amazon ElastiCacheأمازون إلاستيكاشخدمة تخزين مؤقت مُدارة تدعم Redis وMemcached.
Amazon Redshiftأمازون ريدشيفتمستودع بيانات تحليلي للتخزين العمودي والاستعلامات المتوازية.
AWS DMSخدمة ترحيل قواعد البياناتخدمة لترحيل قواعد البيانات إلى AWS بأقل وقت تعطل.
AWS SCTأداة تحويل المخططتحول مخططات وإجراءات قواعد البيانات بين المحركات المختلفة.

🚀 الخاتمة

في هذه الوحدة تعلمنا أن طبقة قاعدة البيانات هي العمود الفقري لأي تطبيق سحابي.
استكشفنا الخيارات المتعددة: القواعد العلائقية المُدارة مع Amazon RDS بمحركاتها الخمسة، ومحرك الجيل التالي Amazon Aurora الأسرع بـ 5 مرات، وقاعدة NoSQL فائقة السرعة Amazon DynamoDB بدون خادم.
تعلمنا آليات التوفر العالي: Multi-AZ للنسخ المتزامن التلقائي وRead Replicas لتوزيع حمل القراءة وصولاً إلى 15 نسخة.
تعمقنا في ElastiCache للتخزين المؤقت في الذاكرة وRedshift للتحليلات على نطاق بيتابايت.
استعرضنا أمان قاعدة البيانات عبر 4 طبقات: الشبكة والوصول والتشفير والتدقيق.
تعرفنا على أدوات الترحيل DMS وSCT التي تنقل بياناتك إلى AWS بأقل انقطاع.
وأخيراً، طبقنا مبادئ Well-Architected على طبقة البيانات لضمان الأمان والموثوقية وكفاءة الأداء والتكلفة.
تذكر: اختر قاعدة البيانات المناسبة لحالة الاستخدام، لا تجبر كل شيء في نموذج واحد.

تعليقات



حجم الخط
+
16
-
تباعد السطور
+
2
-