أفضل الحلول لتشغيل قاعدة بيانات على AWS

جدول المحتويات:

أفضل الحلول لتشغيل قاعدة بيانات على AWS
أفضل الحلول لتشغيل قاعدة بيانات على AWS
Anonim

لدى AWS فئة كاملة لخدمات قواعد البيانات المُدارة الخاصة بها ، مما يجعل إنشاء قاعدة بيانات وتشغيلها على منصة AWS أمرًا سهلاً للغاية. ما الذي يقدمونه ، وهل هو أفضل من تشغيله بنفسك على EC2؟

يمكنك دائمًا استخدام EC2

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

فائدة خدمة مثل RDS هي أن العملية برمتها تدار من أجلك ، لكن هذا يكلف أموالاً إضافية. ستأتي كل قاعدة بيانات كخدمة في هذه القائمة بعلاوة تكلفة مقارنة بمثيل EC2 الأساسي (باستثناء DynamoDB ، الذي لا يستخدم الخوادم).

يعمل التشغيل على EC2 بشكل جيد بشكل خاص إذا كنت تقوم بتشغيل قاعدة بيانات صغيرة وتريد خفض التكاليف ، نظرًا لأن أسعار مثيلات EC2 الأصغر رخيصة جدًا. أيضًا ، إذا كان لديك مثيل EC2 بالفعل ، ولم تصل إلى الحد الأقصى ، فيمكنك تشغيل قاعدة بيانات جنبًا إلى جنب مع برامجك الأخرى بدلاً من الحصول على مثيل منفصل لقاعدة البيانات.

تستضيف AWS RDS معظم قواعد البيانات العلائقية

صورة
صورة

AWS RDS هي خدمة قاعدة البيانات المُدارة للأغراض العامة. يتم تشغيله على EC2 ، ولكن الإنشاء وقراءة النسخ المتماثلة والنسخ الاحتياطية المتزايدة تتم إدارتها بالكامل نيابة عنك. أنت تدفع ببساطة مقابل مثيل EC2 الأساسي (بعلاوة صغيرة) ، بالإضافة إلى تكاليف تخزين EBS.

إنشاء قاعدة بيانات أمر بسيط ؛ من وحدة تحكم RDS ، انقر فوق "إنشاء قاعدة بيانات" ، وحدد نوع المثيل الذي تريده. ستدفع مقابل هذا المثال ، بالإضافة إلى السعة التخزينية المتوفرة. بشكل عام ، تعد RDS أغلى قليلاً من مجرد استخدام مثيل EC2 الأساسي وتكوين كل شيء بنفسك. ولكن ، مع كل مزايا وجود قاعدة بيانات كخدمة ، ستظل RDS مفيدة لبعض الأشخاص.

AWS Aurora

Aurora هي قاعدة بيانات علائقية مملوكة لشركة AWS. إنها متوافقة مع MySQL أو PostgreSQL ، لكنها تستخدم محركًا أساسيًا مختلفًا. يمكن تحديده كخيار عند إعداد قاعدة بيانات في RDS.

تدعي AWS أن Aurora أسرع بثلاث مرات من PostgreSQL و MySQL ، وهو تحسن كبير ، لكنه ليس مبهرجًا كما قد يبدو. إنها أسرع فقط مع توفير IOPS (سرعة القرص) العالية في مثيلات قاعدة البيانات الضخمة ، وتكون أكثر تكلفة بكثير إذا كنت تريد السرعة حقًا.

كقاعدة بيانات عامة ، تعمل Aurora بشكل جيد ، لكنها أغلى قليلاً من عروض RDS الأخرى مثل MySQL. على الرغم من ذلك ، هناك خيار بدون خادم لـ Aurora ، والذي يبدو أنه يخفض التكاليف قليلاً ، ويسمح لقاعدة البيانات الخاصة بك بالتدرج التلقائي لأعلى ولأسفل.

AWS DocumentDB: متوافق مع MongoDB

صورة
صورة

DocumentDB هو بديل AWS لـ Mongo. إنها ليست مونغو في الواقع ، لكنها تعمل على هذا النحو وهي متوافقة تمامًا مع برامج تشغيل مونجو الحالية. من السهل بدء التشغيل من DocumentDB Console ، ويمكن أن يتسع لملايين الطلبات في الثانية مع ما يصل إلى 15 نسخة متماثلة للقراءة.

يعمل DocumentDB بشكل مشابه لـ RDS حيث تدفع مقابل مثيل EC2 الأساسي ، على الرغم من أنه يجب ملاحظة أن تحديد المثيل يقتصر على مثيلات R5 المحسّنة للذاكرة ، والتي ليست رخيصة. أرخص مثيل R5 هو

