tmman
@tmman
Обои из семерки наконец-то пригодились!

Как «уведомить» об изменении в базе данных?

Хотел узнать, MySQL или в общем случае мейнстримовые СУБД умеют как-то пушить уведомления другим системам об изменении данных у себя?

Пример: есть база пользователей. Если добавили нового пользователя или изменили у кого-то из них телефон, то об этом должна узнать другая база как можно скорее. Как такое делается без периодического опроса родительской базы?
  • Вопрос задан
  • 1243 просмотра
Пригласить эксперта
Ответы на вопрос 4
@klim76
android/java/sql
триггеры?
Ответ написан
Комментировать
gbg
@gbg
Любые ответы на любые вопросы
Postgres - pgnotify
Firebird - POST_EVENT

Оба механизма работают так - нужно на клиенте подписаться на определенное уведомление, а потом из триггера или процедуры можно будет его отсылать.
Ответ написан
@PapaStifflera
Родился, вырос...
Пример: есть база пользователей. Если добавили нового пользователя или изменили у кого-то из них телефон, то об этом должна узнать другая база как можно скорее. Как такое делается без периодического опроса родительской базы?

Настройте репликацию. Практически все мейнстримовые СУБД умеют реплицироваться.

Если же вам нужно уведомлять сторонние приложения, то тут уже своя специфика для каждой СУБД. Как уже писали выше, в PostgeSQL есть механизм нотификации pgnotify. Для MySQL, скорее всего, придется настроить репликацию и поставить специального вида прокси, которая и будет уведомлять другие приложения.
Ответ написан
Комментировать
@RidgeA
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы