Arquitetura de comunicação entre servidor e clientes

Boa tarde,

  A aplicação que tenho que fazer tem uma necessidade de atualizar clientes quando certa informação sofrer alguma alteração no servidor, em primeiro momento havia pensado em o s clientes ficarem continuamente consultando o servidor em certo intervalo de tempo, vejo que esta não é uma solução ideal, pois pode haver um período longo de tempo que que não há alterações no servidor, logo os clientes, que podem crescer consideravelmente sua quantidade, ficariam consultando o servidor sem necessidade causando tráfego desnecessário. Vocês conhecem alguma alterativa/tecnologia mais ideal para este dilema, o ideal seria o servidor mandar uma mensagem para vários clientes com esta atualização, ao invés de o cliente ficar consultando o servidor? 

Obs: mais especificamente minha necessidade, tenho uma tabela do banco de dados no servidor, quando ocorrer alguma alteração nos dados de certa tabela, tenho que replicar no cliente, ou seja dar um UPDATE ou INSERT ou DELETE.

Ueh, pq nao usa trigger entao?

Porque os bancos estão dispersos geograficamente, por exemplo, eu tenho um banco aqui na minha máquina, e você ai na sua, quando eu atualizar uma informação aqui, terá que mandar ai na sua base.