یادداشت ویراستار: اصل این مطلب در شهریور ۹۶ نوشته شده بود و در مهر ۹۹ دوباره بررسی و بهروز شد. همچنین در دی ۹۹ توسط کارشناسان سرور و شبکه فالنیک، بررسی و تایید شده است..
در این مجال میخواهیم ببینیم Replication چیست، چه کاربردی دارد و چه انواعی دارد. همچنین Replication همزمان و غیر همزمان و انواع replication در sql server را بررسی میکنیم.
- replication چیست؟
- replication همزمان و غیرهمزمان
- انواع replication
- replication در شبکه چیست؟
- replication در sql server
replication چیست؟
اصطلاح Data Replication به معنی ایجاد کپی ها یا Replica ها از یک استوریج روی استوریج دیگری است تا در صورت بروز خرابی و حادثه، کپی از اطلاعات موجود باشد. مکان این دستگاه ها ممکن است از شهر یا کشور متفاوتی باشد. چنانچه یکی از این ذخیره ساز ها به هر دلیلی دچار مشکل شود، اطلاعات بر روی دستگاه دیگر موجود است و کسبوکار و سازمان شما دچار مشکل نمیشود. data replication با data availability و disaster recovery – DR در ازتباط است.
استفاده از Replication خصوصا برای شرکت هایی که اطلاعات مهم و حیاتی – mission critical data دارند بسیار مهم است. در پیاده سازی ریپلیکیشن باید تست های لازم انجام شود و بررسی شود که آیا پهنای باند لازم برای این کار فراهم است یا خیر.
replication همزمان و غیر همزمان
replication به دو صورت همزمان و غیر همزمان انجام میشود.
ریپلیکیشن همزمان یا Synchronous Replication
در ریپلیکیشن همزمان، ایجاد کپی های دیتا به صورت بلادرنگ انجام میشود و در نتیجه روش گرانی است و پهنای باند بسیار زیادی لازم دارد اما هنگام Disaster Recovery بسیار قابل اعتماد است. Synchronous Replication به ظرفیت پرداشی خوب نیاز دارد چون در غیر این صورت باعث کاهش کارایی و کند شدن سیستم اصلی – Primary میشود. این روش برای سازمان هایی خوب است که زمان در بازیابی اطلاعات باید کم باشد. ( Recovery Time Objectives – RTO)
- مزیت: تطابق دیتای Remote و Local
- عیب: دارای Round Trip Latency یا RTL است یعنی در پردازش بسته در مقصد تاخیر وجود دارد.
ریپلیکیشن غیرهمزمان یا Asynchronous Replication
کپی دیتا در ریپلیکیشن غیرهمزمان، برخلاف ریپلیکیشن همزمان، در زمان های معین شده انجام میشود. پهنای باند کمی استفاده میکند و برای فواصل دور مناسب است. این روش برای کسبوکارهایی مناسب است که زمان بالای RTO (زمان بالا در بازیابی اطلاعات) برایشان مسالهای نیست و میخواهند Replication را به صورت بهصرفهتری انجام دهند.
- مزیت: بهبود کارایی اپلیکیشن
- عیب: دیتای Remote ممکن است به طور کامل آپدیت نشود.
هر کدام از این دو حالت دارای مزایا و معایبی است که در شکل زیر نشان داده شده است.
انواع replication
ریپلیکیشن با روشهای مختلفی اجرا و پیاده سازی میشود. در ادامه برخی از روشهایی که میتوانید از data replication استفاده کنید را میخوانید:
۱. replication مبتنی بر هاست
در Replication مبتنی بر هاست، سرورهای اپلیکیشن با نرم افزاری که کپی ها یا Replica های دیتا را ایجاد میکند جفت میشود تا کپی دیتا را از یک سایت به سایت دیگر بفرستد. این نوع Replication را مبتنی بر فایل و غیرهمزمان هم مینامند.
۲. replication مبتنی بر هایپروایزر
در Replication مبتنی بر هایپروایزر، طوری طراحی شده تا کل ماشین های مجازی را از یک هاست سرور یا هاست کلاستر به هاست سرور دیگری کپی یا Replicate کند. این قابلیت، امکان ریکاوری کردن را آسان میکند. در واقع در Disaster Recovery بسیار موثر است. مزیت دیگر این روش این است که میتواند روی سرورهایی که به صوریت Native از ریپلیکیشن پشتیبانی نمیکنند اجرا شود. عیب این نوع ریپلیکیشن این است که منابع CPU را استفاده میکند در نتیجه روی کارایی سرور تاثیرگذار است.
۳. replication مبتنی بر آرایه
در Replication مبتنی بر آرایه، نرم افزار تعبیه شدهای در آرایههای استوریجی استفاده میشود که میتواند به صورت خودکار ریپلیکیت داده را بین آنها انجام دهد. محدودیت روش Array-based replication این است که منابع و محیط استوریجی مشابه لازم دارد. اما مزیت آن شتاب و سرعت بالا است و از روش همزمان استفاده میکند.
۴. replication مبتنی بر شبکه
replication در شبکه چیست؟
در replication مبتنی بر شبکه، به دستگاه یا سوئیچ اضافی بین آرایه های استوریج و سرورها نیاز داریم. این نوع Replication میتواند از تمام پلتفرم های هاستی پشتیبانی کند و با هر نوع آرایهای کار کند.
replication با سه نوع شبکه قابل اجرا است:
- Storage Area Network (SAN)
- Local Area Network (LAN)
- Wide Area Network (WAN)
replication در sql server
Replication در sql server به منظور انتقال اطلاعات از یک ذیتابیس به دیتابیس دیگری است و به سه روش مختلف میتوان Replication در sql server را انجام دهیم. هر یک از این روش ها دارای مزایا و معایب خودش است:
SQL Server Snapshot Replication
سادهترین روش ریپلیکیشن روش ریپلیکیشن از طریق اسنپ شات است. کپی کاملی از دیتا تهیه میشود و طی فواصل زمانی مشخص به مقصد ارسال میشود. زمان کم که برای پیکربندی لازم دارد. به primary key در جدول احتیاج ندارد و استفاده از آن آسان است اما زمان تاخیر آن بسیار بالاست.
SQL Server Transactional Replication
برای دیتاهایی که تراکنش بالا دارند مناسب است و زمان تاخیر کمی دارد. در مواردی که فاصله دو دستگاه کم است مناسب است. پیاده سازی آن کمی زمانبر است، نگهداری از آن کمی مشکل است.
SQL Server Merge Replication
پیاده سازی آن زمانبر و نگهداری از آن پیچیده است. امکان آپدیت رکوردها و تغییرات به صورت آفلاین وجود دارد.