← Back to team overview

maria-discuss team mailing list archive

Re: Table Change notification to all Clients?


SARTrack Admin <info@xxxxxxxxxxxxxx> writes:
> I develop a Windows application for Search and Rescue (using Delphi and 
> MyDAC components), which gets a stream of "APRS" data packets, up to 10 
> per second.
> These are saved in the SQL database, but all Clients which are connected 
> to the database MUST be notified when a Table change has occured, so 
> that they then can update their internal tables. Which in turn update 
> their Maps (GPS location of moving items) and other data, which MUST be 
> up-to-date.
> Currently I am having all Clients polling the database every 5 seconds, 
> which really sucks, and causes all kinds of other problems.
> Is there any chance that MariaDB will have some kind of Client 
> Notification system when a Table has changed, as some other SQL 
> databases seem to have?

While I can't speak for the MariaDB team, in Drizzle we're in the
process of merging event_notify functions that let you do exactly what
you describe, it uses the same hooks as our replication, so it's based
on a solid foundation.

Basically, you go SELECT WAIT_FOR(table, event, timeout, eventnr) and
it'll block for up to timeout waiting for events.

One way you could do it with MySQL/MariaDB is using the binlog api to
monitor what's going on - although this is a *lot* more involved.

Stewart Smith

Attachment: pgpn37vXJRX52.pgp
Description: PGP signature