Replikacje asynchroniczne a utrata danych

0

Cześć,
chciałem się upewnić w następującej kwestii:
Jeśli robię replikację bazy asynchronicznie to teoretycznie coś może pójść nie tak i część danych może nie zostać zreplikowana.
No i teraz pytanie: czy postgres po takiej nieudanej replikacji weryfikuje czy obie bazy są zgodne i że wszystko jest ok, a jeśli nie to ponawia próbę przesłania danych? W sensie czy replikacje gwarantują mi, że będzie zgodność między bazami?

0

na pewno ktos o tym juz pomyślał

1

@Kofcio:

Moja pierwsza emocja, jak ktos stzrela ogólnym tematem "replikujmy baze danych" w rozumieniu "wszystko ze wszystkim w obie strony", to myśl "to się nie uda". To nie jest tak, że wyjmujemy z pudełka "technologia replikacji" i juz mamy.

Wierzę w selektywne repliakcje, na dobrze przemyślanych projektach bazy danych, np z elementem "samonaprawczym", tj jedna repliakcja sie zerwała, ale druga to wyprostuje.

Pomedytuj nad "cap theorem" i "eventual consistency". To nie są identyczne zagadnienia, wręcz występują po innych stronach barykad w różnych świętych wojnach (monolit+sql vs cloud + micorserivces), ale spojrzysz szerzej.

0

W ogólności, replikacja Ci tego nie gwarantuje. Z defaultu masz laga replikacyjnego oraz możliwość nadpisania segmentów na masterze, zanim zostaną one zreplikowane.

Warto sięgnąć do dokumentacji replikacji i zweryfikować jak się będzie zachowywać replukacja przy konkretnej wersji bazy, ustawień mastera/slave'a.

0

Z tego co kojarzę (robiłem crash testy na wersjach 12 i 13), to niestety nie ma takich mechanizmów. Czasami nawet baza nie raportowała, że jakieś dane poszły się kochać i dopiero przy przełączeniu, albo odpytaniu danych na hot standby błędy się pojawiały. Co do ponowienia przesłania danych - jeśli aplikacja mocno czesze bazę, to w wielu przypadkach (ze względu na miejsce) archiwizuje się logi metodą /bin/true (albo coś podobnego) i nawet jeśli baza wykryłaby błędy przy replikacji, to tych WALi może już nie być na pudle.
Ogólnie replikacja postgresowa bardzo odbiega od komercyjnych produktów (mówię o bieda-wersji, a nie o EDB) i ja osobiście bym nic krytycznego na tym nie postawił.

1 użytkowników online, w tym zalogowanych: 0, gości: 1