در بخش اول از Enterprise system design  ، مقیاس پذیری افقی و عمودی  را بررسی کردیم که در مقیاس پذیری افقی در صورت نیاز سرور های جدید به سناریو اضافه می کردیم که انجام این کار بروی کاغد بسیار ساده می باشد. در جایی که این سرور ها به صورت فیزیکی وجود دارند بایستی در خصوص تامین برق و سیستم کولینگ وامنیت فیزیکی و… به فکر چاره ای بود.

در بخش میخواهیم مقیاس پذیری دیتابیس را بررسی کنیم با ما همراه باشید :

در مقیاس پذیری عمودی سرور ها نقاط شکستی هم وجود دارد ، چند راه برای رفع مشکل آن نیز وجود دارد:

  • Cold standby
  • Warm standby
  • Hot standby

 

Cold Standby چیست ؟

 

 

در این سناریو(تصویر 1) زمانی که درخواست HTTP از سمت کاربران به سمت سرور ارسال میشود با از دسترس خارج شدن دیتابیس یک فاجعه به بار می آید برای جلوگیری از این فاجعه می توانیم از داده ها به صورت دوره ای بک آپ گیری کنیم (هر شب ساعت 12) که با از دسترس خارج شدن دیتابیس اول میتوانیم دیتابیس دوم را جایگزین کرده و ترافیک را به سمت دیتابیس جدید هدایت کنیم :

 

 

معایب این سناریو :

  1. بازگردانی بک آپ ممکن است زمان بر باشد و Downtime را افزایش بدهد
  2. با توجه به بک آپ گیری دوره ای مقداری از داده ها از بین خواهد رفت (با توجه به فرا نرسیدن زمان 12 شب)

مزایای این سناریو:

  1. ارزان بودن
  2. پیاده سازی ساده

 

Warm Standby چیست ؟

 

در این سناریو (تصویر 3) که مقداری متفاوت تر از بخش Cold standby می باشد که دیتابیس همیشه  آماده به کار داریم ، بنابراین اساسا چیزی به نام Replication  داریم یعنی کپی کردن دائمی داده ها از دیتابیس اولیه به دیتابیس بک آپ.

بنابراین به جای داشتن یک نسخه پشتیبان دوره ای که به صورت دستی بازیابی کنیم، ما مطمئن هستیم که دیتابیس دوم همیشه آماده به کار با بروزترین داده ها می باشد.

در صورت از دسترس خارج شدن دیتابیس اول ترافیک سریع به سمت دیتابیس دوم هدایت می شود (در صورتی انتقال ترافیک به صورت خودکار اتفاق بیافتد).

و اگر اطلاعاتی از بین رفته باشد بسیار کم است پس قطعا این نسبت به سناریو اول راه بهتری است.

وباتوجه به افزایش ترافیک در این سناریو باز هم نقطه شکستی وجود دارد.