sql >> Databáze >  >> RDS >> Mysql

Poslechněte si změny databáze v MySQL

No, není úplně nemožné upozorňovat klienty na změny provedené v databázi, i když pro to neexistuje žádné vestavěné řešení.

V mysql můžete vytvářet zkompilované uživatelsky definované funkce (UDF) v C/C++. Ty mohou rozšířit funkcionalitu mysql v podstatě libovolným způsobem - například posílání zpráv přes síť. Můžete si vytvořit vlastní UDF nebo použít knihovny dostupné na mysqludf.org k odesílání zpráv přes síť. Můžete začít s použitím knihovny STOMP na mysqludf.org k odeslání STOMP zprávy. Protože STOMP je jazykově agnostický, můžete jej používat i z prostředí .NET, viz toto téma SO (pokud na internetu vyhledáte server .net STOMP, najdete další příklady).

Klientská aplikace musí implementovat server STOMP, který je schopen přijímat zprávy STOMP ze serveru.

V databázi musíte vytvořit tabulku předplatného, ​​která obsahuje informace o tom, který klient odebírá jaká upozornění a jak se k nim připojit (minimálně IP adresa / název hostitele a číslo portu).

Musíte také vytvořit spouštěče na všech tabulkách a událostech, o kterých chcete zasílat upozornění.

Vytvořil bych také uloženou proceduru nebo funkci, která obdrží upravená data nebo skutečnost, že určitá tabulka byla změněna ze spouštěčů, zkontroluje tabulku předplatného, ​​vytvoří zprávu STOMP a poté zavolá zkompilovaný UDF, který odešle zprávu STOMP všem upisovaných klientů. Spouštěče by zavolaly tuto uloženou proceduru nebo funkci namísto implementace všech těchto funkcí v každém ze spouštěčů.

Klienti musí být upraveni, aby mohli zpracovat oznámení a provést další akci nebo vyzvat uživatele.

Prohlášení:Netvrdím, že se jedná o nejvhodnější a škálovatelné řešení pro váš konkrétní případ. Tímto způsobem však můžete implementovat systém upozornění sami, aniž byste se museli dotazovat na vaši databázi.




  1. Podmínky MySQL z více řádků

  2. MySQL:Máte chybu v syntaxi SQL... poblíž 'desc) VALUES ('Idea', 'Description')'

  3. Kód entitního rámce je pomalý při použití Include() mnohokrát

  4. Co jsou data a informace a objemy dat