Middle
Каква е разликата между физическата и логическата репликация в PostgreSQL?
sobes.tech AI
Отговор от AI
Физическата и логическата репликация в PostgreSQL се различават по начина на пренос на данни и възможностите:
Физическа репликация:
- Копира бинарни данни (WAL — Write-Ahead Log) от основния сървър към репликата.
- Репликата е точна копие на майстора на ниво файловата система.
- Използва се за създаване на горещи резервни копия (standby).
- Репликата обикновено е само за четене.
- Не позволява селективна репликация на отделни таблици или данни.
Логическа репликация:
- Реплики промените на ниво SQL (DML) — вмъквания, актуализации, изтривания.
- Позволява репликация на отделни таблици или набори от данни.
- Репликата може да не е точна копие на майстора, допуска трансформации на данните.
- Използва се за миграции, интеграции, разпределени системи.
- Позволява да имате реплики с различна структура или филтриране на данните.
Пример: ако трябва да репликирате само част от данните или отделни таблици, използвайте логическа репликация. За висока наличност и бърза синхронизация на цялата база — физическа.