نهج مختلف لترقيات التطبيقات

يُخزّن أغلب البرمجيات بياناتها في قاعدة بيانات منفصلة، ما يعني أن كل تحديث للكود يحمل خطر فقدان تلك البيانات أو تلفها. يأخذ @dfinity's Internet Computer مسارًا مختلفًا للتطبيقات المبنية بلغة Motoko، وهي لغة برمجية مصممة خصيصًا لهذا الغرض.

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

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

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

طريق أصعب لمطوري روست

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

بالنسبة لمطوري روست على شبكة الحاسوب الإنترنتي، تحافظ DFINITY على مكتبة من هياكل بيانات آمنة للترقية. إنها مجموعة من هياكل بيانات قابلة للتوسع لِـ Internet Computer تحافظ على ثباتها عبر الترقية، ومصممة لاستخدام الذاكرة المستقرة كمخزن داعم (backing store)، ما يسمح لها بالنمو حتى أحجام تصل إلى عدة جيجابايت. ومع ذلك، لا تزال مسؤولية إدارة هذه العملية تقع على عاتق المطور، لا على نظام وقت التشغيل الخاص باللغة نفسه.

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

المصادر:
DFINITY: رحلة إلى Stellarator، الجزء 2 (الثبات التكاملي العمودي المحسّن)
توثيق شبكة الحاسوب الإنترنتي: المتغيرات المستقرة وطرق الترقية
توثيق شبكة الحاسوب الإنترنتي: ترقية الكانستر، والتخزين، والثبات