دينامو (نظام تخزين)

دينامو عبارة عن مجموعة من التقنيات التي تُشكّل معًا نظام تخزين عالي التوافر يعتمد على بنية المفتاح والقيمة [ 1 ] أو مخزن بيانات موزّع . [ 1 ] يجمع دينامو بين خصائص قواعد البيانات وجداول التجزئة الموزّعة (DHTs). وقد صُمّم لمعالجة بعض مشكلات قابلية التوسع التي واجهتها أمازون خلال موسم الأعياد عام 2004. [ 2 ] وبحلول عام 2007، استُخدم دينامو في خدمات أمازون السحابية ، مثل خدمة التخزين البسيطة (S3). [ 1 ]

العلاقة مع DynamoDB

تعتمد خدمة Amazon DynamoDB على مبادئ Dynamo [ 3 ] ، وهي خدمة مستضافة ضمن بنية AWS التحتية. مع ذلك، فبينما تعتمد Dynamo على النسخ المتماثل بدون قائد، تستخدم DynamoDB النسخ المتماثل بقائد واحد. [ 4 ]

مبادئ

  • قابلية التوسع التدريجي: يجب أن يكون Dynamo قادرًا على التوسع إلى مضيف تخزين واحد (أو "عقدة") في كل مرة، مع الحد الأدنى من التأثير على كل من مشغلي النظام والنظام نفسه.
  • التناظر: يجب أن يكون لكل عقدة في Dynamo نفس مجموعة المسؤوليات التي يتمتع بها نظراؤها؛ لا ينبغي أن تكون هناك عقدة أو عقد مميزة تأخذ أدوارًا خاصة أو مجموعة إضافية من المسؤوليات.
  • اللامركزية: امتداد للتناظر، يجب أن يفضل التصميم تقنيات الند للند اللامركزية على التحكم المركزي.
  • التباين: يجب أن يكون النظام قادراً على استغلال التباين في البنية التحتية التي يعمل عليها. على سبيل المثال، يجب أن يكون توزيع العمل متناسباً مع قدرات الخوادم الفردية. وهذا أمر أساسي لإضافة عُقد جديدة ذات سعة أعلى دون الحاجة إلى ترقية جميع المضيفين دفعة واحدة.

التقنيات

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

التطبيقات

نشرت أمازون ورقة بحثية حول دينامو، لكنها لم تُصدر تطبيقها الخاص. تُطبّق طبقة الفهرسة في خدمة أمازون إس 3 وتُوسّع العديد من الميزات الأساسية لدينامو. ومنذ ذلك الحين، تم إنشاء العديد من التطبيقات استنادًا إلى تلك الورقة البحثية. كما ألهمت الورقة البحثية العديد من تطبيقات قواعد بيانات NoSQL الأخرى ، مثل أباتشي كاساندرا ، ومشروع فولدمورت ، ورياك . [ 2 ]

انظر أيضاً

مراجع

  1. 1 2 3 ديكانديا، ج.؛ هاستورون، د.؛ جامباني، م.؛ كاكولاباتي، ج.؛ لاكشمان، أ.؛ بيلشين، أ.؛ سيفاسوبرامانيان، س.؛ فوشال، ب.؛ فوغلز، و. (2007). "دينامو: مخزن القيم الرئيسية عالي التوفر من أمازون". وقائع ندوة ACM SIGOPS الحادية والعشرين حول مبادئ أنظمة التشغيل - SOSP '07 . ص  205. doi : 10.1145/1294261.1294281 . ISBN 9781595935915. S2CID 221033483 . 
  2. 1 2 أمازون تُعيد تجربة قواعد بيانات NoSQL مع DynamoDB
  3. أمازون دينامو دي بي – خدمة قواعد بيانات NoSQL سريعة وقابلة للتوسع مصممة لتطبيقات الإنترنت واسعة النطاق
  4. كليمان، مارتن (2 أبريل 2017). تصميم التطبيقات كثيفة البيانات ( الطبعة الأولى). دار نشر أورايلي ميديا. ص 177. ISBN   978-1449373320لا يتوفر Dynamo للمستخدمين خارج Amazon. ومن المثير للارتباك أن AWS تقدم منتج قاعدة بيانات مُستضافة يُسمى DynamoDB، والذي يستخدم بنية مختلفة تمامًا: فهو يعتمد على النسخ المتماثل أحادي القائد .