پنج شنبه ۱۱ بهمن ۱۴۰۳
Tut24 آموزش برنامه نویسی و مجله تخصصی فناوری ورود/عضویت

آموزش سیستم مدیریت پایگاه داده - پشتیبان‌گیری اطلاعات

یک حافظه ناپایدار مانند حافظه RAM تمامی لاگ‌های فعال، بافرهای دیسک و داده‌های مرتبط را ذخیره می‌کند. علاوه بر این، تمامی تراکنش‌هایی که در حال اجرا هستند نیز در آن ذخیره می‌شوند. اگر چنین حافظه‌ای به طور ناگهانی کرش کند، چه اتفاقی می‌افتد؟ بدیهی است که همه لاگ‌ها و نسخه‌های فعال پایگاه داده نیز از بین می‌روند. این امر باعث تقریباً غیرممکن شدن فرایند بازیابی می‌شود، زیرا همه چیزی که برای بازیابی داده مورد نیاز است، از بین رفته است.

تکنیک‌های زیر می‌توانند در صورت فقدان حافظه ناپایدار به کار گرفته شوند:

  • ما می‌توانیم در چندین مرحله نقاط کنترل (checkpoint) ایجاد کنیم تا محتوای پایگاه داده را به صورت دوره‌ای ذخیره کنیم.

  • یک وضعیت فعلی پایگاه داده در حافظه ناپایدار می‌تواند به صورت دوره‌ای در یک حافظه پایدار ذخیره شده و ممکن است شامل لاگ‌ها، تراکنش‌های فعال و بلاک‌های بافر نیز باشد.

  • هر زمان که محتویات پایگاه داده از حافظه غیرقابل‌تغییر به یک حافظه پایدار منتقل شوند، در یک فایل لاگ به عنوان <dump> علامت‌گذاری می‌شود.

بازیابی (Recovery)

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

  • می‌تواند یک لیست redo و یک لیست undo به عنوان نقاط کنترل (checkpoint) نگهداری کند.

  • می‌تواند با مشاوره لیست‌های undo-redo، وضعیت تمامی تراکنش‌ها تا آخرین نقطه کنترل را بازیابی کند.

پشتیبان‌گیری و بازیابی پایگاه داده از خرابی 

یک خرابی ، خراب شدن یک دستگاه ذخیره سازی پایدار فرعی است. با خراب شدن دستگاه ذخیره سازی، تمامی داده‌های ارزشمند در داخل آن از بین می‌روند. ما دو راهکار مختلف برای بازیابی داده‌ها از چنین خرابی ویرانگری داریم:

  • پشتیبان‌گیری از راه دور (Remote Backup) − در این حالت یک نسخه پشتیبان از پایگاه داده در یک مکان دور از مکان اصلی ذخیره می‌شود و در صورت وقوع فاجعه قابل بازیابی است.

  • در ضمن، می‌توان پشتیبان‌گیری از پایگاه داده را روی نوارهای مغناطیسی انجام داد و آن‌ها را در یک مکان ایمن ذخیره کرد. این پشتیبان در زمان لازم می‌تواند بر روی یک پایگاه داده‌ی نصب شده تازه منتقل شود و آن را به نقطه‌ای قبل از پشتیبان‌گیری برساند.

پایگاه‌های داده بزرگ، بسیار حجیم هستند و پشتیبان‌گیری مکرر از آن‌ها ممکن نیست. در چنین مواردی، ما تکنیک‌هایی داریم که با نگاه کردن به لاگ‌های آن، می‌توانیم یک پایگاه داده را بازیابی کنیم. بنابراین، تنها کاری که باید انجام دهیم، پشتیبان‌گیری از تمامی لاگ‌ها در بازه‌های زمانی متداول است. پایگاه داده می‌تواند هفته‌ای یکبار پشتیبان‌گیری شود و چون لاگ‌ها بسیار کوچک هستند، می‌توان آن‌ها را روزانه یا به صورت متداول پشتیبان‌گیری کرد.

پشتیبان‌گیری از راه دور

پشتیبان‌گیری از راه دور حس امنیتی در صورت خراب شدن مکان اصلی پایگاه داده را فراهم می‌کند. پشتیبان‌گیری از راه دور ممکن است آفلاین، زمان‌بندی شده یا آنلاین باشد. در صورتی که آفلاین باشد، به صورت دستی نگهداری می‌شود.

پشتیبان‌گیری از داده‌ها به‌صورت راه دور

سیستم‌های پشتیبان‌گیری آنلاین (Online backup) برای مدیران پایگاه داده و سرمایه‌گذاران، بیشتر به صورت زمان‌بندی شده و در زمان نیاز به زنده‌نگه‌داشتن پایگاه داده کمک می‌کنند. سیستم پشتیبان‌گیری آنلاین یک مکانیزم است که در آن هر بیت از داده به صورت همزمان در دو مکان دور از هم پشتیبان‌گیری می‌شود. یکی از این مکان‌ها به طور مستقیم به سیستم متصل است و دیگری به عنوان پشتیبان در یک مکان دور نگهداری می‌شود.

همان‌طور که ذخیره‌سازی اصلی پایگاه داده خراب می‌شود، سیستم پشتیبان از خرابی آگاه می‌شود و سیستم کاربر را به ذخیره‌سازی راه دور تغییر می‌دهد. گاهی این تغییر به قدری سریع است که کاربران حتی از وقوع خرابی مطلع نمی‌شوند.