فهم تحدي اتساق البيانات في شوارع البيانات التي لا تُحصى

(أ) مخازن البيانات غير المستقرة مثل شركة الأمازون دينامو (Azure Cosmos DB) وشركة غوغل كلود فايستوري (Gogle Cloud Firestore) تقدم خدمات ذات طابع آلي وتسعير للدفع في الاستخدام، وتخفض النفقات العامة، غير أن طابعها الموزع يستحدث مبادلات أساسية في مجال اتساق البيانات، وعندما يقرأ الطلب البيانات مباشرة بعد تحريره، يتوقع المستخدم أن يتأكد من أن يكون قادراً على الصعيد العالمي

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

نماذج للاتساق في المخازن العديمة التحلل

الاتساق القوي

(أ) في النظم التي لا تخدم الحاسوب، كثيرا ما يتحقق ذلك من خلال القراءة من النسخة الأصلية أو باستخدام بروتوكولات قائمة على النصاب القانوني، كما أن الخدمات مثل نظام دينامو دي بي ] [النظام المالي]] ] (بتكاليف إضافية وتساهل) وقاعدة بيانات المقاييس القوية للاتساق العالمي، توفر تطابقا قويا في الحسابات الموزعة المتعددة.

الاتساق في الأحداث

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

الاستشارة السببية

ويحافظ الاتساق الافتراضي على ترتيب العمليات المتصلة بالدوافع السببية، فإذا حدث العمل ألف (الصورة المستكملة) قبل العملية باء (يرجى وضع تعليق يشير إلى تلك الصورة)، فإن أي مراقب سينظر إلى ألف قبل باء. ويظل هذا النموذج بين الاتساق القوي والأخير، ويدعمه خدمات مثل Google Cloud Datastore.

أفضل الممارسات للحفاظ على الاتساق

1 - اختيار نموذج الاتساق المناسب لكل عملية

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

2 - استخدام المعاملات الموزعة مع شركة ساغاس أو شركة ساغا أو شركة ذي مركزين

When a business process spans multiple data stores or services, you need a mechanism to maintaintomity. Distributed transactions - such as the two-phase commit (2PC) protocol-ensure that every participating side either commits or aborts together. However, 2PC can be slow and reduce availability. An alternative is the

3 - تنفيذ استراتيجيات تسوية النزاعات

Concurrent writes to the same data item in a multi-region deployment can create conflicts. Serverless stores typically use last-writer-wins (LW), which keeps the most recent timestamp. While simple, LW can lose data if hours are out of coincide. For richer semantics, use [2]

4 - عمليات ومستودعات الغضب

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

5 - رصد نزاهة البيانات مع مسارات التغيير ومراجعة الحسابات

وفي بيئة لا تُستخدم فيها الخواديم، يمكن استخدام لجمع البيانات المتعلقة بالتغيير [CDC] ] سمات مثل " DynamoDB Streams " ، أو " Cosmos DB Change Feed " ، أو " مستمعي التدفق الحقيقي " لرصد جميع التعديلات، ووضع جدول زمني غير مشف للإثبات للتحقق من صحة البيانات التي يحتفظ بها في الحسابات بعد كل تغيير.

6 - تطبيق البيانات على قضيتك على الوجه الأمثل

ويحسن التراجع العالمي من مدى تساهل المستخدمين في جميع أنحاء العالم، ولكنه يزيد من عدم الاتساق، ويسمح تكرار التطابق مع مستوى الاتساق المناسب، وينظر في استخدام التفاعلي ، ويسمح ]، مع وجود مستويات أقوى من الاتساق في الإجراءات، بتقديم نماذج متطابقة، مع أهداف التطابق الناظمة (التعددية)

أنماط الهندسة المعمارية التي تحافظ على المواظبة

Command Query Responsibility Segregation (CQRS)

وتفصل دائرة الاستخبارات المالية نماذج الكتابة عن نماذج القراءة، مما يسمح بأن يُحدَّد كل منها على نحو مستقل، وتُقدَّم الطقوس إلى متجر ثابت جداً، وتُقرأ من التوقعات المتسقة في نهاية المطاف، وهذا النمط قوي بشكل خاص عندما يقترن بنهج ] [FLT:]] يُستخدم في إطاره [المادة 5]، حيث تُخزَزَّن جميع التغييرات التي تُك كأحداث غير قابلة للقراء.

الحدث المتعلق بالتجمع والاحتفال

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

خطة للتنبيه الموثوق به

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

معالجة القضايا الخاصة: التوزيع الجغرافي والطقوس الخارجية

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

For multi — multi —region consistency, use consistency groups where possible-a concept supported by Cosmos DB that groups related items so they are always replicated together. This prevents scenarios where a user’s profile picture is updated in region A but their bio update (in the same group) has not yet arrived in region B.

استراتيجيات الاختبار والتقييم

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

موجز

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