Обновление данных в двух разных серверах баз данных PostgreSQL - PullRequest
0 голосов
/ 08 января 2019

У меня есть 2 разных приложения (веб-приложение и настольное приложение) с разными серверами баз данных, но с одинаковой структурой.

Я хочу, чтобы во всех базах данных были одинаковые данные, независимо от того, куда пользователь вставляет / обновляет / удаляет запись. Это самое простое для меня, но я не думаю, что это оптимально.

Так, например, если я вставляю запись в настольное приложение, эта запись должна быть вставлена ​​на сервер веб-приложений («облако») и наоборот.

Я использую Spring + Hibernate + PostgreSQL для веб-приложения и JavaFX + Hibernate + PostgreSQL для настольного приложения.

На данный момент я рассматриваю 2 варианта:

  • Использование сокетов для отправки сообщений между серверами при каждой вставке / удалении / обновлении записи.

  • Использовать триггеры и оболочку внешних данных в PostgreSQL. Я не слишком знаком с этим, поэтому я не знаю, смогу ли я сделать то, что я хочу с этой опцией. Могут ли они работать вместе?

Есть еще один вариант? Как вы думаете, что лучше?

1 Ответ

0 голосов
/ 08 января 2019

Самое простое и, возможно, лучшее решение - иметь одну центральную базу данных для чтения и записи и несколько резервных копий физической репликации.

Резервные серверы будут физическими копиями основной базы данных, и вы сможете читать с них (но не изменять данные).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...