Firestore vs Realtime Database: por qué migrar
Clase 14 de 32 • Curso de Firebase 5 para Web
Contenido del curso
Consola Web de Administración
Autenticación de Usuarios
- 6

Servicios de autenticación de Firebase
06:30 min - 7

Crear usuarios con Firebase Authentication
13:12 min - 8

Autenticación de Usuarios con Firebase: Registro y Verificación de Email
15:02 min - 9

Autenticación con Google usando Firebase en aplicaciones web
06:22 min - 10

Login con Facebook en Firebase
09:47 min - 11

Gestión de Autenticación de Usuarios con Firebase
11:42 min - 12

Gestión de usuarios en consola Firebase
05:05 min - 13

Importar y exportar usuarios de Firebase
04:17 min
Gestión de la Base de Datos
- 14

Firestore vs Realtime Database: por qué migrar
Viendo ahora - 15
Comparación entre Realtime Database y Firestore de Firebase
02:11 min - 16

Habilitar Firestore en Firebase Console
09:53 min - 17

Cómo insertar datos en Firestore con validación
10:53 min - 18

Consultas en Tiempo Real con Firestore para Aplicaciones Web
15:01 min - 19

Operaciones avanzadas de Firestore
13:12 min - 20

Reglas de seguridad básicas en Firestore
08:07 min - 21

Creación y gestión de índices en Firestore para optimizar consultas
07:13 min
Almacenamiento de archivos
Hosting
Notificaciones Push
Conclusiones
Firestore concentra lo esencial para construir apps con datos persistentes de forma rápida y segura. Ofrece modelo NoSQL basado en documentos, consultas compuestas, operaciones por lotes y sincronización offline en móvil y web, con baja latencia gracias a su infraestructura en Google Cloud. Frente a Realtime Database, resuelve limitaciones del SDK/API en batch y consultas complejas, y mejora la expresividad al consultar y escribir datos.
¿Qué es Firestore y por qué elegirlo?
Firestore es una base de datos NoSQL que no usa tablas ni filas. La información se organiza en colecciones y documentos, con campos en formato similar a JSON, pero con tipos de datos adicionales. Es flexible: cada documento puede tener atributos distintos sin esquemas rígidos.
- Escalabilidad y baja latencia: datos replicados en regiones para responder más cerca del usuario.
- Soporte multiplataforma: Android, iOS, web y back end con Node.js, Go, Python y otros frameworks.
- Modo offline: persistencia local y sincronización automática al recuperar conexión, también en web guardando en el caché del browser.
- Integración: interoperabilidad con servicios de Firebase y Google Cloud.
- Operaciones por lotes: múltiples insert, update y delete en una sola unidad de trabajo.
- Consultas expresivas: filtros y combinaciones que antes eran difíciles en Realtime Database.
¿Cómo mejora el performance e integridad de datos?
El diseño y las herramientas de Firestore priorizan rendimiento e integridad.
- Menor latencia por distribución regional de datos.
- Batch para reducir viajes de red y agrupar operaciones.
- Transacciones con rollback si una operación falla: consistencia sin datos a medio escribir.
- SDKs modernos con consultas compuestas y lectura/escritura más claras.
¿Cómo se estructura la información en Firestore?
La unidad principal es la colección, que contiene documentos. Cada documento almacena campos en pares llave–valor. Un documento puede tener subcolecciones para relacionar datos. Por ejemplo: una colección de preguntas puede tener, por cada pregunta, una subcolección de respuestas. Se puede anidar hasta cien niveles, aunque no es recomendable abusar.
- Recomendación práctica: evita anidamientos profundos. Mejor mantener todo al primer nivel o como máximo 4–5 niveles cuando sea inevitable.
- Diseño más claro que un árbol JSON plano: colecciones y documentos facilitan modelar el dominio.
- Campos heterogéneos: no todos los documentos requieren los mismos atributos.
¿Qué tipos de datos admite un documento?
Firestore soporta más que JSON, lo que enriquece el modelado.
- Arreglo.
- Boolean.
- Bytes.
- Timestamp (fecha y tiempo).
- Números flotantes e enteros.
- Puntos geográficos.
- Map para objetos embebidos, incluso anidados.
- Null.
- Referencia a otro documento o colección.
- Campos de stream.
¿Cómo organizar colecciones y subcolecciones?
Un diseño claro facilita consultas eficientes y mantenimiento sencillo.
- Colecciones como contenedores de documentos relacionados.
- Documentos con llaves y valores bien definidos.
- Subcolecciones para relaciones directas: por ejemplo, respuestas dentro de una pregunta.
- Preferir colecciones de primer nivel cuando el vínculo no requiera anidamiento fuerte.
¿Te gustaría ver ejemplos de modelado o resolver un caso específico de tu app con colecciones y subcolecciones? Cuéntame en comentarios qué entidad estás diseñando y qué consultas necesitas hacer.