تعریف
Asynchronous Replication یا تکثیر ناهمگام به فرآیندی گفته میشود که در آن دادهها از یک سرور یا ذخیرهساز اصلی (Primary Storage) به یک سرور یا ذخیرهساز پشتیبان (Secondary Storage) منتقل میشوند، بدون اینکه فرآیند اصلی منتظر تأیید دریافت داده در مقصد باشد.
به عبارت ساده، عملیات نوشتن داده در سرور اصلی تمام میشود و کپیبرداری به سرور پشتیبان به صورت همزمان انجام نمیشود بلکه با کمی تأخیر صورت میگیرد.
تفاوت Asynchronous و Synchronous Replication
| ویژگی | Synchronous Replication | Asynchronous Replication |
|---|---|---|
| توقف عملیات نوشتن در سرور اصلی | بله، تا تأیید سرور پشتیبان | خیر، بدون انتظار |
| تأخیر در دادهها | صفر یا بسیار کم | ممکن است چند ثانیه تا چند دقیقه |
| ریسک از دست رفتن داده | کم | کمی بیشتر، در صورت قطعی ناگهانی |
| عملکرد سیستم | کمی کندتر | سریعتر، تأثیر کمتر روی عملکرد |
مزایای Asynchronous Replication
- افزایش کارایی سیستم: سرور اصلی برای هر نوشتن منتظر سرور پشتیبان نمیماند.
- مقیاسپذیری بهتر: امکان پشتیبانی از چندین سرور پشتیبان در فواصل جغرافیایی مختلف.
- کاهش تأثیر تأخیر شبکه: مناسب محیطهایی با فاصله زیاد بین سرورها.
معایب و چالشها
- ریسک از دست رفتن دادهها: اگر قبل از کپی شدن دادهها در سرور پشتیبان، سرور اصلی دچار مشکل شود، ممکن است برخی دادهها از دست بروند.
- پیچیدگی مدیریت دادهها: نیاز به مدیریت صفها و ترتیب دادهها برای جلوگیری از ناسازگاری.
- زمانبندی تأخیر: باید به درستی تنظیم شود تا دادهها بهصورت مرتب کپی شوند.
کاربردهای Asynchronous Replication
- پایگاههای داده توزیعشده مانند: MySQL، PostgreSQL، MongoDB
- سرورهای ابری و ذخیرهسازی دادهها مانند: AWS S3 Cross-Region Replication
- سیستمهای Disaster Recovery
- محیطهای با فاصله جغرافیایی خیلی زیاد بین دیتاسنترها
مثال مفهومی
فرض کنید یک بانک داده در تهران و یک دیتاسنتر پشتیبان در قم داریم.
- هر تراکنش در سرور تهران انجام میشود و فورا تأیید میشود.
- دادهها بعداً به سرور قم منتقل میشوند، بدون اینکه مشتری منتظر بماند.
- اگر سرور تهران دچار مشکل شود، ممکن است چند تراکنش آخر هنوز به قم نرسیده باشد.
- فرض این دقیقاً همان تأخیر ذاتی Asynchronous Replication است که در مقابل Synchronous قرار دارد.
جمعبندی
Asynchronous Replication یک روش مؤثر برای کپیبرداری دادهها در محیطهای بزرگ و توزیعشده است که با حفظ سرعت عملکرد سیستم اصلی، امکان پشتیبانگیری و بازیابی دادهها را فراهم میکند. با وجود ریسک اندک از دست رفتن دادهها، این روش در محیطهای عملیاتی با فاصله جغرافیایی زیاد یا نیازبه عملکرد بالا بسیار کاربردی است.

اولین فردی باشید که دیدگاه می نویسد...