¿Es posible hacer una aplicación móvil con 2 bases de datos? Base de datos MySQL para almacenar toda la información y Firebase como back-end para la parte de chat de la aplicación.

El uso de una base de datos significa principalmente establecer una conexión y enviar solicitudes (SQL). El lado frontal normalmente no utiliza ninguna base de datos directamente, sino a través de scripts o puntos finales de Rest API y la conexión directa de la base de datos se realiza solo en el lado del servidor.

Nada habla en contra de tener conexiones a diferentes bases de datos, siempre que los módulos de su aplicación tengan todos los controladores ODBC necesarios o mientras la API o las API hagan uso de las dos bases de datos en el back-end. Un caso simple de esto son las aplicaciones que publican en Facebook y Twitter, simplemente usan ambas API del sistema y, por lo tanto, usan dos bases de datos diferentes, incluso dos servidores diferentes.

Para las aplicaciones web que utilizan la base de datos Web SQL, es la norma tener el almacenamiento local (generalmente SQLite) en la parte superior de la base de datos de back-end. Normalmente, el lado del cliente JS utiliza el motor local SQLite. Sin embargo, no puede significar eso, ya que solo se trata de almacenar localmente datos adicionales.

Para un módulo de fondo simplemente necesita dos conexiones diferentes, incluso podría usar la misma tecnología / idiomas para eso, siempre que el servidor tenga controladores para ambos.

Esto puede permitir reunir dos módulos utilizando una y otra base de datos sin migrar primero uno de los módulos. Tan pronto como los datos de la otra base de datos también sean importantes, almacenará los datos dos veces (usuarios para el chat y usuarios para el inicio de sesión principal y el perfil y cualquier información relacionada) y se arriesgará a que se separen o establezca la segunda conexión dentro del mismo módulo, pero necesitará unir datos después de consultar las dos bases de datos por separado.

MSSQL ofrece servidores vinculados, que ni siquiera necesitan ser servidores MSSQL. Eso permitiría unirse desde diferentes bases de datos, haciendo que su conexión única al servidor MSSQL que tiene el servidor o servidores vinculados, pero eso no hace que sea mucho más rápido que consultar cada uno, la tarea de unir datos no es tan optimizable como es con datos en una sola instancia e incluso en una sola base de datos en esa única instancia.

Esa puede ser la razón principal por la que no se hace. Tarde o temprano, necesitará unir los datos de ambas bases de datos y luego estar vinculado a una solución subóptima. Incluso los servidores vinculados generalmente solo se usan para uso paralelo durante las fases de migración como solución “temporal” (incluso si eso puede extenderse durante varios años). Por lo general, el servidor vinculado es una base de datos heredada y se sincroniza con una nueva base de datos MSSQL nativa.

Al final depende. Cuando vea el módulo de chat como un complemento sin importancia, no involucrado con muchos datos aparte de los usuarios, puede valer la pena mantener el tráfico hacia los datos principales y los datos de chat por separado, pero dentro de una única base de datos también hay formas de separar la carga , si eso es una preocupación.

¿Posible? Absolutamente.

Aconsejable? Probablemente no.

Mantener múltiples conexiones de base de datos para cada usuario conectado al sistema hace que las cosas sean más complejas desde una perspectiva operativa.

Es hora de repensar su diseño, en mi humilde opinión

Si quieres decir, en el backend, entonces definitivamente. Solo necesita escribir algún código para asignarlos entre ellos cuando sea necesario, como los inicios de sesión de los usuarios.

Si te refieres a ejecutar MySQL en el dispositivo móvil, entonces no. Es muy pesado

Um … no lo haría, así que si fuera tú, tendría sentido, pero al final podrías tener un sistema muy robusto y complicado al mismo tiempo. Creo que si usa mysql, quédese con mysql, si usa Firebase, quédese con firebase, para un fácil acceso … 🙂

He creado un sistema de mensajería (sistema de correo electrónico en realidad) usando los comandos Insertar y Eliminar en Mysql una vez, así que no veo preocupaciones al crear una aplicación de ese tipo, me refiero solo a una fácil comunicación con la base de datos.

¿No lo crees así?

More Interesting

¿Qué tecnologías se requieren para construir una aplicación móvil de navegación?

¿Cómo se hacen las aplicaciones que usan estadísticas de WhatsApp (WhatStat)?

¿Qué tipos de aplicaciones se incluyen en los servicios de desarrollo de aplicaciones de Android?

¿Es necesario tener una aplicación móvil cuando ya tienes un sitio web?

¿Cuál es la mejor herramienta de prueba de aplicaciones móviles (como TestFairy) para iPhone y Android?

¿Puedo hacer una buena aplicación de teléfono escalable con un marco que no requiera conocimiento de iOS / Android?

¿Cuáles son las ventajas de crear una aplicación nativa sobre el uso de React Native de Facebook?

¿Qué requisitos de SEO debo tener en cuenta al crear una aplicación móvil?

Cómo acercarse a los nuevos clientes del mercado de las redes sociales para generar buenos negocios para el desarrollo de aplicaciones

¿Cómo se asegura un inicio de arranque de un juego móvil para que su empresa obtenga ingresos predecibles?

¿Qué tan importante es el diseño y la usabilidad de una aplicación móvil? ¿Es mejor lanzar un MVP o esperar más para lanzarlo con un mejor diseño?

¿Puedes convertirte en millonario haciendo una aplicación gratuita?

¿Qué lenguajes de programación usan comúnmente los desarrolladores de aplicaciones móviles?

¿Puede (y debería) una persona saltar directamente a aprender a codificar en Swift (OS X) para convertir su idea en una aplicación real a pesar de que tiene un conocimiento casi nulo sobre programación y codificación?

Si un sitio web y una aplicación se necesitan por igual como un servicio, ¿cuál debería desarrollar primero y por qué?