امروزه دادهها و اطلاعات با ارزشترین داراییهای هر سازمان یا کسب و کاری هستند. این دادهها از اطلاعات محرمانه سازمانها تا دادههایی که کسب و کارها در طول سالیان جمعآوری کردهاند را در بر میگیرد. با توجه به رواج باج افزارها و همچنین برخط بودن اکثر سرورهای مورد استفاده توسط سازمانها، پشتیبان گیری منظم از این دادهها امری ضروری است. البته باج افزارها و خطر هک شدن تنها دلیل برای بکاپ گیری از دادهها نیستند، امروزه بسیاری از دادهها به علت خطای انسانی و خرابی سخت افزار (مخصوصا فضای ذخیرهسازی) از بین میروند.
ضرورت گرفتن نسخههای پشتیبان و همچنین مزایای بکاپگیری از کسی پنهان نیست، اما بکاپها از چه دادههایی و به چه صورت باید گرفته شوند؟ به عبارت دیگر ویژگیهای یک سرویس پشتیبان گیری خوب چیست؟ هر سیستم بکاپ گیری باید دارای ۵ ویژگی زیر باشد:
هر سایت، اپلیکیش یا نرم افزار دارای فایلها و اطلاعات بسیاری است که روی یک کامپیوتر یا سرور همراه با سیستم عامل منطبق با آن سرویس میزبانی میشوند. اما بکاپگیری از همه این فایلها و اطلاعات به هیچ وجه بهینه نبوده و فقط باعث افزایش حجم بکاپ و طولانیتر شدن بازگردانی آن میشود. بسیاری از این فایلها، مانند فایلهای سیستم عامل، همیشه ثابت بوده و قابلیت بازگردانی از هر نسخهای از آن سیستم عامل را دارند.
این مورد برای نرم افزار و سرویسهای کاربردی نیز صدق میکند؛ به عنوان مثال اگر از نرم افزار حسابداری استفاده میکنید، گرفتن نسخه پشتیبان از خود برنامه امری بیهوده است، در این مورد شما فقط باید از اطلاعات پایگاه داده نرم افزار، که شامل اطلاعات خرید، فروش، مشتریان و فاکتورهای شماست، نسخه پشتیبان تهیه کنید.
همچنین در صورتی که سرویس شما در قالب سایت یا اپلیکیشن ارائه میشود، پشتیانگیری از فایلهای سایت یا اپلیکیشن از اهمیت پایینتری برخوردار هستند، زیرا این اطلاعات به ندرت تغییر میکنند و در صورت تغییر نیز، نه تنها نسخههایی از آن روی گیت یا کامپیوترهای شخصی شما موجود است، بلکه این اطلاعات قابلیت بازنویسی داشته و امکان تولید مجدد آنها وجود دارد. اما دادههای با ارزش، مانند تراکنشهای مالی، اطلاعات مشتریان، تنظیمات اپلیکیشن و داراییهای کاربران سرویس شما، همگی در پایگاه داده ذخیره شده و در صورت از دست رفتن، امکان بازسازی آنها وجود ندارد.
بنابراین یک سیستم پشتیبانگیری خوب از دادههای حیاتی، حساس و با ارزش بکاپ گرفته و حجم و زمان بیهوده صرف دادههای تجدیدپذیری که به ندرت عوض میشوند، نمیکند.
همانطور که گفتیم، یکی از ویژگیهای یک سرویس پشتیبانگیری خوب قابلیت پشتیبانگیری از دادههای حیاتی و حساس شماست. اما یکی از ویژگیهای این دادههای حساس، سرعت بالای تغییرات آنهاست. ثبت نام کاربر جدید، انجام تراکنش، صدور فاکتور و … از جمله مواردی هستند که در هر لحظه پایگاه داده شما را آپدیت کرده و اطلاعاتی را به آن اضافه یا از آن حذف میکنند.
بنابراین یک پلن بکاپ پایگاه داده خوب باید این قابلیت را داشته باشد تا در فاصلههای زمانی کوتاه مدت از کل پایگاه داده شما بکاپ بگیرد. سرویسهای بکاپ رایج، در بهترین حالت بکاپهای روزانه از اطلاعات شما تهیه میکنند؛ که با توجه به نرخ تغییر در دادههای پایگاه داده و حساسیت بالای این اطلاعات، اصلا مناسب نیست. سرویس بکاپ پایگاه داده باید این توانایی را داشته باشد تا در فواصل چند دقیقهای از دیتابیس شما بکاپ گرفته تا در صورت خرابی و از دست رفتن اطلاعات بتوانید دادههای چند دقیقه قبل خود را بازیابی کنید.
فراموش نکنید که اطلاعات شما دارایی شماست و حفظ و بازگردانی آنها در شرایط بحرانی از اعتبار و کسب و کار شما محافظت خواهد کرد.
تا اینجا از اهمیت پشتیبانگیری از دیتابیس در فاصله زمانی کوتاه آگاه شدیم. اما بازگردانی بکاپ دیتابیس نیز به اندازه پشتیبانگیری از آن اهمیت دارد. فرض کنید شما از سرویس پشتیبان گیری دیتابیسی استفاده میکنید که در بازه زمانی چند دقیقهای از دادههای شما بکاپ میگیرد، چه فایده اگر بازگردانی این بکاپها چند ساعت طول بکشد؟
بازگردانی سریع بکاپ از دو جهت حائز اهمیت است:
اولا، هر چه بازگردانی بکاپ شما بیشتر طول بکشد، زمان خرابی یا داون تایم سرویس یا سایت شما بیشتر خواهد شد. در این صورت نه تنها اعتماد کاربران و مشتریان خود را از دست خواهید داد، بلکه رتبه بالایی که بعد از ماهها تلاش در سرچ گوگل بدست آوردید را از دست خواهید داد.
دوما، یکی از موارد مهم در طراحی یک پلن پشتیبان گیری و بازگردانی اطلاعات، اطمینان از صحت اطلاعات بکاپ گیری شده است. بسیاری از شرکتها و کسب و کارها از اطلاعات خود بکاپ تهیه میکنند بدون اینکه صحت و یکپارچگی آنها را بررسی و تایید کنند. امکان بازگردانی سریع بکاپ، به شما این امکان را میدهد تا بصورت هفتگی یا حتی روزانه، یک نسخه از بکاپ دیتابیس خود را ریستور کنید تا از صحت یکپارچکی دادههای خود اطمینان حاصل کنید.
یک سرویس بکاپ گیری خوب باید این قابلیت را داشته باشد تا نسخههای پشتیبان را در فضایی خارج از سرور اصلی ذخیره کند. این موضوع از چند جهت اهمیت دارد.
اول اینکه در سالهای گذشته باج افزارها رشد چشمگیری داشتهاند؛ همچنین بسیاری از ارائه دهندگان خدمات میزبانی (مانند ایران هاست و ابر آروان) هک شدند یا به عبارت دیگر مورد حملات امنیتی قرار گرفتند. در این صورت باید نسخههای پشتیبان شما در فضایی خارج از سرور اصلی نگهداری شوند تا در صورت بروز مشکل، تحت تاثیر قرار نگرفته و در برابر باج افزارها و هک مصونیت داشته باشند.
دوما، در حال حاضر علت حدود ۴۰ درصد از داون تایم مربوط به خرابی سرور یا فضای ذخیره سازی است. در این صورت ممکن است مدت زمان زیادی طول بکشد تا دیتاسنتر قطعه مربوطه را تعویض کرده تا سرویس شما مجددا در دسترس قرار بگیرد. برای بسیاری از کسب و کارها، این میزان از قطعی اصلا قابل قبول نیست. بنابراین سرویس پشتیبانگیری شما باید این قابلیت را داشته باشد که نسخهای از بکاپ شما را در سرور دیگری بازگردانی کرده تا با حداقل زمان قطعی، سرویس یا سایت شما مجددا در دسترس قرار گیرد.
سرویسهای پشتیبان گیری رایج معمولا با فاصله زمانی بالا (گاها هفتگی یا روزانه) از دادههای شما بکاپ تهیه میکنند. این فاصله زمانی طولانی دو علت اصلی دارد.
اولا، سرویسهای بکاپ کنونی توانایی پشتیان گیری با سرعت بالا را ندارند. وقتی عملیات بکاپگیری از دادههای شما ۳۰ دقیقه طول بکشد، عملا بکاپ گیری با فاصله زمانی ۱۵ دقیقه معنایی ندارد چراکه سیستم بعد از ۱۵ دقیقه هنوز درگیر گرفتن بکاپ قبلی است و توانایی شروع پروسه جدید را ندارد.
دوما، سیستمهای پشتیبان گیری رایج نه تنها مدت زمان زیادی را صرف گرفتن بکاپ میکنند، بلکه فشار زیادی روی منابع سرور، به خصوص فضای ذخیره سازی میآورند. تا حدی که بسیاری از سازمانها سعی میکنند روند بکاپ گیری از اطلاعات را نیمه شب اجرا کنند تا کندی سرور، مشتریان و کاربران را تحت تاثیر قرار ندهد.
بنابراین، عملیات بکاپ گیری از اطلاعات باید به سرعت انجام گرفته و تاثیری بر کارایی سرور و سرویس شما نداشته باشد.
تا اینجا با ویژگیهای اصلی یک سرویس پشتیبان گیر پایگاه داده آشنا شدیم. پیاده سازی و پشتیبانی از این ویژگیها به تخصص بالا و نیروی کار ماهر نیاز داشته و برای همه سازمانها میسر نیست. خوشبختانه امروز پیشرفتهای خدمات ابری منجر به ایجاد سرویس ابری جدیدی با عنوان «پایگاه داده به عنوان یک خدمت» یا همان DBaaS شده است. ارائهدهندگان سرویس پایگاه داده ابری، معمولا یک سرویس بکاپگیری قوی (با ویژگیهایی که در این مطلب به آنها اشاره شد) را در کنار خدمات مدیریتی پایگاه داده، مانند رپلیکیشن (Replication)، مانیتورینگ، High Availability و ... ارائه میدهند.
آمازون (AWS)، مایکروسافت آژور و سرویس ابری گوگل از بزرگترین ارائهدهندگان سرویس دیتابیس در سطح بینالمللی هستند. در ایران نیز دیتابیس ابری پنکیک، پایگاه داده به عنوان یک سرویس ارائه میکند که دارای سرویس بکاپ گیری با ویژگیهای مذکور است. بنابراین، در صورتی که منابع یا زمان کافی برای پیادهسازی یک سرویس دیتابیس با ویژگیهای مذکور ندارید، میتوانید با استفاده از سکوهای ابری پایگاهداده به کلیه خدمات فوق به صورت سرویس دسترسی داشته باشید. ویژگیهایی که سیستمهای پشتیبانگیری در DBaaS ارائه میدهند معمولا شامل موارد زیر است: