Descripción general de Firestore

Firestore es una base de datos flexible y escalable para el desarrollo en servidores, dispositivos móviles y la Web desde Firebase y Google Cloud. Firestore mantiene tus datos sincronizados entre apps cliente a través de objetos de escucha en tiempo real y ofrece soporte sin conexión para dispositivos móviles y la Web, por lo que puedes compilar apps con capacidad de respuesta que funcionan sin importar la latencia de la red ni la conectividad a Internet. Firestore también se integra sin interrupciones en otros servicios de Firebase y productos de Google Cloud, como Cloud Run Functions.

Funciones clave

Flexibilidad El modelo de datos de Firestore admite estructuras de datos flexibles y jerárquicas. Almacena tus datos en documentos, organizados en colecciones. Los documentos pueden contener objetos anidados complejos, además de subcolecciones.
Consultas expresivas En Firestore, puedes usar consultas para recuperar documentos individuales específicos o para recuperar todos los documentos de una colección coinciden con los parámetros de consulta. Tus consultas pueden incluir varios filtros en cadena y combinar los filtros con criterios de orden. También se indexan de forma predeterminada, por lo que el rendimiento de las consultas es proporcional al tamaño de tu conjunto de resultados, no del conjunto de datos.
Diseñado para ajustarse a escala Firestore te ofrece replicación automática de datos multirregión, consultas con coherencia sólida, operaciones atómicas por lotes y asistencia para transacciones.
Actualizaciones en tiempo real Firestore usa la sincronización de datos para actualizar los datos de cualquier dispositivo conectado. Sin embargo, también está diseñado para ejecutar consultas de recuperación únicas y sencillas de manera eficiente.
Asistencia sin conexión Firestore almacena en caché los datos que usa tu app de forma activa, por lo que esta puede escribir, leer, escuchar y consultar datos, incluso si el dispositivo no tiene conexión. Cuando cuando un dispositivo vuelve a estar en línea, Firestore sincroniza los cambios locales a Firestore.

¿Cómo funciona?

Firestore es una base de datos NoSQL alojada en la nube disponible en las bibliotecas cliente de Node.js, Java, Python, Unity, C++ y Go, además de las APIs de REST y RPC. Las apps web, para Apple y Android también pueden acceder a la base de datos directamente con las bibliotecas cliente.

A partir del modelo de datos NoSQL de Firestore, almacenas los datos en documentos que contienen campos que se asignan a valores. Estos documentos se almacenan en colecciones, que son contenedores para tus documentos y que puedes usar para organizar tus datos y compilar consultas. Los documentos admiten varios tipos de datos diferentes, desde strings y números simples, hasta objetos anidados complejos. También puedes crear subcolecciones dentro de documentos y crear estructuras de datos jerárquicas que se ajustan a escala a medida que tu base de datos crece. El modelo de datos de Firestore admite cualquier estructura de datos que funcione mejor con tu app.

Además, las consultas en Firestore son expresivas, eficientes y flexibles. Crea consultas superficiales para recuperar datos en el nivel del documento, sin la necesidad de recuperar la colección completa ni las subcolecciones anidadas. Agrega criterios de orden, filtros y límites a tus consultas o cursores para paginar los resultados. Para mantener actualizados los datos de tus apps sin tener que recuperar toda la base de datos cada vez que haya una actualización, agrega agentes de escucha en tiempo real. Estos te notifican con una instantánea de los datos cada vez que los datos de tus apps cliente escuchan para detectar cambios y recuperan solo los cambios nuevos.

Protege el acceso a tus datos en Firestore con la administración de identidades y accesos (IAM) para los lenguajes del servidor. En el caso de Android, las plataformas de Apple y JavaScript, protege tus datos con Firebase Authentication y las reglas de seguridad de Firestore.

¿Qué sigue?