No final do ano passado o Google lançou ainda em versão beta o Cloud Firestore, um novo banco de dados em nuvem baseado no seu já conhecido serviço Firebase Realtime Database.
Para quem ainda não conhece o Firebase Realtime Database, ele é um banco de dados NoSQL que sincroniza dados JSON em tempo real entre todos seus usuários, seja numa aplicação para Android, iOS ou Web. Em questões de segundos todos os dados são sincronizados sem a necessidade de se criar manualmente WebServices para realizar as comunicações.
Apesar do Firebase Realtime Database realizar toda essa “magia”, ele possui alguns pontos fracos que o Google está resolvendo com o Firestore.
Principais diferenças
- Quem já usou o Realtime Database sabe que é um pouco complicado realizar consultas muito refinadas, pois as queries limitam o uso de apenas uma condição de filtro. Já no Firestore é possível construir queries com mais de uma condição. Isso é possível pois o Firestone armazena os dados divididos em Documento e Coleções, enquanto que o Realtime Database armazena os dados numa grande estrutura de árvore JSON.
- Ao carregar informações de um nó no Realtime Database, todos os dados dos sub-nós são carregados. Já o Firestore ignora as Sub-Coleções e carrega apenas os dados do Documento, o que notoriamente trás uma melhor performace.
- O Realtime Database possui algumas limitações de quantidade de conexões simultâneas e tamanho de gravações por segundo, para resolver isso o próprio Google sugere a criação de vários bancos de dados. Já o Firestore promete que será escalável após a versão Beta.
- A forma de cobrança mudou um pouco entre os dois produtos, mas ambos cobram conforme o uso e podem ser utilizados gratuitamente dentro de alguns limites.
O Firebase Realtime Database com certeza é um banco de dados muito versátil, principalmente para uso em soluções móveis, tanto pela sua sincronização automática como por ser multiplataforma. O Cloud Firestone além de herdar todas essas grandes funcionalidades ainda traz ótimas melhorias que com certeza facilita a vida dos desenvolvedores. Fica agora a expectativa do lançamento da versão oficial.
Fontes
https://firebase.google.com/docs/database/
https://firebase.google.com/docs/firestore