¿Qué sistema de base de datos debo usar para múltiples idiomas de back-end?

Sí, hay una manera. Explicado aquí sin detalles.

Utiliza SQL y Firebase. Mantenlo simple. Para fines de depuración y necesidades de escalado. No veo la necesidad real, para el uso de MongoDB, excepto si la aplicación de escritorio ya está implementada. (es decir: ¿Por qué no Couchbase en su lugar? )

Dispositivos móviles y de escritorio: Firebase, y tenemos que sincronizarnos con el SQL.

Cuestiones:

  • En Firebase no juegas con JOINTS .

Resuelve:

  • pero se puede acceder a los datos mediante una URL. es decir:

nueva Firebase (‘https://your-app.firebase.io/data-you-get’)

posibles métodos:

  • obtener un token usando la autenticación nativa
  • obtener la biblioteca de cliente de Firebase Rules API para .NET
  • Retírese y extraiga los datos usando OPENJSON

No existe una manera simple de vincular bases de datos dispares sin considerar los requisitos arquitectónicos específicos de su aplicación. Ni siquiera hay una manera simple de vincular múltiples instancias de la misma base de datos sin tener en cuenta los detalles de su proyecto.

Un buen patrón para comenzar sería que cada sistema comparta la misma base de datos lógica alojada en línea. Luego, si necesita la funcionalidad de la base de datos fuera de línea en el escritorio o dispositivo móvil, trate esas bases de datos como un caché local que debe sincronizarse con su base de datos central. Nada de esto es trivial, ya que la sincronización de bases de datos es más fácil de decir que implementar, pero es un modelo bastante sencillo.

Ciertamente, puede administrar múltiples bases de datos para una sola aplicación, y lidiar con procesos ETL complicados también, pero es demasiado difícil dar muchos consejos sin conocer su proyecto con mucho más detalle.

¿Por qué querrías vincular tres bases de datos dispares? A menos que tenga una buena razón, sería mucho mejor usar la misma base de datos para todo. Firebase es una buena opción.

Lo que desea hacer es crear una API REST que se comunique con la base de datos y luego usar esa API para web, móvil y cualquier otra cosa que necesite comunicarse con ella. De esa manera, puede escalarlo mucho más fácilmente y no necesita preocuparse por la sincronización.