¿Qué es Firestore?
Firestore es una base de datos en la nube NoSQL basada en documentos y colecciones que cuenta con las siguientes características:
- almacenamiento estructurado y flexible
- Capacidad de sincronización en tiempo real
- Seguridad de alto nivel con las reglas de seguridad de Firebase
- Escalabilidad automática
- Latencia muy baja a nivel global
- Capacidad para ejecutar consultas complejas
- Adecuado para proyectos de pequeña y gran envergadura.
Firestore en dos modos Modo nativo (específico de Firebase) y Modo de almacenamiento de datos (Proporcionado para los servicios de GCP Enterprise).
Estructura de datos en Firestore
Firestore utiliza una arquitectura sencilla pero potente:
Recopilación → Una colección de documentos
Documento → Una estructura similar a JSON
Subcolección → Colección dentro de cada documento
Campo → Campos de cada documento
Estructura de ejemplo:
usuarios (colección) └── userId123 (documento) ├── nombre: "Ali" ├── edad: 28 └── publicaciones (subcolección) └── postId981 (documento) ├── título: "Mi primera publicación" └── me gusta: 52
Ejemplos de código que utilizan la API de Firestore
1. Uso con JavaScript (Aplicación web / Node.js)
Instalación
Conectando con Firestore
Agregar documento
Documento de lectura
2. API REST de Firestore
Enviar una solicitud POST para crear un documento
Proyectos que se pueden construir con Firestore
1. Aplicaciones de chat y mensajería (Aplicación de chat en tiempo real)
Gracias a su capacidad de sincronización instantánea, Firestore es una de las mejores opciones para crear chats.
2. Sistemas de gestión de contenidos (blog, CMS)
Especialmente para equipos pequeños o startups que no quieren lidiar con servidores.
3. Aplicaciones móviles (iOS / Android / Flutter)
Debido a:
Baja latencia
Sincronización simultánea
Modo interno sin conexión
4. Paneles de control de gestión en tiempo real (Paneles de administración)
Tales como el panel de control de la tienda online, las estadísticas de usuarios y la gestión de pedidos.
5. Tienda online pequeña y mediana
Agregar productos, categorías, carritos de compra, pedidos, etc.
6. Aplicaciones de IoT
Almacenamiento rápido de datos de sensores.
Ejemplos de proyectos exitosos que utilizan Firestore
Alibaba Cloud Mobile – Uso de Firestore para la gestión de datos en tiempo real
Crucigrama del New York Times – Utilizar para multijugador en línea
Todoist – Sincronizar las tareas del usuario en varios dispositivos
Shazam – Gestionar algunos datos en la nube
Hotstar – Guardar datos de usuario y configuración de perfil
(Muchos servicios utilizan Firestore en segundo plano sin anunciarlo oficialmente)
Beneficios de Firestore
Escalabilidad automática
No es necesario administrar el servidor.
Alta velocidad de lectura
Dada la arquitectura Global Edge.
Seguridad con Reglas de seguridad de Firestore
Ejemplo de regla que establece que solo el propietario de la cuenta tiene permiso de lectura/escritura:
En dispositivos móviles y web.
Consultas poderosas
Filtrado, ordenación, consulta por rango, indexación.
Desafíos y limitaciones (que conviene conocer antes de usar)
❌ Sin uniones (es NoSQL)
❌ Las consultas complejas requieren índices.
❌ El coste se calcula en función del número de lecturas/escrituras/almacenamiento.
❌ No apto para conjuntos de datos muy grandes (TB o más)
❌ Las transacciones son limitadas.
Firestore frente a base de datos en tiempo real
| Característica | Firestore | Base de datos en tiempo real |
|---|---|---|
| Estructura de datos | basado en documentos | Árbol JSON |
| Consulta | Acérrimo | Muy limitado |
| Escalabilidad | Arriba | Medio |
| Precio | Común | Más económico |
| Usos | Aplicaciones modernas | Chat sencillo, IoT |
Firestore es una versión más reciente y optimizada de Realtime DB.
Mejores prácticas de Firestore para la producción profesional
1. Elija la estructura de datos correcta
Preferiblemente, no cree documentos grandes.
2. Utilice la subcolección para segmentar los datos.
Ejemplo: publicaciones → comentarios → me gusta
3. Consultas que consumen muchos recursos de caché
Para reducir el coste de la lectura.
4. Utilizar Cloud Functions para el procesamiento en segundo plano
Como por ejemplo, enviar notificaciones, crear índices y resumir datos.
5. Registro en Firestore
Para evitar costes innecesarios.
Ejemplo de un sistema de blog completo con Firestore
Estructura propuesta:
Ejemplo de cómo agregar una publicación:
Conclusión
Firestore es una potente base de datos en la nube en tiempo real, ideal para crear servicios rápidos, escalables y sin servidor.
Este servicio es adecuado para:
✅ Sitio web
✅ Aplicación móvil
✅ Sistema de gestión de contenidos
✅ Aplicaciones de chat
✅ Paneles de control en tiempo real
✅ Proyectos de IoT
✅ Tiendas online
Si estás creando un producto que requiere Sincronización instantánea, alta velocidad y coste asequible Sí, Firestore es una de las mejores opciones.









