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 aplicativos clientes por meio de listeners 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 conectividade com a Internet. O Firestore também oferece integração perfeita com outros produtos do Firebase e do Google Cloud, incluindo o Cloud Functions.

Principais recursos

Flexibilidade O modelo de dados do Firestore é compatível com 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 individuais e específicos ou para 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. Elas também são indexadas por padrão. Portanto, o desempenho da consulta é proporcional ao tamanho do conjunto de resultados, e não do 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 a transações.
Atualizações em tempo real O Firestore usa sincronização para atualizar dados em 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. Dessa forma, o app pode gravar, ler, detectar e consultar dados, mesmo que o dispositivo esteja off-line. Quando o dispositivo fica on-line novamente, o Firestore sincroniza todas as alterações locais de volta com 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. Os apps Apple, Android e da Web também podem acessar o banco de dados diretamente usando 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 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 idiomas do lado do servidor. Para Android, plataformas da Apple e JavaScript protegem seus dados com regras de segurança do Firebase Authentication e do Firestore.

A seguir