انتخاب مکانیسم های ذخیره سازی مناسب، هم برای ذخیره سازی دستگاه محلی و هم برای ذخیره سازی سرور مبتنی بر ابر، مهم است. یک موتور ذخیره سازی خوب اطمینان حاصل می کند که اطلاعات شما به طور قابل اعتماد ذخیره می شود، پهنای باند را کاهش می دهد و پاسخگویی را بهبود می بخشد. استراتژی ذخیره سازی ذخیره سازی مناسب یک بلوک اصلی برای فعال کردن تجربیات وب تلفن همراه آفلاین است.
این مقاله پایه مختصری برای ارزیابی APIها و سرویسهای ذخیرهسازی ارائه میکند، پس از آن جدول مقایسه و برخی راهنماییهای کلی را ارائه خواهیم کرد. در آینده نزدیک، ما قصد داریم منابعی را برای درک عمیق موضوعات ذخیره سازی انتخاب شده اضافه کنیم.
طبقه بندی ذخیره سازی
بیایید با درک برخی از ابعادی که میتوانیم ذخیرهسازی دادهها را برای برنامههای وب تحلیل کنیم، شروع کنیم. بعداً از این چارچوب برای شمارش و ارزیابی بسیاری از گزینههای ذخیرهسازی موجود برای توسعهدهندگان وب استفاده خواهیم کرد.
مدل داده
مدل ذخیرهسازی واحدهای داده، نحوه سازماندهی داخلی دادهها را تعیین میکند که بر سهولت استفاده، هزینه و عملکرد ذخیرهسازی و درخواستهای بازیابی تأثیر میگذارد.
ساختاریافته: دادههای ذخیره شده در جداول با فیلدهای از پیش تعریف شده، همانطور که در سیستمهای مدیریت پایگاه داده مبتنی بر SQL معمول است، به پرس و جوهای انعطافپذیر و پویا کمک میکند، جایی که ممکن است طیف کاملی از انواع پرس و جو از قبل مشخص نباشد. یک مثال برجسته از ذخیره سازی داده های ساخت یافته در مرورگر IndexedDB است.
کلید/مقدار: ذخیرهگاههای داده کلید/مقدار و پایگاههای داده NoSQL مرتبط، توانایی ذخیره و بازیابی دادههای بدون ساختار نمایهشده توسط یک کلید منحصربهفرد را ارائه میدهند. ذخیرهگاههای داده کلید/مقدار مانند جداول هش هستند، زیرا امکان دسترسی ثابت به دادههای نمایهشده و غیرشفاف را فراهم میکنند. نمونههای بارز ذخیرهسازی کلید/مقدار عبارتند از Cache API در مرورگر و Apache Cassandra در سرور.
جریانهای بایت: این مدل ساده دادهها را بهعنوان یک رشته با طول متغیر و غیرشفاف از بایتها ذخیره میکند و هر شکلی از سازماندهی داخلی را به لایه برنامه میسپارد. این مدل به ویژه برای سیستم های فایل و سایر حباب های داده ای که به صورت سلسله مراتبی سازماندهی شده اند خوب است. نمونههای برجسته از ذخیرهگاههای جریان بایتی شامل سیستمهای فایل و خدمات ذخیرهسازی ابری است.
ماندگاری
روشهای ذخیرهسازی برنامههای وب را میتوان با توجه به دامنهای که دادهها در آن پایدار میشوند، تجزیه و تحلیل کرد.
تداوم جلسه: داده های این دسته تنها تا زمانی که یک جلسه وب یا برگه مرورگر فعال باقی می ماند حفظ می شود. نمونه ای از مکانیزم ذخیره سازی با ماندگاری جلسه، Session Storage API است.
پایداری دستگاه: دادههای این دسته در سراسر جلسات و برگهها/پنجرههای مرورگر، در یک دستگاه خاص حفظ میشوند. نمونه ای از مکانیزم ذخیره سازی با ماندگاری دستگاه، Cache API است.
پایداری جهانی: دادههای این دسته در سراسر جلسات و دستگاهها حفظ میشوند. به این ترتیب، قوی ترین شکل پایداری داده است. نمونه ای از مکانیزم ذخیره سازی با ماندگاری جهانی، Google Cloud Storage است.
پشتیبانی مرورگر
توسعه دهندگان باید API را انتخاب کنند که به بهترین وجه برای دامنه مشکل آنها مناسب است. با این حال، آنها باید این واقعیت را نیز در نظر بگیرند که APIهای استاندارد و به خوبی تثبیت شده به رابط های سفارشی یا اختصاصی ارجحیت دارند، زیرا عمر طولانی تری دارند و به طور گسترده ای پشتیبانی می شوند. آنها همچنین ممکن است از یک پایگاه دانش گسترده تر و یک اکوسیستم توسعه دهنده غنی تر بهره مند شوند.
معاملات
اغلب، موفقیت یا شکست اتمی مجموعه ای از عملیات ذخیره سازی مرتبط مهم است. سیستم های مدیریت پایگاه داده به طور سنتی از این ویژگی با استفاده از مدل تراکنش پشتیبانی می کنند، جایی که به روز رسانی های مرتبط ممکن است در واحدهای دلخواه گروه بندی شوند. اگرچه همیشه ضروری نیست، اما این یک ویژگی راحت و گاهی ضروری در برخی از حوزه های مشکل است.
همگام سازی/همگام سازی
برخی از API های ذخیره سازی همزمان هستند به این معنا که درخواست های ذخیره سازی یا بازیابی رشته فعال فعلی را تا زمانی که درخواست تکمیل شود مسدود می کنند. این به ویژه در مرورگرهای وب سخت است، جایی که درخواست ذخیره سازی به اشتراک گذاری رشته اصلی با رابط کاربری است. به دلایل کارایی و عملکرد، APIهای ذخیره سازی ناهمزمان ترجیح داده می شوند.
اشکال زدایی فضای ذخیره سازی در Chrome DevTools
برای کسب اطلاعات بیشتر در مورد استفاده از Chrome DevTools برای بررسی و اشکالزدایی API ذخیرهسازی وب انتخابی خود، اسناد زیر را بررسی کنید. APIهایی که در اینجا ذکر نشده اند یا در DevTools پشتیبانی نمی شوند یا قابل اجرا نیستند.
اگر از چندین API ذخیره سازی استفاده می کنید، ویژگی Clear Storage DevTools را بررسی کنید. این ویژگی به شما امکان می دهد چندین فروشگاه را با یک کلیک پاک کنید. برای اطلاعات بیشتر به Clear Service Workers, Storage, Database و Cache مراجعه کنید.
بعد کجا بریم…
اکنون که برخی از روشهای مرتبط برای تفکر در مورد مکانیسمهای ذخیرهسازی را بررسی کردهایم و محبوبترین APIها و سرویسهای موجود امروزی را مقایسه کردهایم، به زودی محتوای بیشتری را برای بررسی عمیقتر یک یا چند موضوع مورد علاقه اضافه خواهیم کرد: