نظرة عامة على مساحة التخزين على الويب

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

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

تصنيف التخزين

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

نموذج البيانات

يحدد نموذج تخزين وحدات البيانات كيفية تنظيم البيانات داخليًا، مما يؤثر في سهولة الاستخدام وتكلفة وأداء التخزين وطلبات الاسترداد.

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

  • المفتاح/القيمة: توفّر مخزن بيانات المفتاح/القيمة وقواعد بيانات NoSQL ذات الصلة إمكانية تخزين واسترداد البيانات غير المنظَّمة المُفهرسة بواسطة مفتاح فريد. تشبه مخازن بيانات المفتاح/القيمة جداول التجزئة من حيث أنها تسمح بالوصول الفوري إلى البيانات المفهرسة وغير الشفافة. من الأمثلة البارزة لمخازن بيانات المفتاح/القيمة واجهة برمجة تطبيقات ذاكرة التخزين المؤقت في المتصفح وApache Cassandra على الخادم.

  • ساحات مشاركات البايت: يخزِّن هذا النموذج البسيط البيانات كسلسلة بايت متغيرة الطول أو غير شفافة، ما يترك أي شكل من أشكال التنظيم الداخلي لطبقة التطبيق. هذا النموذج جيد بشكل خاص لأنظمة الملفات وغيرها من فقاعات البيانات المنظمة بشكل هرمي. تشمل الأمثلة البارزة لمخازن بيانات تدفق البايت أنظمة الملفات وخدمات التخزين السحابي.

الإصرار

يمكن تحليل طرق التخزين لتطبيقات الويب وفقًا للنطاق الذي تصبح البيانات ثابتة من خلاله.

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

  • استمرارية الجهاز: يتم الاحتفاظ بالبيانات في هذه الفئة على مستوى الجلسات وعلامات تبويب/نوافذ المتصفح على جهاز معيّن. ومن الأمثلة على آلية التخزين مع استمرارية الجهاز واجهة برمجة تطبيقات ذاكرة التخزين المؤقت.

  • الاستمرارية العالمية: يتم الاحتفاظ بالبيانات في هذه الفئة على مستوى الجلسات والأجهزة. على هذا النحو، فهو أقوى شكل لاستمرار البيانات. ومن أمثلة آلية التخزين ذات الثبات العالمي Google Cloud Storage.

التوافق مع المتصفح

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

المعاملات

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

المزامنة/عدم المزامنة

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

تصحيح أخطاء مساحة التخزين في "أدوات مطوري البرامج في Chrome"

يمكنك الاطّلاع على المستندات التالية للحصول على مزيد من المعلومات حول استخدام "أدوات مطوري البرامج في Chrome" لفحص وتصحيح الأخطاء في واجهة برمجة التطبيقات الخاصة بمساحة تخزين الويب. واجهات برمجة التطبيقات غير المذكورة هنا إما غير متوافقة مع "أدوات مطوري البرامج" أو غير قابلة للتطبيق.

إذا كنت تستخدم واجهات برمجة تطبيقات متعددة للتخزين، اطّلِع على ميزة "محو مساحة التخزين" في "أدوات مطوري البرامج". تتيح لك هذه الميزة محو متاجر متعددة بنقرة زر واحدة. راجِع محو مشغِّلي الخدمات وسعة التخزين وقواعد البيانات وذاكرات التخزين المؤقت للحصول على مزيد من المعلومات.

الخطوات التالية...

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