0Pricing
AWS Solutions Architect · درس

محركات RDS وفئات المثيلات

قارنوا بين MySQL وPostgreSQL وMariaDB وOracle وSQL Server وAurora، واختاروا فئة المثيل المناسبة لعبء العمل.

محركات RDS وفئات المثيلات درس مجاني في AWS Solutions Architect على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AWS Solutions Architect، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AWS Solutions Architect 4 دروس في المجموع.

مقدمة إلى محركات Amazon RDS

يدعم Amazon RDS ستة محركات لقواعد البيانات: MySQL وPostgreSQL وMariaDB وOracle وMicrosoft SQL Server وAmazon Aurora. كل محرك هو إصدار مُدار بالكامل من قاعدة البيانات مفتوحة المصدر أو التجارية التي تعرفونها مسبقًا. تتولى AWS تطبيق التصحيحات والنسخ الاحتياطية والتحويل عند التعطل، حتى تتمكنوا من التركيز على منطق تطبيقكم.

يعتمد اختيار المحرك المناسب على متطلبات تطبيقكم الحالي، وتكاليف التراخيص، والميزات التي يوفرها كل محرك. ويُعد Aurora الخيار السحابي الأصلي من AWS، وقد صُمم لتحقيق الأداء والتوافر.

MySQL وPostgreSQL على RDS

يُعد MySQL أشهر قاعدة بيانات علائقية مفتوحة المصدر في العالم، وهو خيار طبيعي لتطبيقات الويب وأنظمة إدارة المحتوى. أما PostgreSQL فيوفر توافقًا متقدمًا مع SQL، ودعمًا قويًا لـ JSONB، ونظامًا متكاملًا من الإضافات القوية، مما يجعله شائعًا في أعباء التحليلات والبيانات الجغرافية المكانية.

يدعم كلا المحركين على RDS النسخ الاحتياطية التلقائية، وعمليات النشر Multi-AZ، والنسخ المتماثلة للقراءة. ويمكن للنسخ المتماثلة للقراءة في PostgreSQL أن تمتد عبر المناطق، بينما يدعم MySQL ما يصل إلى 15 نسخة متماثلة عبر المناطق باستخدام Aurora MySQL.

# Creating an RDS MySQL instance via CLI
aws rds create-db-instance \
  --db-instance-identifier mydb \
  --db-instance-class db.t3.micro \
  --engine mysql \
  --master-username admin \
  --master-user-password MyPass123! \
  --allocated-storage 20

MariaDB وحالات استخدامها

إن MariaDB نسخة مشتقة من MySQL طوّرها المجتمع، وهي متوافقة بالكامل على مستوى بروتوكول الاتصال مع عملاء MySQL. وتوفر محركات تخزين إضافية، وأداءً أفضل في بعض أعباء العمل، ونموذج تطوير مفتوحًا دون ميزات مملوكة.

في RDS، تُعد MariaDB بديلًا مباشرًا لـ MySQL إذا كنتم تريدون تجنب ترخيص MySQL من Oracle أو تفضلون النسخة التي يطورها المجتمع. وهي تدعم ميزات النسخ الاحتياطي التلقائي وMulti-AZ والنسخ المتماثلة للقراءة نفسها التي يدعمها MySQL.

Oracle وSQL Server على RDS

تدعم Oracle Database على RDS نموذجي الترخيص License Included (LI) وBring Your Own License (BYOL). يتضمن LI ترخيص Oracle SE2 ضمن السعر بالساعة، بينما يتيح لكم BYOL استخدام ترخيص Enterprise Edition الحالي للاستفادة من ميزات مثل التقسيم وAdvanced Security.

وبالمثل، يوفر Microsoft SQL Server على RDS إصدارات LI ‏(Express وWeb وStandard وEnterprise) وBYOL. ويدعم كلا المحركين Multi-AZ باستخدام النسخ المتطابق المتزامن، لكنهما لا يدعمان النسخ المتماثلة للقراءة بالطريقة نفسها التي تدعمها المحركات مفتوحة المصدر.

Amazon Aurora: محرك سحابي أصلي

إن Amazon Aurora قاعدة بيانات علائقية سحابية أصلية متوافقة مع MySQL وPostgreSQL. ويوفر Aurora ما يصل إلى 5 أضعاف معدل نقل MySQL و3 أضعاف معدل نقل PostgreSQL على الأجهزة نفسها، وذلك باستخدام طبقة تخزين موزعة تنسخ البيانات تلقائيًا ست مرات عبر ثلاث مناطق توافر.

