DanLevy.net

اختبار: تخزين AWS: أكثر من 20 سؤالاً!

هل تستطيع التنقل في متاهة السحابة؟

هل أنت مستعد للسحابة؟! 🤡

اغوص في أعماق خدمات التخزين في AWS! هذا الاختبار سيختبر معرفتك بـ S3 و DynamoDB و Aurora و RDS و ElastiCache والمزيد. من أفضل الممارسات إلى الحيل الخادعة، سنستكشف مشهد التخزين السحابي.

استعد لإثبات خبرتك السحابية! 🚀

آخر تحقق: 8 مايو 2026. حدود وأسعار AWS تتغير بسرعة.

ماذا يعني الاسم S3؟

S3 تعني Simple Storage Service. إنها خدمة تخزين كائنات قابلة للتوسع مصممة لتخزين البيانات على نطاق واسع.

تقدم AWS S3 عدة فئات تخزين:

  • Standard: للبيانات التي يتم الوصول إليها بشكل متكرر
  • Infrequent Access (IA): تكلفة أقل للوصول الأقل تكرارًا
  • Glacier: تخزين أرشيفي طويل الأجل ومنخفض التكلفة

تقدم كل فئة أسعارًا وخصائص وصول مختلفة، مما يسمح بتحسين التكلفة بناءً على أنماط استخدام البيانات.

تعرف على المزيد حول فئات تخزين S3

ماذا يعني عندما يُوصف DynamoDB بأنه “بدون مخطط”؟

يُعتبر DynamoDB “بدون مخطط” لأنه يسمح لك بتخزين خصائص عشوائية في العناصر دون مخطط محدد مسبقًا.

DynamoDB Best Practices

أي واجهة برمجة تطبيقات DynamoDB تقوم بتحديث السمات على عنصر موجود واحد؟

المفتاح هنا هو التحديثات، وليس الإدراج أو PUTs. إذا كنت تقوم بالإدراج، يمكنك استخدام BatchWriteItem أو TransactWriteItems.

بينما يمكن لـ BatchWriteItem التعامل مع عمليات متعددة، إلا أنه يقتصر على PUTs وDELETES. TransactWriteItems أكثر قوة، لكنه يشبه المطرقة الثقيلة للتحديثات البسيطة. بالنسبة للتحديثات البسيطة، UpdateItem هو الخيار الأفضل. يسمح لك بتحديث (UPDATE) أو تعديل سمة واحدة أو أكثر في عنصر موجود.

عملية UpdateItem تعدل عنصرًا واحدًا لكل طلب. بالنسبة للتعبئة الخلفية الكبيرة أو التحديثات الجماعية، عادةً ما تقوم بتنسيق العديد من استدعاءات UpdateItem أو استخدام سير عمل أكبر مثل تنفيذ PartiQL الدفعي، أو Step Functions، أو Glue، أو EMR، أو عملية عامل مخصصة.

عملية UpdateItem:

  • تقوم بتحديث سمات عنصر موجود.
  • تضيف سمات جديدة إلى عنصر موجود.
  • تزيل سمات من عنصر موجود.
  • تقوم بالتحديث بشكل مشروط إذا كان العنصر موجودًا أو يستوفي شروطًا معينة.

DynamoDB UpdateItem

أي خدمة AWS هنا مصممة خصيصًا للبحث النصي الكامل وتحليلات البحث؟

OpenSearch هي خدمة AWS المُدارة للبحث، وتحليلات السجلات، وأعباء عمل البحث النصي الكامل.

الخيارات الأخرى هي خدمات مفيدة، لكنها ليست محرك البحث المخصص في هذه القائمة:

  • ElastiCache: ذاكرة تخزين مؤقت بشكل أساسي. الإصدار الحالي من ElastiCache لـ Valkey يتضمن أوامر بحث للبيانات المفهرسة في الذاكرة، لذا لم يعد من الدقيق وصف الخدمة بأكملها بأنها لا تحتوي على بحث مدمج.
  • Neptune: قاعدة بيانات رسومية؛ يمكنها التكامل مع OpenSearch للبحث النصي الكامل.
  • Redshift: مستودع بيانات لتحليلات SQL.
  • DocumentDB: قاعدة بيانات مستندات مع بحث نصي متوافق مع MongoDB في الإصدارات المدعومة.