db.r5.large

الذي يكلف

$ 0.277في الساعة ، أو حوالي 200 دولار شهريًا. هذه أيضًا زيادة طفيفة في التكلفة مقارنةً بـ MySQL على RDS ، لذا فهي بالتأكيد تأتي بسعر أعلى مقارنةً بـ MongoDB التقليدي على EC2.

AWS DynamoDB: قاعدة بيانات NoSQL بدون خادم

صورة
صورة

DynamoDB مميز لأنه قاعدة البيانات الوحيدة في هذه القائمة التي لا تحتوي على خادم بالكامل. يتم تقديمها كخدمة مثل S3 ، ولا توجد حالات يمكنك إدارتها. تتم معالجة جميع العمليات الحسابية بواسطة AWS.

DynamoDB هي قاعدة بيانات للقيمة الأساسية والمستندات ، تشبه MongoDB. لكن الأمر مختلف بعض الشيء ، لكن AWS تقدم أدوات ترحيل للانتقال إلى DynamoDB من MongoDB و MySQL.

يتم تحصيل رسوم منك بناءً على الطلبات والتخزين ، على الرغم من أن قائمة الضرائب طويلة بعض الشيء:

  • 1.25 دولار لكل مليون يكتب
  • 1.875 دولار لكل مليون كتابات منسوخة إلى جدول عالمي
  • 0.25 دولار لكل مليون يقرأ
  • 0.25 دولار لكل غيغابايت بعد 25 غيغابايت
  • 0.09 دولار لكل جيجابايت من البيانات المنقولة
  • اختياريًا ، 0.20 دولارًا لكل جيجابايت من بيانات النسخ الاحتياطي ، و 0.15 دولارًا لكل جيجابايت إذا كان عليك استعادة جدول

بشكل عام ، يتم تسعير DynamoDB بشكل مشابه إلى حد ما لخدمات AWS الأخرى ، ومع قياس كل شيء كما هو ، يمكنك التأكد من أنك لا تدفع مبالغ زائدة عن طريق تشغيل مثيلات EC2 كبيرة غير ضرورية. يمكنك أيضًا توفير السعة مسبقًا ، وهي أرخص قليلاً.

ElastiCache: متجر في الذاكرة

صورة
صورة

إذا كنت ترغب في تشغيل Redis أو Memcached كخدمة ، فإن AWS تقدم ذلك أيضًا مع ElastiCache.

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

يتم تشغيل Redis بشكل شائع على نفس الخادم جنبًا إلى جنب مع التطبيقات الأخرى لجعل زمن الوصول منخفضًا قدر الإمكان (في هذه الحالة ، لن تستخدم ElastiCache) ، ولكن يمكن أيضًا استخدامها كخدمة منفصلة لقواعد البيانات الكبيرة ، والتي هو المكان الذي يبدأ فيه ElastiCache في أن يصبح مفيدًا.مقارنةً بـ EC2 ، لا يزال ElastiCache علاوة ، وإن لم يكن كثيرًا. قد ترغب في استخدام مثيلات "Memory Optimized" من AWS إذا كنت تقوم بتشغيل قاعدة بيانات كبيرة بشكل خاص.

نبتون: قاعدة بيانات الرسم البياني

تخزن قواعد بيانات الرسم البياني البيانات في بنية فريدة تمامًا. بدلاً من تخزين البيانات كصفوف وأعمدة أو أزواج من قيم المفاتيح ، تُستخدم قواعد بيانات الرسم البياني لتمثيل الروابط بين الكائنات ، وتُستخدم لفهم العلاقات المعقدة بينها.

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

معيار neo4j
معيار neo4j

مع ذلك ، بالنسبة لقاعدة بيانات الرسم البياني ، فإن هذه العملية تافهة ، ويتم قياسها تربيعيًا مع عدد السجلات التي يتم إرجاعها ، وليس بشكل عاملي.

Neptune هي قاعدة بيانات رسوم بيانية مملوكة لشركة AWS. التسعير مشابه لـ RDS-pay لمثيل EC2 والتخزين. ومع ذلك ، لا يمكنك تشغيل Neptune بنفسك ، لأنه ليس مفتوح المصدر. يمكنك دائمًا تشغيل قاعدة بيانات رسوم بيانية مختلفة مثل neo4j إذا كنت لا تريد استخدام خدمة مُدارة.

موضوع شعبي