ينمو تخزين Aurora تلقائيًا بزيادات قدرها 10 GB حتى 128 TiB، مما يلغي الحاجة إلى توفير التخزين يدويًا. كما يتيح فصل الحوسبة عن التخزين لـ Aurora Serverless زيادة السعة وخفضها تلقائيًا.

عائلات فئات مثيلات RDS

تتبع فئات مثيلات RDS اصطلاح التسمية نفسه المتبع في EC2، لكنها تسبق بحرف db. بدلًا من الاكتفاء بحرف العائلة. وتشمل العائلات الرئيسية ما يلي:

  • db.t — أداء قابل للزيادة، وفعّالة من حيث التكلفة للتطوير والاختبار (مثل db.t3.micro وdb.t4g.small)
  • db.m — استخدام عام، وتوازن بين وحدة المعالجة المركزية والذاكرة (مثل db.m6g.large)
  • db.r — محسّنة للذاكرة، لذاكرة التخزين المؤقت الكبيرة والجداول الموجودة في الذاكرة (مثل db.r6g.xlarge)
  • db.x — ذاكرة فائقة السعة لـ Oracle وSQL Server مع أعباء SAP

اختاروا db.t للتطوير، وdb.m لبيئات الإنتاج المعتادة، وdb.r لقواعد البيانات ذات مجموعات العمل الكبيرة.

اختيار فئة المثيل المناسبة

يتطلب اختيار فئة مثيل RDS تحليل أعباء العمل من حيث استخدام وحدة المعالجة المركزية واستهلاك الذاكرة واحتياجات IOPS وعرض النطاق الترددي للشبكة. تساعد AWS Compute Optimizer وأداة RDS Performance Insights في تحديد ما إذا كان المثيل الحالي مزودًا بموارد زائدة أو غير كافية.

من الأنماط الشائعة البدء باستخدام db.t3 لإنشاء نموذج أولي، ثم الانتقال إلى db.m6g عندما يصبح الحمل مستقرًا، وأخيرًا الترقية إلى db.r6g عندما تستفيد الاستعلامات من مجموعة مخازن مؤقتة أكبر. وتوفر المثيلات المستندة إلى Graviton2 ‏(db.m6g وdb.r6g) عادةً أداءً أفضل مقابل السعر بنسبة تصل إلى 35% مقارنةً بالمثيلات المكافئة المستندة إلى x86.

# List available DB instance classes for MySQL 8.0
aws rds describe-orderable-db-instance-options \
  --engine mysql \
  --engine-version 8.0 \
  --query 'OrderableDBInstanceOptions[].DBInstanceClass' \
  --output text | tr '\t' '\n' | sort -u | head -20

خيارات التخزين لـ RDS

يوفر RDS ثلاثة أنواع من التخزين تعتمد في الخلفية على وحدات تخزين EBS:

  • gp2 / gp3 — وحدة تخزين SSD للأغراض العامة؛ يتيح gp3 توفير IOPS ومعدل النقل بشكل مستقل دون الدفع مقابل مساحة تخزين إضافية
  • io1 / io2 — وحدة تخزين SSD ذات IOPS مُوفَّرة لقواعد بيانات OLTP الحساسة لزمن الاستجابة والتي تتطلب استجابة ثابتة تقل عن ميلي ثانية
  • st1 — محرك أقراص ثابت HDD محسّن لمعدل النقل، ومتاح فقط لمحركات معينة وأعباء الاختبار

بالنسبة إلى معظم عمليات نشر RDS في بيئات الإنتاج، يُعد gp3 الخيار الافتراضي الموصى به؛ لأنه يوفر 3,000 IOPS دون تكلفة إضافية، ويمكن توسيعه بشكل مستقل عن حجم التخزين.

توسيع نطاق RDS: رأسي وأفقي

يدعم RDS بُعدين لتوسيع النطاق. يتطلب التوسيع الرأسي (تغيير فئة المثيل) فترة توقف قصيرة ما لم يتم تمكين Multi-AZ؛ فعند تمكين Multi-AZ، يتيح التحويل عند التعطل فترة توقف تقترب من الصفر أثناء تغيير الحجم. ويمكنكم جدولة التعديل خلال نافذة الصيانة التالية أو تطبيقه فورًا.

أما التوسيع الأفقي فهو للقراءة فقط: إذ تضيفون النسخ المتماثلة للقراءة لتوزيع استعلامات SELECT بعيدًا عن المثيل الأساسي. وتستخدم النسخ المتماثلة للقراءة النسخ المتماثل غير المتزامن، ولذلك يوجد تأخر بسيط في النسخ يجب أن يتحمله تطبيقكم.

