Sobes.tech
Middle

Каква е разликата между физическата и логическата репликация в PostgreSQL?

sobes.tech AI

Отговор от AI

Физическата и логическата репликация в PostgreSQL се различават по начина на пренос на данни и възможностите:

Физическа репликация:

  • Копира бинарни данни (WAL — Write-Ahead Log) от основния сървър към репликата.
  • Репликата е точна копие на майстора на ниво файловата система.
  • Използва се за създаване на горещи резервни копия (standby).
  • Репликата обикновено е само за четене.
  • Не позволява селективна репликация на отделни таблици или данни.

Логическа репликация:

  • Реплики промените на ниво SQL (DML) — вмъквания, актуализации, изтривания.
  • Позволява репликация на отделни таблици или набори от данни.
  • Репликата може да не е точна копие на майстора, допуска трансформации на данните.
  • Използва се за миграции, интеграции, разпределени системи.
  • Позволява да имате реплики с различна структура или филтриране на данните.

Пример: ако трябва да репликирате само част от данните или отделни таблици, използвайте логическа репликация. За висока наличност и бърза синхронизация на цялата база — физическа.