يبدأ الاختيار بين Amazon Aurora وAmazon Relational Database Service (Amazon RDS) وAmazon DynamoDB وAmazon ElastiCache وAmazon Redshift بقرار واحد. إذ يتعين علينا تحديد كيفية قراءة عبء العمل (workload) للبيانات وكتابتها، وما يجب ضمانه فيما يتعلق بالاتساق (consistency)، وزمن الانتقال (latency)، والتوافر (availability)، والاسترداد (recovery). سنقوم في هذه الدورة ببناء إطار عمل قابل للتكرار يحوّل تلك المتطلبات إلى خيار لقاعدة بيانات يمكننا تبريره والتحقق من صحته.
تركز هذه الدورة على خمس خدمات بيانات مُدارة من AWS وأنواع أحمال العمل التي تناسبها. تُستخدم كل من Amazon Aurora وAmazon RDS لمعالجة المعاملات عبر الإنترنت (OLTP) في محركات قواعد البيانات العلائقية. وتُستخدم Amazon DynamoDB لأنماط الوصول القائمة على “المفتاح والقيمة” (key-value) مع أداء يمكن التنبؤ به (بمستوى أجزاء من عشرة أجزاء من الثانية) حتى عند التوسع الكبير. أما Amazon ElastiCache فهي خدمة تخزين مؤقت في الذاكرة (in-memory cache) تخزن نسخاً من البيانات بدلاً من أن تكون هي المصدر الأساسي للسجلات (system of record). وأخيراً، تُستخدم Amazon Redshift لأحمال عمل التحليلات التي تتطلب مسح وتجميع مجموعات بيانات ضخمة.
نضع في اعتبارنا أيضاً حدود AWS الواضحة؛ فالمصطلح Region (المنطقة) يشير إلى نطاق جغرافي تدير فيه AWS مراكز بيانات متعددة ومعزولة عن بعضها. بينما تشير Availability Zone (منطقة التوافر) إلى موقع معزول واحد داخل المنطقة (Region). وتعتمد العديد من ميزات المتانة (durability) والتوافر على كيفية استخدام الخدمة لمناطق توافر متعددة داخل منطقة واحدة.
لنستعرض الآن موقع هذه الخدمات الخمس ضمن نطاقات المعاملات (transactions)، والتخزين المؤقت (cache)، والتحليلات (analytics).
سنستخدم حلقة اتخاذ القرار ذاتها في كل درس. نبدأ بتحديد أنماط الوصول ونموذج البيانات، ثم نربط هذه الاحتياجات بآلية خدمة توفرها. بعد ذلك، نحدد المقايضات المتعلقة بالتكلفة، والمسؤولية التشغيلية، وسلوك النظام عند الفشل. وأخيراً، نؤكد صحة الخيار استناداً إلى أدلة ملموسة وقابلة للملاحظة، وليس مجرد افتراضات.
يجب أن تتوافق الأدلة مع النطاق أو الحدود التي نختبرها. فالمقاييس وسجلات الأحداث (logs) تُظهر ما حدث بالفعل أثناء التشغيل الفعلي، بينما يقتصر التحليل الساكن ومراجعة الإعدادات على إظهار ما قد يحدث بناءً على إعدادات معينة. يتضمن القرار السليم مؤشراً واحداً على الأقل من مرحلة التشغيل الفعلي يمكنه دحض افتراضاتنا.
لنستعرض معاً المسار الذي سنمارسه مراراً وتكراراً: الانتقال من المتطلبات إلى الآلية، وصولاً إلى الأدلة.