# Modify an RDS instance class (apply immediately)
aws rds modify-db-instance \
  --db-instance-identifier mydb \
  --db-instance-class db.m6g.large \
  --apply-immediately

Aurora مقابل المحركات المجتمعية: الفروقات الرئيسية

عند الاختيار بين Aurora وMySQL/PostgreSQL المجتمعيين، ضعوا في الاعتبار المفاضلات التالية:

  • Aurora: معدل نقل أعلى، ونسخ متماثل تلقائي من ستة اتجاهات، وتحويل سريع عند التعطل (~30 s)، وعدم الحاجة إلى إدارة التخزين يدويًا، مع تكلفة أعلى لكل ساعة
  • MySQL/PostgreSQL: تكلفة أقل، وإضافات مجتمعية أوسع، وخيار BYOL، وأدوات تشغيل مألوفة

في سيناريوهات الاختبار، يُفضَّل Aurora عندما يركز السؤال على التوافر العالي أو النمو التلقائي للتخزين أو أداء قريب من قواعد البيانات التجارية بسعر قواعد البيانات مفتوحة المصدر. أما المحركات المجتمعية فتكون الخيار الأفضل عندما تكون تقليل التكلفة أو تكافؤ الميزات مع البيئات المحلية هي الأولوية.

ترقية إصدارات المحركات على RDS

يفصل RDS بين ترقيات الإصدارات الثانوية (مثل MySQL 8.0.32 → 8.0.36) وترقيات الإصدارات الرئيسية (مثل MySQL 5.7 → 8.0). ويمكن ضبط الترقيات الثانوية ليتم تطبيقها تلقائيًا أثناء نافذة الصيانة من خلال تمكين --auto-minor-version-upgrade. أما الترقيات الرئيسية فتُجرى يدويًا، وقد تتطلب اختبار توافق التطبيق.

اختبروا دائمًا ترقيات الإصدارات الرئيسية أولًا في بيئة تجريبية. ويمكنكم أخذ لقطة لقاعدة البيانات قبل الترقية للعودة إليها إذا ظهرت مشكلات. وتدعم عناقيد Aurora ترقيات الإصدارات الرئيسية في مكانها مع أقل قدر من التعطيل.

# Enable auto minor version upgrade
aws rds modify-db-instance \
  --db-instance-identifier mydb \
  --auto-minor-version-upgrade \
  --apply-immediately

تحقق سريع

اختبر مدى فهمك لمفاهيم AWS Solutions Architect (SAA-C03) الواردة في هذا الدرس.

مراجعة الدرس

تعلمت في هذا الدرس أن: RDS يدعم ستة محركات (MySQL وPostgreSQL وMariaDB وOracle وSQL Server وAurora)، وأن فئات المثيلات تتوافق مع ملفات أعباء العمل (db.t للتطوير والاختبار، وdb.m للاستخدام العام، وdb.r لأعباء العمل كثيفة استخدام الذاكرة)، وأن Aurora يوفر معدل نقل أعلى وتوسيعًا تلقائيًا للتخزين مقارنةً بالمحركات المجتمعية. وسنستكشف بعد ذلك عمليات النشر Multi-AZ والنسخ الاحتياطية التلقائية لتحقيق التوافر العالي.

الأسئلة الشائعة

هل درس «محركات RDS وفئات المثيلات» مجاني؟

نعم — نص درس «محركات RDS وفئات المثيلات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AWS Solutions Architect، انتقل إلى CoddyKit PRO. تتضمن دورة AWS Solutions Architect 4 دروس في المجموع.

ماذا ستتعلم في «محركات RDS وفئات المثيلات»؟

قارنوا بين MySQL وPostgreSQL وMariaDB وOracle وSQL Server وAurora، واختاروا فئة المثيل المناسبة لعبء العمل. تتمرن على AWS Solutions Architect مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ AWS Solutions Architect؟

لا تُشترط خبرة سابقة. AWS Solutions Architect على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «محركات RDS وفئات المثيلات»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس AWS Solutions Architect هذا؟

نعم. كل درس في AWS Solutions Architect يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. محركات RDS وفئات المثيلات
  2. Multi-AZ والنسخ الاحتياطية التلقائية
  3. النسخ المتماثلة للقراءة لتوسيع نطاق القراءة
  4. أمان RDS: التشفير ومجموعات المعلمات
← العودة إلى AWS Solutions Architect