ما هي الفائدة الرئيسية لنشر RDS متعدد مناطق التوفر؟

مناطق التوفر (AZs) هي مراكز بيانات متميزة داخل المنطقة. يوفر نشر RDS متعدد مناطق التوفر تجاوز الفشل التلقائي إلى نسخة احتياطية احتياطية في منطقة توفر قريبة.

نشر متعدد مناطق التوفر:

  • يوفر تجاوز الفشل التلقائي
  • يزيد من توفر قاعدة البيانات
  • ينشئ نسخة احتياطية متزامنة
  • يقلل من وقت التوقف أثناء فشل البنية التحتية

لا تخلط بين نشر متعدد مناطق التوفر ونسخ القراءة (Read Replicas)، والتي تُستخدم لتوسيع نطاق عمليات القراءة.

👋 أتمنى أنك تستمتع حتى الآن!

حان وقت السؤال الصعب…

أي خدمة AWS توفر واجهات برمجة تطبيقات WebSocket مُدارة حيث تمتلك AWS اتصال العميل وتوجيه الرسائل إلى التكاملات؟

يدعم API Gateway واجهات برمجة تطبيقات WebSocket ثنائية الاتجاه، لكن التنفيذ يُدار بواسطة API Gateway بدلاً من أن يكون مأخذ توصيل مباشر إلى عملية الخادم الخاصة بك. يحافظ API Gateway على اتصال العميل ويوجه الرسائل إلى Lambda أو نقاط نهاية HTTP أو تكاملات أخرى. يمكن إرسال الرسائل مرة أخرى إلى العملاء المتصلين عبر API Gateway Management API.

الخدمات الأخرى أكثر ملاءمة لـ WebSocket:

  • Lightsail: مثالي لإعدادات WebSocket البسيطة 👌
  • AppSync: يستخدم WebSockets لاشتراكات GraphQL المُدارة
  • EC2: الخيار الكلاسيكي “افعل ما تريد” لـ WebSockets
  • EKS: رائع لتشغيل مجموعات WebSocket قابلة للتوسع

نصيحة محترف: إذا كنت بحاجة إلى قوة WebSocket الخام، التزم بخدمات الحوسبة!

ما هو الأسلوب الموصى به لأذونات حاوية S3؟

في جميع الأنظمة تقريبًا، يُعد تبني تصميم “الحد الأدنى من الامتيازات” طريقة أساسية لتعزيز الأمان وتأمين المستقبل. محاولة تقييد نظام موجود أصعب تقريبًا من نقل مبنى مكتبي بالكامل إلى أساس جديد.

حاويات S3 ليست استثناءً. لتطبيق مبدأ الحد الأدنى من الامتيازات، ابدأ بدون أذونات وامنح الوصول الضروري فقط. استخدم أدوار وسياسات IAM للتحكم في الوصول وراجع أذونات الحاويات بانتظام.

أفضل ممارسات الأمان:

  • تطبيق مبدأ الحد الأدنى من الامتيازات
  • البدء بدون أذونات
  • منح الوصول الضروري فقط
  • استخدام أدوار وسياسات IAM
  • مراجعة أذونات الحاويات بانتظام

تجنب الإعدادات المفرطة في السماح التي قد تعرض البيانات الحساسة.

أفضل ممارسات أمان S3

ما هي الميزة الرئيسية لـ Aurora Serverless؟

Aurora Serverless:

  • يقوم تلقائيًا بتوسيع سعة الحوسبة
  • يضبط الموارد بناءً على عبء العمل
  • مثالي لأعباء العمل غير المتوقعة
  • ادفع فقط مقابل الموارد المستخدمة

رائع للتطبيقات ذات أنماط حركة المرور المتغيرة.

