Visão geral do Firestore

O Firestore é um banco de dados flexível e escalonável para desenvolvimento focado em dispositivos móveis, Web e servidores pelo Firebase e o Google Cloud. O Firestore mantém seus dados sincronizados nos apps clientes usando ouvintes em tempo real e oferece suporte off-line para dispositivos móveis e Web para que você possa criar aplicativos responsivos que funcionem independentemente da latência da rede ou da Internet conectividade. O Firestore também oferece integração total com outros recursos do e produtos do Google Cloud, incluindo as funções do Cloud Run.

Principais recursos

Flexibilidade O modelo de dados do Firestore oferece suporte a estruturas de dados hierárquicas e flexíveis. Armazene seus dados em documentos, organizados em coleções. Os documentos podem conter objetos aninhados complexos, além de subcoleções.
Consultas expressivas No Firestore, é possível usar consultas para recuperar documentos específicos ou para recuperar todos os documentos de uma coleção que que correspondam aos seus parâmetros de consulta. Suas consultas podem incluir vários filtros em cadeia e combinar filtragem e classificação. Eles também são indexados por padrão, portanto, o desempenho da consulta é proporcional ao tamanho do conjunto de resultados, não conjunto de dados.
Projetado para escala O Firestore oferece replicação automática de dados em várias regiões, consultas com consistência forte, operações atômicas em lote e suporte.
Atualizações em tempo real O Firestore usa sincronização para atualizar dados no qualquer dispositivo conectado. No entanto, ele também é projetado para fazer consultas de busca simples e únicas de maneira eficiente.
Suporte off-line O Firestore armazena em cache os dados ativamente usados pelo app para que ele possa gravar, ler, ouvir e consultar dados, mesmo que o dispositivo esteja off-line. Quando o dispositivo estiver on-line novamente, o Firestore sincronizará as alterações locais para o Firestore.

Como funciona?

O Firestore é um banco de dados NoSQL hospedado na nuvem em bibliotecas de cliente Node.js, Java, Python, Unity, C++ e Go, além de REST e APIs RPC. Apps da Web, da Apple e do Android também podem acessar o banco de dados usando diretamente as bibliotecas de cliente.

Seguindo o modelo de dados NoSQL do Firestore, você armazena dados em documentos que contêm mapeamentos de campos para valores. Esses documentos são armazenados em coleções, que são contêineres de documentos que você pode usar para organizar dados e criar consultas. Os documentos suportam muitos tipos de dados diferentes, desde strings e números simples a objetos complexos e aninhados. Também é possível criar subcoleções dentro dos documentos e criar estruturas de dados hierárquicas que podem ser escalonadas à medida que o banco de dados cresce. O modelo de dados do Firestore é compatível com qualquer a estrutura de dados do seu app.

Além disso, as consultas no Firestore são expressivas, eficientes e flexíveis. Crie consultas superficiais para recuperar dados no nível do documento sem precisar recuperar a coleção inteira ou qualquer subcoleção aninhada. Adicione classificação, filtragem e limites às consultas ou cursores para paginar os resultados. Para manter os dados atualizados nos aplicativos sem recuperar todo o banco de dados sempre que ocorrer uma atualização, adicione listeners em tempo real. Com eles, você é notificado com um snapshot de dados em seu app sempre que houver mudanças nos dados que seus apps cliente estão detectando, recuperando somente as novas alterações.

Proteja o acesso aos dados no Firestore com gerenciamento de identidade e acesso (IAM) para linguagens do lado do servidor. Para Android, plataformas da Apple e JavaScript protegem seus dados com o Regras de segurança do Firebase Authentication e do Firestore.

A seguir