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 en las 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, de manera que puedas compilar apps responsivas que funcionen sin importar la latencia de la red ni la conectividad a Internet. Firestore también ofrece integración continua en otros productos de Firebase y Google Cloud, incluido Cloud 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 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, no del conjunto de datos.
Diseñado para ajustarse a escala Firestore ofrece replicación de datos multirregional automática, consultas con coherencia sólida, operaciones atómicas por lotes y compatibilidad con transacciones.
Actualizaciones en tiempo real Firestore usa sincronización 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 la app de forma activa, de modo que la app pueda escribir, leer, escuchar y consultar datos, incluso si el dispositivo no tiene conexión. Cuando el dispositivo vuelve a estar en línea, Firestore sincroniza los cambios locales con Firestore.

¿Cómo funciona?

Firestore es una base de datos NoSQL alojada en la nube que está disponible en 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 mediante las bibliotecas cliente.

Según el modelo de datos NoSQL de Firestore, almacenas 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 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 los lenguajes del servidor. En Android, las plataformas de Apple y JavaScript, protege tus datos con Firebase Authentication y las reglas de seguridad de Firestore.

¿Qué sigue?