نظرة عامة على Aurora Serverless

سؤال دفعة آخر من DynamoDB!
ما هو الحد الأقصى لعدد العناصر التي يمكنك استردادها باستخدام طلب BatchGetItem واحد من DynamoDB؟

يسمح لك SDK الخاص بـ DynamoDB باسترداد ما يصل إلى 100 عنصر في طلب BatchGetItem واحد. هذا أعلى من الحد لـ BatchWriteItem، وهو 25 عنصرًا. بالإضافة إلى ذلك، هناك حدود على الحجم الإجمالي للحمولة، وحجم المستند، ومعدل الطلبات.

فهم هذه الحدود أمر بالغ الأهمية لتحسين أداء تطبيقك وضمان عمليات بيانات فعالة.

ملاحظة: من الممكن تجاوز بعض هذه الحدود - إذا تمكنت من إقناع مدير حساب AWS الخاص بك. 😎

ما هو الحد الأقصى لعدد المستندات التي يمكن لـ DynamoDB UPDATE لكل دفعة؟

عملاء DynamoDB هم في الأساس جميعهم أغلفة لواجهة برمجة التطبيقات HTTP الخاصة بها. يمكن لعملية BatchWriteItem إجراء PUT أو DELETE لما يصل إلى 25 مستندًا لكل طلب HTTP، لكنها لا تستطيع UPDATE مستندات متعددة.

بينما يمكن لـ DynamoDB INSERT ما يصل إلى 25 مستندًا لكل طلب HTTP، فإنها تستطيع UPDATE مستندًا واحدًا فقط لكل طلب باستخدام عملية UpdateItem.

متى يجب استخدام السعة عند الطلب في DynamoDB؟

السعة عند الطلب هي الأفضل لـ:

  • أحمال العمل غير المتوقعة
  • حركة المرور المتقطعة
  • التطبيقات ذات أنماط الوصول غير المعروفة
  • تجنب الإفراط في التزويد

السعة المخصصة أفضل لـ:

  • أحمال العمل المتوقعة والمتسقة
  • تحكم أكبر في الأداء
  • توفير محتمل في التكاليف

أوضاع السعة في DynamoDB

كيف تحسن أداء S3 لمعدلات الطلبات العالية؟

نصائح أداء S3:

  • S3 الحديثة تقوم تلقائيًا بتحجيم معدلات الطلبات لكل بادئة
  • لا تحتاج إلى بادئات عشوائية/تجزئة من أجل الأداء
  • استخدم أسماء مفاتيح منطقية تناسب أنماط الوصول الخاصة بك
  • راقب استجابات 503 Slow Down إذا دفعت بمعدلات طلبات عالية جدًا

كانت التوجيهات القديمة توصي بتوزيع عشوائي للبادئات لتجنب الأقسام الساخنة، لكن AWS لم تعد توصي بذلك كمتطلب أداء افتراضي.

إرشادات أداء S3

ما هو نهج النسخ الاحتياطي الموصى به لـ RDS؟

أفضل ممارسات النسخ الاحتياطي:

  • تمكين النسخ الاحتياطي التلقائي
  • استخدام الاستعادة في نقطة زمنية
  • الاحتفاظ بالنسخ الاحتياطية بناءً على متطلبات الامتثال
  • اختبار عملية الاستعادة بانتظام
  • النظر في النسخ الاحتياطي عبر المناطق

توفر النسخ الاحتياطية التلقائية:

  • حماية مستمرة للبيانات
  • خيارات استعادة مرنة

أفضل ممارسات النسخ الاحتياطي لـ RDS

الفرق الرئيسي بين Redis و Memcached في ElastiCache؟

مزايا Redis:

  • يدعم هياكل بيانات معقدة
  • خيارات الاستمرارية
  • عمليات متقدمة
  • رسائل النشر/الاشتراك

Memcached:

  • مخزن بسيط للمفتاح والقيمة
  • تخزين مؤقت بحت
  • أداء عالٍ لحالات الاستخدام البسيطة

Redis مقابل Memcached

ما الغرض من الفهرس الثانوي العام في DynamoDB؟

الفهرس الثانوي العام (GSI):

  • يسمح بالاستعلام عن سمات غير المفتاح الأساسي
  • ينشئ أنماط وصول بديلة
  • يزيد من مرونة الاستعلام
  • يأتي بتكلفة سعة كتابة إضافية

مفيد لمتطلبات الاستعلام المعقدة التي تتجاوز المفتاح الأساسي.

فهارس DynamoDB

ما الذي تتيحه إدارة دورة حياة S3؟

إدارة دورة الحياة:

  • نقل الكائنات تلقائيًا بين فئات التخزين
  • نقل البيانات غير المتكررة إلى تخزين أرخص
  • تعيين قواعد لانتهاء صلاحية الكائنات
  • تحسين تكاليف التخزين
  • تقليل عبء الإدارة اليدوية

S3 Lifecycle Rules

ما هو الحد الأقصى لعدد نسخ القراءة التي يدعمها Amazon Aurora؟

يدعم Amazon Aurora حتى 15 نسخة قراءة، مما يسمح لك بتوسيع نطاق عمليات القراءة بشكل كبير. تستفيد هذه النسخ من:

  • تكاد تكون فورية عبر النسخ
  • تأثير أدنى على المثيل الأساسي
  • توزيع فعال لأعباء عمل القراءة

يتيح هذا الإعداد التوسع الأفقي للتطبيقات ذات متطلبات القراءة العالية.

تعرف على المزيد حول نسخ القراءة في Aurora

ما هي قدرات التشفير التي يوفرها RDS؟

ميزات تشفير RDS:

  • تشفير البيانات في حالة السكون باستخدام KMS
  • تشفير البيانات أثناء النقل باستخدام SSL/TLS
  • تمكين التشفير أثناء إنشاء قاعدة البيانات
  • حماية المعلومات الحساسة
  • الامتثال لمعايير الأمان

خيارات تشفير RDS

ما هو الاستخدام الأساسي لـ DynamoDB Streams؟

DynamoDB Streams:

  • التقاط التغييرات على مستوى العنصر
  • تمكين الهندسات المعمارية القائمة على الأحداث
  • تشغيل دوال Lambda
  • دعم النسخ المتماثل عبر المناطق
  • توفير نقل البيانات في الوقت الفعلي تقريبًا

نظرة عامة على DynamoDB Streams

ما أفضل طريقة لتحميل الملفات الكبيرة إلى S3؟

فوائد Multipart Upload:

  • معالجة الملفات الكبيرة بكفاءة
  • استئناف التحميلات المتقطعة
  • تحميل متوازي لأجزاء الملف
  • موصى به للملفات التي تزيد عن 100 ميجابايت
  • تحسين موثوقية الشبكة

S3 Multipart Upload

ما هو النهج الأكثر فعالية من حيث التكلفة لتخزين 1 بيتابايت من البيانات مع 20% يتم الوصول إليها يوميًا، و30% شهريًا، و50% سنويًا؟

استراتيجية التخزين المثلى:

  • 20% في S3 Standard للوصول اليومي
  • 30% في S3 Standard-IA للوصول الشهري
  • 50% في Glacier للوصول السنوي

هذا النهج يحسن التكاليف مع الحفاظ على أنماط الوصول المناسبة.

اعتبارات التكلفة:

  • تسعير التخزين لكل جيجابايت
  • تكاليف الاسترجاع
  • أنماط الوصول
  • تكاليف الانتقال

جدول DynamoDB لديه سعة قراءة مخصصة تبلغ 100 RCU. كم عدد القراءات المتسقة بقوة لعناصر بحجم 4KB التي يمكن إجراؤها في الثانية؟

فهم نماذج الاتساق في DynamoDB أمر بالغ الأهمية:

  • 1 RCU = 1 قراءة متسقة بقوة/ثانية للعناصر حتى 4KB
  • 1 RCU = 2 قراءة متسقة في النهاية/ثانية للعناصر حتى 4KB

