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

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

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

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

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

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

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

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

Похожие вопросы