” Base de datos en tiempo real ” es solo un término de marketing utilizado por Firebase.
Puede ser confuso, pero debe comprender que puede hacer lo que Firebase hace con casi cualquier base de datos o lenguaje de programación.
—En realidad es muy simple:
- ¿Qué trucos que pocas personas conocen me hacen un desarrollador elegante de Node.js?
- Cómo subir de nivel como desarrollador .Net full stack cuando mi posición actual es mantener una aplicación heredada .Net Win Form
- ¿Cómo obtener un trabajo de desarrollador de pila completa de nivel de entrada? ¿He aprendido muchas cosas como HTML, CSS, Javascript, React y un framework de pila completa Ruby on Rails? No uso ninguno de estos en mi trabajo actual. ¿Qué debo hacer para destacar?
- ¿Qué idioma es mejor para el desarrollo web ahora? Si puedo hacer HTML / CSS, ¿con qué puedo comenzar, JavaScript u otro?
- A la mitad de JavaScript, ¿debería pasar a Python o seguir con JavaScript?
Firebase solo usa una conexión WebSocket, como Socket.IO, por ejemplo, para conectar a los usuarios a un servidor.
Una vez que los usuarios están conectados, pueden publicar una carga de datos y suscribirse a una carga de datos. En el caso de Firebase, se suscriben a “Ref”.
Los datos publicados se validan mediante reglas del lado del servidor y luego se insertan en la base de datos. (MySQL, Mongo, Postgres, etc.)
Una vez que los datos han cambiado (insertar, eliminar, actualizar), se emite un evento al servidor y todos los que se hayan suscrito a esa carga recibirán las notificaciones.
Una vez que los usuarios reciben la notificación, actualiza el cliente correctamente, lo que depende del lenguaje de programación del cliente (Java, Swift, Javascript, etc.) y el tipo de mutación (nuevamente, inserte, elimine o actualice).
Obviamente estoy omitiendo toneladas de cosas aquí para ser conciso, pero esto te da una idea.
Además, si la idea es copiar Firebase, esta es otra historia.
Son miles de cosas en las que pensar para ser un Back end As A Service similar a Firebase a escala.