LINUX.ORG.RU

Как правильно использовать логическую репликацию PostgreSQL?

 , ,


0

1

Прошу поделится опытом использования логической репликации PostgreSQL.
Есть необходимость дотащить относительно большую часть данных (для начала ~30-50 гб) в одном направлении из одного (микро)сервиса в другой, а так же регулярно получать по ним обновления.

Насколько удачная идея таскать их через PostgreSQL Logical Replication?
Какие грабли при эксплуатации встречаются?
Насколько легко/быстро чинятся отрывы сети?
Насколько больно менять схему?
Есть лучшие решения для такой задачи?

Ответ на: комментарий от emorozov

Есть немного.
Ну оригинальная проблема такая - есть сервис с postgres-ом из него надо вытащить (и постоянно синхронизировать) часть данных, через API тянуть долго

pru-mike ★★ ()
Ответ на: комментарий от slovazap

ну от содержания зависит
предварительно нисколько

pru-mike ★★ ()
Ответ на: комментарий от pru-mike

Мне кажется, что репликация может сработать, но лично я сам не делал репликацию, поэтому углубляться не буду.

Альтернативное решение (чтобы не таскать через API) — синхронизировать данные через очередь сообщений.

emorozov ()
Ответ на: комментарий от pru-mike

делай через кафку. а так если там они для какой-нибудь батч обработки, то можно хоть скриптом перегонять.

anonymous ()

По поводу очередей: существуют прямо готовые решения, чтобы из лога PostgreSQL слать данные в Kafka. Точно видел такое, но гуглить сейчас некогда.

emorozov ()

Давно пора было прикрыть этот рассадник порока – Тор. РКН – Ван лав. Слава императору. Слава Северному Вьетнаму.

anonymous ()
Ответ на: комментарий от pru-mike

Ага, ещё точно видел другое альтернативное решение, не на жабе написанное.

emorozov ()
Ответ на: комментарий от pru-mike

Я хоть и не автор, но отвечу: очевидно же, что при логической репликации в результате выполнения таких (странных) запросов, на мастере и слейве получатся таблицы с разным содержимым.

emorozov ()
Ответ на: комментарий от emorozov

Всегда-ли? А если таблица из которой делается select тоже реплецируется?
Я вобще подумал, что может быть что репликация такие запрос вобще не отправляет

pru-mike ★★ ()
Ответ на: комментарий от pru-mike

А как именно проявлялись?

Совершенно правильно написал emorozov, что содержимое таблиц получалось разным.

dicos ★★ ()
Ответ на: комментарий от pru-mike

Это же логическая репликация, RAND() разные результаты вернёт на обеих базах, соотв-но и вставятся разные строки.

emorozov ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.