Каков наилучший способ запрограммировать немедленную реакцию на обновление данных в базе данных?
Самым простым способом, который я мог бы придумать, является поток, который проверяет базу данных на предмет конкретного изменения некоторых данных и постоянно ждет, чтобы проверить ее снова в течение некоторого предварительно определенного промежутка времени. Это решение кажется мне расточительным и неоптимальным, поэтому мне было интересно, есть ли лучший способ.
Я полагаю, что должен быть какой-то способ, в конце концов, веб-приложение, такое как gmail, похоже, может обновить мой почтовый ящик почти сразу после того, как мне отправили новое письмо. Конечно, мой клиент не постоянно проверяет наличие обновлений. Я думаю, что они делают это с AJAX, но как AJAX может вести себя как удаленный вызов функции, я не знаю. Мне было бы интересно узнать, как это делает gmail, но больше всего мне хотелось бы знать, как это сделать в общем случае с базой данных.
Edit:
Обратите внимание, что я хочу немедленно отреагировать на обновление в коде клиента, а не в самой базе данных, поэтому, насколько я знаю, триггеры не могут этого сделать. Обычно я хочу, чтобы ПОЛЬЗОВАТЕЛЬ получал уведомление или обновлял свой экран после внесения изменений в базу данных.