> Faqs > NodeJS notificacion de cambios en la base de datos

NodeJS notificacion de cambios en la base de datos

Como seria un Algoritmo para nodeJS, en el cual node me notifique cuando exista un cambio en la base de datos?

Esto usando cualquier base de datos que ustedes dominen, no hay relevancia por eso. Gracias

Respuestas

Realmente es difícil darte un algoritmo, porque depende mucho de las tecnologías implicadas. Comentas que lo necesitas en NodeJS pero todo dependería mucho de la base de datos que se use. Además, la notificación supongo quieres que te llegue a algún lugar ¿Quizás un cliente web? ¿Otro servidor? ¿Otra aplicación de NodeJS en el mismo servidor? Muchas dudas por despejar para dar una respuesta concreta.

Lo que sí te puedo decir es que tu pregunta me suena a base de datos en tiempo real. Son aquellas que te notifican de los cambios en los registros que se han consultado, de modo que el desarrollo de las aplicaciones en tiempo real se realiza de manera sencilla. Si quieres ser notificado de los cambios en la base de datos lo ideal es que uses alguna base de datos en tiempo real.

La más extendida en estos momentos la ofrece Firebase. Firebase en sí es una solución de muchos servicios que se ofrecen bajo el paragüas de la nube de Google, es decir, en Google Cloud. Firebase incluye entre otros muchos servicios una base de datos en tiempo real (realtime database), que notifica de los cambios en los datos y la puedes consultar y operar tanto desde web como desde aplicaciones iOS y Android. Además ofrece otro servicio que también es una base de datos en tiempo real pero más avanzada llamado Cloud Firestore.

Si quieres hacer por tu cuenta lo que hace Firebase en NodeJS no normal sería apoyarte en una librería como MeteorJS, que es justamente una plataforma donde puedes construir servicios web para trabajar con bases de datos que notifican de los cambios. Además como tecnologías deberías usar Socket.io para poder implementar de una manera cómoda sockets contra el servidor de Node, de manera que se usen esos sockets para notificar a los clientes de los cambios en la base de datos.

Como ves, son muchas piezas las que tienes que tocar para conseguir tus objetivos. Con Firebase lo tienes prácticamente solucionado. Solamente tendrías que crear una App de Firebase y comenzar a usar Cloud Firestore o la Realtime Database. Puedes aprender esto en el Manual de Firebase.

Miguel Angel
3145 140 209 17

Firebase sería una buena base de datos para el acceso a los datos en tiempo real (notificarte cuando cambian los datos)

Además existe una alternativa open source a Firebase que se llama Supabase. Por debajo funciona con un SGBD PostgreSQL. Tienes más información sobre esta tecnología en GitHub: https://github.com/supabase/supabase

Santiago
561 18 44 21