خدمات سرویس دهی بدون وقفه دیتابیس (High Availability)

High-Availability-type

خدمات دسترسی همیشگی به داده ها و آنلاین بودن همیشگی دیتابیس (High Availability)

امروزه بسیاری از شرکت ها و کمپانی ها بجای روش قدیمی و سنتی کاغذی و بایگانی از نرم افزار های پیشرفته جهت انجام فرآیند ها و نگهداری اطلاعات خود استفاده میکنند ، با توجه به مدل بیزینس و تایپ کسب و کار میزان دیتای ورودی به دیتابیس حجم دیتابیس این نرم افزار ها متغییر می باشد ، قطعا یکی از مهم ترین دارایی های هر سازمانی اطلاعات و منابع سخت افزاری و نرم افزاری آن می باشد بنابراین نگهداری از این اطلاعات نیازمند برنامه ریزی و توجه خاص می باشد ، بر اساس نوع فعالیت هر سازمان و مجموعه نوع ورود و نگهداشت اطلاعات متفاوت می باشد که طور مثال بانک های بزرگ با TPS بالا و دیتابیس های عملیاتی Transactional قطعا باید برای نگهداشت دیتا برنامه ریزی خاصی داشته باشند و همچنین برای در دسترس بودن دیتابیس های خود از متد های موجود استفاده کنند با کمترین میزان عدم سرویس دهی را داشته باشند ،مثال دیگر فرض کنید اپلیکیشن شما در تمام نقاط ایران در شعب فروش شما در حال کار بوده و فقط یک دیتابیس سرور دارید ، آیا میتوان برای به راحتی به یک دیتابیس سرور اطمینان کرد ؟ قطعا در صورت بروز مشکل انتظار می رود که در کمترین زمان ممکن نرم افزار دوباره شروع بکار کند ، باید به این نکات توجه کنید که بالا آوردن سرور جدید ، کپی کردن و بازگردانی آخرین بک آپ و استارت دیتابیس به همراه کانفیگ و اتصال به اپلیکیشن شما ممکن است زمان بسیار زیادی را تلف کند و در این فاصله با Down Time بالا موجه می شوید که برای بیزینس شما بسیار گران تمام می شود بنابراین با توجه به ورژن دیتابیس های هر سازمان و معماری نرم افزار میتوان یکی از روش های HA را پیاده سازی کرد ، در حال حاضر بهترین روش و جدید ترین روشی که مایکروسافت آن را پیشنهاد می دهد روش Always-ON می باشد ، با ما همراه باشید تا در ادامه معماری های مختلف HA را بررسی کنیم .

High Availability

replication-sql-server-2016

Always On

Each availability replica must reside on a different node of a single Windows Server Failover Clustering (WSFC) cluster

Replication

a technology for copying and distributing data and database objects from one database to another and then synchronizing between databases to maintain consistency and integrity of the data.

always-on-sql-server-2022

Mirroring

This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Use Always On availability groups instead.

روش های مختلف High Availability

1 – Replication

مفهوم عامیانه این روش در واقع کپی از اطلاعات شما بر روی منبع ذخیره سازی دیگری است ، که این دستگاه میتواند حتی در شهر و یا کشور دیگری باشد . در این صورت اگر ذخیره ساز اولیه ما دچار مشکل شود کپی از تمام اطلاعات ما در منبع ذخیر سازی دوم موجود است ، در بیزینس های حساس این موضوع برای همیشه در دسترس بودن خدمات شما نقش بسیار مهمی را ایفا می کند ، در این روش اگر سرور شما در موقعیت جغرافیایی دیگری باشد می بایست مسیر امن و پرسرعت با پهنای باند مناسب برای این ارتباط ایجاد کرد . در این روش یک نسخه از اطلاعات شما را در سرور دیگری نگهداری می کند و روی کاغذ همه چی در ظاهر خوب می باشد ، ولی در اصل اینطور نبوده و در صورت بروز مشکل سرور اول به سرور دومی سوییچ نکرده و خدمات و سرویس شما با مشکل مواجه می شود ، برای سوییچ بر روی سرور دوم می بایست به صورت دستی کلیه تنظیمات و خطوط ارتباطی بررسی شدهد و سرور دوم رو جهت سوریس دهی کانفیگ کرد ، نکته منفی دیگر این روش سینک نبودن  دائمی اطلاعات می باشد مثلا تا قبل از انجام عملیات Replica از سرور اول به دومی اگر کاربری دیتایی را ثبت کرده باشد و برای سرور اولی مشکل بوجود بیاید بعد از سوییچ به سرور دوم این اطلاعات از دست رفته و قابل مشاهده نمی باشد. برای سیستم های بسیار حساس و تراکنشی قطعا این روش پاسخگو نبوده و ریسک بالایی دارد و بهتر است برای این سیستم ها از دیگر روش های HA استفاده کنیم .