لذلك:

  • 100 RCU = 100 قراءة متسقة بقوة لعناصر 4KB/ثانية
  • 100 RCU = 200 قراءة متسقة في النهاية لعناصر 4KB/ثانية

اختر نماذج الاتساق بناءً على:

  • متطلبات التطبيق
  • اعتبارات التكلفة
  • احتياجات الأداء
  • متطلبات حداثة البيانات

في مجموعة Aurora تحتوي على نسخ مكررة للقراءة متعددة، ماذا يحدث أثناء تجاوز الفشل التلقائي عندما تفشل النسخة الأساسية؟

عملية تجاوز الفشل في Aurora:

  1. اكتشاف فشل النسخة الأساسية
  2. اختيار نسخة مكررة من Aurora بناءً على مستوى أولوية تجاوز الفشل بشكل أساسي
  3. استخدام خصائص النسخة كعوامل كسر التعادل عندما تتطابق الأولويات
  4. تحديث نقطة نهاية المجموعة تلقائيًا

أفضل الممارسات:

  • الحفاظ على نسخ مكررة متعددة عبر مناطق التوفر
  • تكوين مستويات الترقية بشكل مقصود
  • استخدام نقطة نهاية المجموعة في التطبيقات
  • اختبار سيناريوهات تجاوز الفشل بانتظام

اعتبارًا من أواخر عام 2020، ما نموذج الاتساق الذي يوفره S3 لجميع العمليات؟

نموذج اتساق S3:

  • اتساق قوي للقراءة بعد الكتابة لجميع العمليات
  • ينطبق على عمليات PUT و DELETE
  • لا حاجة للحلول البديلة التي كانت مستخدمة سابقًا
  • بدون تكلفة إضافية

التأثير:

  • منطق تطبيق مبسط
  • لا حاجة لفحوصات الاتساق
  • قراءات فورية موثوقة بعد الكتابة
  • تحسين موثوقية التطبيق

كيف تتعامل ميزة TTL في DynamoDB مع حذف العناصر؟

خصائص TTL في DynamoDB:

  • عملية خلفية تراقب سمة TTL
  • يتم حذف العناصر منتهية الصلاحية وفق جدول بأفضل جهد، عادةً في غضون بضعة أيام
  • لا توجد تكلفة إضافية لـ TTL
  • تظهر العناصر المحذوفة في التدفقات

حالات الاستخدام:

  • إدارة الجلسات
  • انتهاء صلاحية السجلات
  • تنظيف البيانات المؤقتة
  • الامتثال التنظيمي

ما الاعتبار الرئيسي عند الاعتماد على Aurora Serverless للتعامل مع الارتفاعات المفاجئة في حركة المرور؟

توسع Aurora Serverless:

  • يقوم Aurora Serverless v2 بتوسيع السعة بزيادات دقيقة من وحدات ACU
  • تعتمد سرعة التوسع على السعة الحالية وإعدادات الحد الأدنى/الأقصى لوحدات ACU
  • يمكن للإصدارات المدعومة الإيقاف التلقائي عند 0 ACU عند التهيئة
  • الفوترة بالثانية بناءً على وحدات ACU

أفضل الممارسات:

  • قم بتعيين الحد الأدنى للسعة عاليًا بما يكفي للارتفاعات المفاجئة في أحمال العمل الحرجة
  • راقب أحداث التوسع
  • ضع في اعتبارك إدارة الاتصالات

واو، تلك المغامرة تعمقت في التفاصيل! 🚀☁️ أتمنى أن تكون قد استمتعت بالرحلة، وربما تعلمت شيئًا أو اثنين عن خدمات التخزين في AWS.

اطلع على المزيد من تحديات دان! 🧠

إخلاء مسؤولية: هذا الاختبار لأغراض تعليمية فقط. جميع العلامات التجارية وحقوق النشر مملوكة لأصحابها المعنيين، وخاصة الكبار منهم.