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 los datos sincronizados en las apps cliente mediante en tiempo real y ofrece soporte sin conexión para dispositivos móviles y la Web, de modo que puedas compilar apps responsivas que funcionen independientemente de la latencia de la red o de la conexión a Internet conectividad. Firestore también ofrece una integración continua con otros productos de Firebase y Google Cloud, incluidas las funciones de Cloud Run.

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 datos documentos específicos o para recuperar todos los documentos de una colección que coincidan con tus 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 del conjunto de resultados, tu conjunto de datos.
Diseñado para ajustarse a escala Firestore ofrece replicación automática de datos multirregionales consultas con coherencia sólida, operaciones atómicas por lotes y transacciones y asistencia.
Actualizaciones en tiempo real Firestore usa la sincronización de datos para actualizar los datos en en 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 para que pueda escribir, leer, escuchar y consultar datos, incluso si el dispositivo está sin 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 asignaciones de campos 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 lo que sea la estructura de los datos sea mejor para 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 Identity and Access Management (IAM) para lenguajes del servidor Para Las plataformas de Android, Apple y JavaScript protegen tus datos con Firebase Authentication y las reglas de seguridad de Firestore

¿Qué sigue?