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 em todos os apps cliente usando listeners em tempo real e oferece suporte off-line para dispositivos móveis e Web para que você possa criar apps responsivos que funcionem independentemente da latência da rede ou da conectividade com a Internet. 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 flexíveis e hierárquicas. 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, você pode usar consultas para recuperar documentos individuais e específicos ou recuperar todos os documentos em uma coleção que correspondam aos parâmetros da 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 que seu app está usando ativamente. Dessa forma, o app pode gravar, ler, detectar 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 disponível em bibliotecas de cliente Node.js, Java, Python, Unity, C++ e Go, além de APIs REST e 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 campos que mapeiam 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 estrutura de dados que funcione melhor para 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 seus dados no Firestore com Identity and Access Management (IAM) para linguagens do lado do servidor. Para Android, plataformas Apple e JavaScript, proteja seus dados com o Firebase Authentication e as regras de segurança do Firestore.

A seguir