Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Dengarkan perubahan basis data di MySQL

Yah, tidak sepenuhnya mustahil untuk memberi tahu klien tentang perubahan yang dilakukan pada database, meskipun tidak ada solusi bawaan untuk ini.

Di mysql Anda dapat membuat fungsi yang ditentukan pengguna (UDF) yang dikompilasi di C/C++. Ini dapat memperluas fungsionalitas mysql dengan cara apa pun yang Anda inginkan - seperti mengirim pesan melalui jaringan. Anda dapat membuat UDF Anda sendiri atau menggunakan pustaka yang tersedia di mysqludf.org untuk mengirim pesan melalui jaringan. Anda dapat mulai menggunakan pustaka STOMP di mysqludf.org untuk mengirim STOMP pesan. Karena STOMP adalah bahasa-agnostik, Anda dapat menggunakannya dari lingkungan .NET juga, lihat topik JADI ini (jika mencari di Internet untuk server .net STOMP, maka Anda akan menemukan lebih banyak contoh).

Aplikasi klien harus mengimplementasikan server STOMP yang dapat menerima pesan STOMP dari server.

Dalam database, Anda perlu membuat tabel langganan yang menyimpan informasi klien mana yang berlangganan untuk notifikasi apa dan bagaimana menghubungkannya (minimal alamat IP / nama host dan nomor port).

Anda juga perlu membuat pemicu pada semua tabel dan peristiwa yang ingin Anda kirimi notifikasi.

Saya juga akan membuat prosedur atau fungsi tersimpan yang menerima data yang dimodifikasi atau fakta bahwa tabel tertentu telah diubah dari pemicu, memeriksa tabel langganan, membuat pesan STOMP dan kemudian memanggil UDF yang dikompilasi yang mengirim pesan STOMP ke semua klien berlangganan. Pemicu akan memanggil prosedur atau fungsi tersimpan ini alih-alih menerapkan semua fungsi ini di setiap pemicu.

Klien perlu dimodifikasi untuk memproses notifikasi dan mengambil tindakan lebih lanjut atau meminta pengguna.

Penafian:Saya tidak mengklaim bahwa ini adalah solusi yang paling memadai dan terukur untuk kasus khusus Anda. Namun, dengan cara ini Anda dapat menerapkan sistem notifikasi sendiri untuk menghindari perlunya polling database Anda.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bantuan dengan kinerja:SUBQUERY vs JOIN

  2. Menyimpan variabel $date ke dalam database mysql menggunakan php

  3. jalankan cronjob tepat sekali

  4. Interval stempel waktu

  5. masalah dengan objek PDO