¿Se puede utilizar Firebase como base de datos sin conexión?

En un sentido general, la base de datos en tiempo real de Firebase puede ser utilizada mientras está desconectada. Sin embargo, la expectativa es que la aplicación se supone que está conectada la mayor parte del tiempo, y los cambios en la base de datos que ocurren mientras está fuera de línea se sincronizarán cuando tiene conectividad. El uso 100% offline no es realmente un caso de uso soportado, porque el almacén de datos canónico está en el servidor.

La copia local de la base de datos está limitada a (10MB, al menos en Android este es el caso). Si pretendes escribir en la base de datos más allá de este límite mientras estás desconectado, desalojará parte de tus datos en caché para hacer sitio a lo que estés añadiendo. Entonces, ya no podrás leer esos valores desalojados hasta que la aplicación vuelva a estar en línea. Peor aún, la gestión de una lista creciente de escrituras para aplicar cuando vuelva a estar en línea es una carga para la aplicación, por lo que no quieres planificar muchas escrituras mientras estás fuera de línea.

Además, si tienes permisos o validaciones definidos para tu base de datos, estos sólo se pueden comprobar en el servidor. Por lo tanto, si está escribiendo sin conexión a su caché local y ya no tiene un oyente activo, es posible que nunca sepa si esas escrituras fallan.

Debido a estas advertencias, es mejor no pensar en Firebase Realtime Database como una base de datos "sin conexión". Es mejor pensar en ella como una base de datos "sincronizada" que se sincroniza activamente con el servidor mientras la conectividad está presente.