2 – Mirroring

صورت عامیانه این موضوع را میتوان به آیینه تشبیه کرد ، همانطور که وقتی چیزی را در جلوی آیینه میگذاریم و تصویر آن را بدون کم و کاستی در آیینه می بینیم این روش نیز به همان شکل است ، در هنگام درج اطلاعات در دیتابیس بجای درج در یک دیتابیس اطلاعات در دو دیتابیس مجزا وارد می شود ، پس اولین نکته ای که به ذهن می رسد این است که این دو دیتابیس در دو سخت افزار مجزا در موقعیت جغرافیایی مجزا قرار گرفته باشند تا در صورت بروز مشکل دسترسی به اطلاعات خود داشته باشیم .در این روش یک دیتابیس سرور اصلی داریم و دو دیتابیس سرور در حالت Witness و Mirror داریم ، وقتی Mode دیتابیس ها را در حالت High Safety قرار بدهیم سرور Witness بعد از مشاهده مشکل در سرور اصلی به صورت اتوماتیک به سرور ثانویه سوییچ می کند . همانطور که از توضیحات مشخص است این روش یک روش خوبی جهت نگهداری و مراقبت از دیتا می باشد ولی در ابتدای داکیومنت مایکروسافت اعلام شده که این روش از SQL Server حذف خواهد شد و پیشنهاد مایکروسافت استفاده از روش Always ON می باشد .

3 –  Always-ON Availability Groups

این روش در اکثر مقالات و داکیومنت های مایکروسافت جزو بهترین روش HA و disaster-recovery solution معرفی شده و پیشنهاد اصلی مایکروسافت برای محافظت از دیتا ، خدمات و بیزینس شماست ، همانطور که در بالا اشاره کردیم این روش مقداری هزینه بر بوده و برای بیزینس های حساسی که ریسک از دست دادن دیتا و یا در دسترس نبودن خدمات شان ممکن است ضرر و زیان سنگینی را محتمل شود دارای درصد امنیت بالا و قطعا مقرون به صرفه می باشد چون بسیار بسیار به کاهی خرابی سیستم و در دسترس بودن دائمی خدمات شما به نحو احسن پاسخگو می باشد . در این روش می توان چندین سرور و دیتابیس مشابه به مجموعه اضافه کرد و همچنین قابلیت انتقال دیتابیس به فضای Cloud را داشته و بعد از معرفی در سال 2012 هر ساله در حال رشد و پیشرفت می باشد .مهم ترین خصیصه این روش وجود سرور های دوم و چندم در فضای ابری و یا موقعیت های جغرافیایی دیگر است و همچنین خارج کردن سرور ها به صورت دستی می باشد ، در اسن روش می بایست قبل از راه اندازی از Feature ویندوز سرور مایکروسافت به عنوان بستر راه اندازی و متد استفاده کرد ، قبل از راه اندازی این متد می بایست بر روی OS موجود در سرور ها Windows Clustering را راه اندازی کرده تا بتوان این متد را پیاده سازی کرد ، این مهم در بیشتر سازمان های بزرگ به عهده تیم شبکه می باشد ولی در صورت عدم وجود کاربر خبره برای راه اندازی این موضوع ما می تواینم برای سازمان شما Windows Clustering را از صفر تا صد راه اندازی کنیم .

راه های ارتباطی تماس با ما جهت درخواست پروژه و یا مشاوره فنی 

شماره های تماس جهت درخواست پروژه و یا درخواست مشاوره

شماره های تلفن همراه از ساعت 7:30 الی 22 

شماره های دفتر از ساعت 8:30 الی 17