یک پایگاه داده رایج ترین شکل استفاده از تکنولوژی ذخیره سازی داده ها است. علاوه بر این، تکنولوژی مشابه را برای cache هم می توان استفاده کرد. در این مقاله درباره cache و اهمیت آن توضیح داده خواهد شد.
بازبینی معماری سه لایه
یک معماری سه لایه مدلی است که به طور معمول توسط توسعه دهندگان اپلیکیشن به منظور ایجاد اپلیکیشن های منعطف که قابلیت استفاده مجدد دارند، استفاده می شوند. این مدل شامل سطح عرضه و نمایش (رابط کاربری )، سطح کاربرد و استفاده (منطق کسب و کار ) و سطح داده ها (پایگاه داده و ذخیره سازی فایل ) است.
سطح نمایش
رابطی است که کاربران با آن تعامل می کنند. این سطح وظایف و نتایج را از طرف سرور به چیزهایی تبدیل می کند که کاربر متوجه آن می شود.
سطح کاربرد و استفاده
این سطح هماهنگ کننده استفاده است. در این سطح دستورات پردازش می شوند و علاوه بر گرفتن تصمیمات منطقی، پردازش داده ها بین رابط کاربری و پایگاه داده انجام می شود.
سطح داده ها
در حقیقت جایی است که داده ها و فایل ها ذخیره می شوند.
هر کدام از این سطوح به طور مستقل کار می کنند و نگهداری می شوند و در بیشتر مواقع در هاست های مختلف قرار دارند. بنابراین، هر زمان که اپلیکیشن درخواست داده می کند، سرعت به عملکرد شبکه بستگی دارد. مدت زمان بازیابی داده ها نقش کلیدی در تجربه کاربر ایفا می کنند و تقریباً الزامی حیاتی در تمامی اپلیکیشن های تجاری است.
Caching پایگاه داده چیست و چطور کار می کند؟
Caching یک تکنیک حفاظت است که داده هایی را که اغلب درخواست می شوند را در حافظه موقت ذخیره می کنند. این امر دسترسی به داده ها را آسان تر می کند و حجم کار پایگاه داده را کم می کند.
بسته به نیاز، cache را می توان در سطوح مختلف یا به تنهایی نصب و راه اندازی کرد. Cache با هر نوع پایگاه داده کار می کند، از جمله:
Relational database: Amazon RSD
NoSQL database: MongoDB، Amazon DynamoDB، Azure Cosmos DB , Apache Cassandra
مزایای استفاده از cache
عملکرد
به واسطه دسترسی آسان به داده ها از طریق cache و کاهش حجم کاری برای پایگاه داده ها، عملکرد بهبود پیدا می کند.
مقیاس پذیری
حجم کاری مرتبط با درخواست backend به سیستم cache منتقل می شود که هزینه کمتر و انعطاف پذیری بیشتر در پردازش داده ها دارد.
در دسترس بودن
اگر سرور پایگاه داده backend در دسترس نباشد، cache همچنان می تواند خدمات مداوم به اپلیکیشن ارائه دهد و سیستم را در برابر شکست، مقاوم سازد.
به طور کلی، بهبود عملکرد اپلیکیشن به واسطه اجرای caching یه استراتژی تهاجمی محسوب می شود که با مزایایی چون مقیاس پذیری و در دسترس بودن، همراه است.
برترین استراتژی های caching کدام است؟
استراتژی caching برای تعیین روابط بین پایگاه داده و سیستم caching شماست و چگونگی دسترسی به داده هایتان را تعیین می کند. استراتژی های متنوعی برای اجرای cache وجود دارد که هر کدام اثر متفاوتی بر طراحی سیستم شما و عملکرد به دست آمده دارند. قبل از طراحی ساختار و معماری، بهتر است مشخص کنید که چطور به داده هایتان می خواهید دسترسی داشته باشید تا از این طریق تعیین کنید کدام استراتژی مناسب شما است. این استراتژی ها شامل:
Cache Aside – Read Through – Write Through – Write Back – Write Around
این استراتژی ها به اختصار تشریح می شوند
Cache Aside اجرای آسان (مزیت) – ممکن است عدم انطباق داده بین Cache و پایگاه داده رخ دهد (عیب)
Read Through به خاطر آشنا نبودن اپلیکیشن با پایگاه داده کد خواناست (مزیت) – نیازمند به نوشتن plugin پیچیده برای cache است تا داده ها را از پایگاه داده بازخوانی کند (عیب)
Write Through داده ها همیشه در cache در دسترس هستند و منجر به “cache miss” نمی شود (مزیت) – افزایش تأخیر نوشتن (عیب)
Write Back با کاهش نوشتن در پایگاه داده، هزینه و زمان load کم می شود (مزیت) – در صورت عدم موفقیت cache احتمال از دست رفتن همیشگی داده ها وجود دارد (عیب)