خدمات قاعدة بيانات MySQL وPostgreSQL في Azure
إذا كانت لديك قاعدة بيانات محلية وظيفية، فلماذا يجب عليك التفكير في نقلها إلى خدمة سحابية، مثل Azure؟ وبالمثل، لماذا تفكر في تنفيذ نظام قاعدة بيانات جديد في Azure؟ تقوم العديد من المؤسسات بإجراء هذا الترحيل لأنه من السهل والرخيص نسبيا إنشاء خدمة متاحة للغاية وقابلة للتطوير في السحابة، مقارنة باستخدام مركز بيانات محلي.
بالنسبة إلى شركتك الناشئة، تعد قواعد البيانات التي يتم تشغيلها حاليا على MySQL وPostgreSQL المحلية مهمة بالغة الأهمية ولكنها محدودة بحجم مركز البيانات وحجم فريق الإدارة. تريد التحقق مما إذا كان يمكنك معالجة هذه القيود باستخدام خدمات Azure، وإذا كان الأمر كذلك، فما هي الخدمات الأنسب لاحتياجاتك.
هنا، ستتعرف على قاعدة بيانات Azure ل MySQL وقاعدة بيانات Azure ل MariaDB وقاعدة بيانات Azure ل PostgreSQL وخيارات النشر التي يمكنك استخدامها معهم. ستتعرف أيضا على مزايا تشغيل قواعد البيانات مفتوحة المصدر على الأجهزة الظاهرية أو الحاويات في Azure ونهج البنية التحتية كخدمة (IaaS).
توافر
يعتمد التوفر الذي تضمنه اتفاقيات مستوى خدمة Azure (SLAs) على التفاصيل الدقيقة لتنفيذك - ولكنها دائما عالية. على سبيل المثال، بالنسبة لقاعدة بيانات Azure ل PostgreSQL، تضمن Microsoft توفر 99.99% دون أي تكلفة إضافية. للحصول على قابلية وصول أعلى، يمكنك استخدام Flexible Server.
إذا كنت ترغب في تحقيق هذا التوفر في شبكة محلية، سيتعين عليك تصميم نظام مرن في مواجهة حالات فشل الأجهزة. ستحتاج إلى:
- خوادم فعلية متعددة.
- موازن تحميل يمكنه إعادة توجيه الاستعلامات إذا كان هناك فشل في الخادم.
- شبكة منطقة تخزين تشارك البيانات بين الخوادم أو طريقة لنسخ البيانات نسخا متماثلا بين الخوادم.
- أجهزة شبكة مرنة.
- مركز بيانات خاضع للرقابة البيئية.
- إمدادات الطاقة غير المنقطعة ومولدات النسخ الاحتياطي.
كل هذه المكونات مكلفة وتتطلب مهارة لتنفيذها وتشغيلها. كما أنها ستستهلك موارد إدارية كبيرة. مع Azure، تم حل هذه المتطلبات بالفعل؛ ما عليك سوى إنشاء قاعدة البيانات، وتوافر عال مضمن.
قابلية التوسع
إذا نمت قاعدة المستخدم الخاصة بك، يزداد الطلب على النظام معها. كل نظام محلي لديه سعة قصوى - إذا اقتربت من هذا الحد، فيجب عليك زيادته عن طريق إضافة المزيد من الأجهزة. لا يمكنك إضافة السعة على الفور. بدلا من ذلك، يجب عليك شراء الأجهزة وتثبيت نظام التشغيل والبرامج الضرورية وتطبيق التحديثات ثم إضافة البيانات إلى مثيل قاعدة البيانات الجديد. كل هذه الأمور تستغرق وقتا.
تذكر أيضا أن الطلب المرتفع غالبا ما يكون مؤقتا. على سبيل المثال، إذا قمت بتشغيل حملة تسويقية ناجحة، فقد ترى ذروة في حركة المرور، متبوعة بالعودة إلى انخفاض الطلب. في الإعداد المحلي، يجب عليك تصميم النظام لهذه القمم. وهذا يعني أن النظام غير مستخدم بشكل جيد في معظم الأحيان ولكنه لا يزال يقوم بتشغيل الفواتير ويتطلب صيانة.
هذه التحديات أسهل بكثير للتغلب عليها في السحابة. إذا وصل نظامك إلى سعته، يمكنك الاستجابة بسرعة كبيرة - على سبيل المثال، بالانتقال إلى مستوى أكبر أو إضافة أجهزة ظاهرية. إذا انخفض الطلب، فستوفر المال بسرعة عن طريق إزالة السعة. في Azure، تدفع فقط مقابل السعة التي تستخدمها.
IaaS وPaaS
يمكنك الاختيار من بين طريقتين على الأقل عند تنفيذ قاعدة بيانات على Azure، اعتمادا على مستوى التحكم الذي تحتاجه:
- البنية التحتية كخدمة (IaaS). إذا اخترت نهج IaaS، يقوم Azure بتشغيل البنية الأساسية المادية لك. يمكنك إنشاء الأجهزة الظاهرية والشبكات الظاهرية لتوصيلها، ثم تثبيت البرامج والبيانات الضرورية. تشغيل جهاز ظاهري يشبه تشغيل خادم فعلي. يمكنك الحفاظ على نظام التشغيل والبرامج ولكن لا داعي للقلق بشأن مركز البيانات أو التحكم البيئي أو الاتصالات بالإنترنت.
- النظام الأساسي كخدمة (PaaS). إذا اخترت نهج PaaS، يقوم Azure بتشغيل البنية الأساسية الفعلية والخوادم الظاهرية الضرورية وبرنامج قاعدة البيانات. لا يتعين عليك تنفيذ مهام التكوين أو الصيانة على هذه المكونات. على سبيل المثال، يطبق Azure حزم الخدمات تلقائيا. يمكنك التركيز على إدارة قاعدة البيانات. تتضمن عروض PaaS لتشغيل قواعد البيانات مفتوحة المصدر على Azure قاعدة بيانات Azure ل MySQLوقاعدة بيانات Azure ل MariaDBوقاعدة بيانات Azure ل PostgreSQL.
ما هي خدمات قاعدة بيانات Azure ل MySQL وMariaDB وPostgreSQL؟
إذا كان لديك نظام قاعدة بيانات محلي مبني على MySQL أو MariaDB أو PostgreSQL، وتريد نقل قاعدة البيانات الخاصة بك إلى السحابة، ففكر في استخدام قاعدة بيانات Azure ل MySQL أو قاعدة بيانات Azure ل MariaDB أو قاعدة بيانات Azure ل PostgreSQL. قد تحتاج أيضا إلى استخدام هذه الخدمات لتنفيذ قواعد بيانات جديدة. على سبيل المثال، إذا كان لدى المطورين ومسؤولي قاعدة البيانات لديك خبرة في خوادم قاعدة البيانات هذه، ولا تريد منهم قضاء بعض الوقت في تعلم نظام جديد، فإن استخدام قاعدة بيانات Azure ل MySQL أو قاعدة بيانات Azure ل MariaDB أو قاعدة بيانات Azure ل PostgreSQL يمكن الموظفين من استخدام معرفتهم الحالية. قاعدة بيانات Azure ل MySQLوقاعدة بيانات Azure ل MariaDBوقاعدة بيانات Azure ل PostgreSQL هي أنظمة PaaS، لذلك لا يتعين عليك الاهتمام بهندسة أو تنفيذ الخوادم أو الشبكات الظاهرية.
ما هي Azure Database لـ MySQL؟
Azure Database for MySQL هي تنفيذ PaaS لـ MySQL في سحابة Azure، استنادًا إلى إصدار MySQL Community. يمكنك حاليا الاختيار من دعم إصدارات MySQL 5.6 و5.7 و8.0، وفقا لاحتياجاتك. سيتم توفير الدعم للإصدارات الإضافية مع تطور MySQL.
يمكنك الحصول على الميزات التالية مع Azure Database لـ MySQL:
- ميزات قابلية الوصول العالية المضمنة.
- أداء قابل للتنبؤ.
- سهولة التحجيم التي تستجيب بسرعة للطلب.
- تأمين البيانات، سواء الثابتة أو المتحركة.
- النسخ الاحتياطي التلقائي والاستعادة من نقطة في الوقت لآخر 35 يومًا.
- الأمن على مستوى الشركة والامتثال للتشريعات.
يستخدم النظام أسعار الدفع أولا بأول بحيث تدفع فقط مقابل ما تستخدمه.
يمكنك الاختيار من بين خيارين للنشر:
قاعدة بيانات Azure ل MySQL - خادم مرن
Azure Database for MySQL - يوفر الخادم المرن توفرا أكبر عن طريق نسخ قواعد البيانات الخاصة بك إلى مناطق توفر متعددة. كما أنه يمكنك من بدء خدمة قاعدة البيانات وإيقافها بسرعة لتحسين التكاليف.
توفر Azure Database for MySQL نظامًا عامًا لقواعد البيانات يحجم قواعد بيانات كبيرة دون الحاجة إلى إدارة الأجهزة ومكونات الشبكة والخوادم الظاهرية وبرامج التصحيح وغيرها من المكونات الأساسية.
ما هي قاعدة بيانات Azure ل MariaDB؟
MariaDB هو نسخة المستودع من MySQL التي تم إنشاؤها من قبل المجتمع استجابة لامتلاك MySQL من قبل Oracle. قاعدة بيانات Azure ل MariaDB هي تطبيق PaaS ل MariaDB في سحابة Azure.
تم تصميم MariaDB ليكون بديلا عن MySQL، بحيث يمكنك استبدال قاعدة بيانات MySQL بقاعدة بيانات MariaDB دون إعادة ترميز واسعة لتطبيقات العميل أو التغييرات في مخطط قاعدة البيانات. العديد من ميزات MariaDB هي نفسها كما هو الحال في MySQL، على سبيل المثال:
- بنيات قاعدة البيانات والفهارس
- أوامر تعريف البيانات
- بروتوكولات العميل وبنياته وواجهات برمجة التطبيقات
-
mysqldumpالبرامج وmysqladmin
يعني هذا التشابه بين MySQL وMariaDB أن مهام الترحيل ل MySQL إلى قاعدة بيانات Azure ل MySQL مشابهة جدا ل MariaDB إلى قاعدة بيانات Azure ل MariaDB. هناك بعض الاختلافات بين الأنظمة. على سبيل المثال، يدعم MariaDB ColumnStore وRedis Cache، وكلاهما يمكن استخدامه لتحسين الأداء.
إشعار
نظرا لأن ترحيل قواعد البيانات من MySQL وMariaDB إلى Azure مشابه جدا، سيتم تغطيتها معا في هذه الدورة التدريبية.
هام
في وقت كتابة هذا التقرير، لا يوجد خيار نشر خادم مرن لقاعدة بيانات Azure ل MariaDB.
ما Azure Database لـ PostgreSQL؟
إذا كنت تفضل PostgreSQL، يمكنك اختيار Azure Database for PostgreSQL للحصول على تنفيذ PaaS لخادم قاعدة البيانات هذا في Azure Cloud. يوفر هذا نفس التوفر والأداء والتحجيم والأمان والمزايا الإدارية مثل خدمة MySQL.
يمكنك الاختيار من بين ثلاثة خيارات للنشر:
Azure Database لـ PostgreSQL - خادم مرن
قاعدة بيانات Azure ل PostgreSQL - يوفر الخادم المرن فوائد مماثلة لخادم MySQL المرن. يمكنك استخدامه لتوفير أكبر مستويات التوفر وإعادة التشغيل المريحة.
خيارات IaaS لتشغيل MySQL وMariaDB وPostgreSQL في Azure
استخدم نهج IaaS لنسخ بنية فعلية في السحابة. يمكنك اختيار IaaS إذا كنت ترغب في الاحتفاظ بمزيد من التحكم في أنظمة التشغيل والبرامج التي يقوم عليها نظامك.
ومع ذلك، هناك العديد من الأساليب التي قد تعتمدها لتنفيذ نهج IaaS، اعتمادا على متطلباتك، وتعقيد أنظمتك الحالية.
الرفع والإزاحة
يتمثل أحد النهج في عكس البنية المحلية في السحابة عن طريق إنشاء بنية أساسية للشبكة الظاهرية تطابق بنية مركز البيانات الخاص بك - يمكنك إنشاء جهاز ظاهري لكل خادم في النظام المحلي. يمكنك تثبيت وتكوين برنامج نظام إدارة قاعدة البيانات (MySQL أو MariaDB أو PostgreSQL) على الأجهزة الظاهرية. ثم تقوم برفع النظام وتحويله إلى السحابة مع القليل من التغيير في التعليمات البرمجية للعميل أو التكوين.
باستخدام هذه الاستراتيجية، يمكنك اتباع عملية خطوة بخطوة للترحيل. يمكنك نقل أجزاء من النظام بشكل متزايد إلى السحابة، مع الاحتفاظ بعناصر أخرى في الموقع، باستخدام بوابة شبكة Azure. استخدم هذا النهج المختلط لتثبيت النظام في كل خطوة، والعودة إلى الحالة السابقة إذا لزم الأمر.
استخدام الأجهزة الظاهرية التي تم إنشاؤها مسبقا
يتضمن السوق أجهزة ظاهرية تم تكوينها مسبقا لخوادم MySQL وMariaDB وPostgreSQL. توفر هذه الصور الوقت لأنك لا تحتاج إلى تثبيت برنامج خادم قاعدة البيانات بنفسك. عند إعداد الأجهزة الظاهرية لقاعدة البيانات، تحقق مما إذا كانت هناك صورة في Marketplace مع الإصدار الصحيح من برنامج قاعدة البيانات، وفكر في استخدامها.
يمكنك أيضا تحميل صورة جهاز ظاهري مخصصة إلى Azure واستخدامها لإنشاء أجهزة ظاهرية. يمكن أن تتضمن هذه الصورة برنامج قاعدة البيانات الذي تختاره وحتى قاعدة البيانات نفسها. لمزيد من المعلومات، راجع البرنامج التعليمي: إنشاء صورة مخصصة لجهاز Azure الظاهري باستخدام Azure PowerShell.
استخدام حاويات MySQL أو MariaDB أو PostgreSQL
تقنية ظاهرية أخرى قد تفكر فيها هي التعبئة في حاويات. تشبه الحاوية جهازا ظاهريا، ولكنها تشارك نظام التشغيل مع الكمبيوتر المضيف. الحاويات أصغر من الأجهزة الظاهرية، بحيث يمكنك تشغيل المزيد منها على كمبيوتر مضيف، وبدء تشغيل أجهزة كمبيوتر جديدة بسرعة أكبر. ومع ذلك، لا يمكنك تشغيل حاوية Linux على جهاز Windows، على سبيل المثال، لأن نظام التشغيل مشترك. لتشغيل حاويات على خادم فعلي، تحتاج إلى برنامج مضيف حاوية، مثل Docker. يتم نشر الحاويات من الصور، مثل الأجهزة الظاهرية، يمكن أن تتضمن هذه الصور برامج قاعدة بيانات مثل MySQL وMariaDB وPostgreSQL.
إذا كنت ترغب في تشغيل أعداد صغيرة من الحاويات في Azure، فقم بتثبيت Docker على جهاز ظاهري. بدلا من ذلك، إذا كنت تستخدم خدمة Container Instances، يمكنك تشغيل حاويات على Azure دون إعداد الأجهزة الظاهرية الخاصة بك. إذا كنت ترغب في إدارة أعداد كبيرة من الحاويات التي تحتاج إلى الاتصال ببعضها بسهولة، فاستخدم خدمة Azure Kubernetes.