در سال های اخیر، تکرار جریان یکی از ویژگی های اصلی معرفی شده در PostgreSQL بوده است. ایده این است که از transaction log PostgreSQL (WAL) برای همگام سازی تعداد دلخواه سرویس و تکثیر داده ها در داخل یک خوشه استفاده شود. در PostgreSQL همانند سازی به دو صورت انجام می شود:
شما می توانید با توجه به نیاز خود تصمیم بگیرید که کدام روش برای شما مفیدتر است.
در صورت خرابی سرور، ایده خوبی است که یک نسخه آماده به کار از سرور اصلی خود را در دسترس داشته باشید. خوشبختانه، PostgreSQL ابزاری را برای دستیابی به آن دقیقاً ارائه می دهد. مدیران می توانند به راحتی کپی های فقط خواندنی یک سرور اصلی ایجاد کنند و از آن کپی ها برای اهداف مختلفی مانند:
Asynchronous راه استاندارد برای تکثیر داده ها در دنیای PostgreSQL است و یک روش قابل اعتماد و آسان برای توزیع داده ها و ایجاد امنیت بیشتر در تنظیمات شما ارائه می دهد.
مزایای اصلی Asynchronous Replication سربار کم و سادگی است. در نتیجه asynchronous replication راهحل ایدهآلی برای automatic failovers و enterprise-grade redundancies است.
معرفی معماری پایگاه داده PostgreSQL
اگر در حال اجرای asynchronous replication هستید، ممکن است پس از انجام تراکنش در سرور اصلی، داده ها در حالت آماده به کار قرار گیرند. معمولاً یک تأخیر کوچک در تکرار وجود دارد که میتواند باعث از دست رفتن (معمولاً) اطلاعات جزئی در صورت خرابی شود.
در بیشتر موارد این کاملاً قابل قبول است زیرا Asynchronous Replication هزینه کمی را به همراه دارد و سرعت اولیه را کاهش نمی دهد.
در PostgreSQL، تکثیر نه تنها از یک اولیه به یک آماده به کار منفرد امکان پذیر است، بلکه امکان تکرار از یک اولیه به حالت آماده به کار چندگانه یا استفاده از حالت آماده به کار برای تکرار به حالت آماده به کار بیشتر نیز وجود دارد (Cascaded replication). اگر به دنبال یک راه حل Replication PostgreSQL با توزیع جغرافیایی هستید، Cascading گزینه خوبی می باشد.
به مثال زیر توجه کنید:
سرور پایگاه داده اصلی شما در نیویورک، ایالات متحده آمریکا مستقر است. شما می خواهید در فرانکفورت، اشتوتگارت، برلین و آخن (آلمان) کپی ایجاد کنید. اگر همه کپیهای شما مستقیماً به سرور اصلی نیویورک متصل شده باشند، دادهها باید چهار بار در سراسر اقیانوس اطلس ارسال شوند. Cascaded replication جایگزین خوبی است. می توانید سرور فرانکفورت را به اصلی در ایالات متحده متصل کنید و داده ها را از سرور فرانکفورت به داخل آلمان ارسال کنید.
جهت دریافت خدمات مشاوره، آموزش و نگهداری پایگاه داده Postgresql با ما در ارتباط باشد
اگر نمی توانید ریسک از دست دادن یک COMMIT را بپذیرید، ممکن است Synchronous replication همان چیزی باشد که به دنبال آن هستید. در PostgreSQL، میتوانید بهطور همزمان به هر تعداد که میخواهید در حالت Standby تکرار کنید تا مطمئن شوید که یک COMMIT تنها زمانی معتبر است که توسط تعداد مورد نظر سرور PostgreSQL تأیید شود.
Synchronous replication بالاترین امنیت ممکن را برای تراکنشهای شما تضمین میکند.
این تضمین می کند که هیچ داده ای نمی تواند از بین برود. هم اکنون به چگونگی کارکرد آن می پردازیم.
یک تراکنش تنها در صورتی می تواند برگردد که تعداد کافی از حالت آماده به کار نوشتن را تایید کرده باشند.
ویژگی های پیشرفته: Quorum COMMIT
با معرفی PostgreSQL 10.0، حتی از روش های پیچیده تری COMMIT پشتیبانی می شود. یکی از قابلتوجهترین ویژگیها، توانایی انجام «quorum COMMITs » است.
FIRST num_sync (standby_name [,…]) NY num_sync (standby_name [,…])
ایده این است که به توسعه دهندگان و مدیران راه های دقیق تری برای پیکربندی Replication داده شود.