یکی از اصطلاحات دررابطهبا ذخیره سازهاست که باید پیش از خرید استوریج در معنای آن آگاه باشید. در این مجال میخواهیم ببینیم Replication چیست، چه کاربردی دارد و چه انواعی دارد.
replication چیست؟
اصطلاح Database 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 این است که منابع و محیط استوریجی مشابه لازم دارد. اما مزیت آن شتاب و سرعت بالا است و از روش همزمان استفاده میکند.
مزایا و معایب Database replication
Database Replication اغلب توسط یک پایگاه داده یا مدیر تکرار نظارت می شود. یک سیستم Replicationکه به درستی پیاده سازی شده باشد می تواند چندین مزیت داشته باشد، از جمله موارد زیر:
Load reduction
از آنجایی که داده های تکراری را می توان در چندین سرور پخش کرد، این احتمال را که هر یک از سرورها با درخواست های کاربر برای داده غرق شوند را از بین می برد.
Efficiency
سرورهایی که فشار کمتری با پرس و جو دارند می توانند عملکرد بهتری را به کاربران کمتری ارائه دهند.
High availability
استفاده از چندین سرور با داده های یکسان، دسترسی بالا را تضمین می کند، به این معنی که اگر یک سرور از کار بیفتد، کل سیستم همچنان می تواند عملکرد قابل قبولی ارائه دهد.
بسیاری از معایب تکرار پایگاه داده از شیوه های ضعیف حاکمیت داده ناشی می شود. این معایب شامل موارد زیر است:
Data loss
زمانی که دادهها یا تکرارها یا بهروزرسانیهای نادرست پایگاه داده کپی میشوند و در نتیجه، دادههای مهم حذف یا حساب نشده است، میتواند در حین تکرار اتفاق بیفتد. در صورتی که کلید اصلی مورد استفاده برای تأیید کیفیت داده در ماکت خراب یا نادرست باشد، این اتفاق میافتد. همچنین اگر اشیاء پایگاه داده در پایگاه داده منبع به درستی پیکربندی نشده باشند، ممکن است رخ دهد.
Data inconsistency
به همین ترتیب، کپیهای نادرست یا قدیمی میتوانند باعث عدم هماهنگی منابع مختلف با یکدیگر شوند. این ممکن است منجر به هدر رفتن هزینه های انبار داده شود که بیهوده صرف تجزیه و تحلیل و ذخیره داده های نامربوط می شود.
Multiple servers
اجرای چندین سرور دارای هزینه نگهداری و انرژی ذاتی است. به سازمان یا شخص ثالث نیاز دارد که به این هزینه ها رسیدگی کند. اگر شخص ثالثی آنها را مدیریت کند، سازمان در معرض خطر قفل شدن فروشنده یا مشکلات خدماتی خارج از کنترل سازمان قرار می گیرد.