firestore - realtime database firebase javascript
¿Cuál es la diferencia entre Cloud Firestore y Firebase Realtime Database? (3)
Razones para elegir Cloud Firestore sobre Realtime Database
Es una versión mejorada
La base de datos de Firebase fue suficiente para aplicaciones básicas. Pero no era lo suficientemente potente como para manejar requisitos complejos. Es por eso que se presenta Cloud Firestore. Aquí hay algunos cambios importantes.
- Se mejora la estructura básica del archivo.
- Soporte fuera de línea para el cliente web.
- Admite consultas más avanzadas.
- Las operaciones de escritura y transacción son atómicas.
- Fiabilidad y mejoras de rendimiento.
- El escalado será automático.
- Estará más seguro.
Precios
En Cloud Firestore, las tarifas han bajado aunque cobra principalmente por las operaciones realizadas en su base de datos junto con el ancho de banda y el almacenamiento. También puede establecer un límite de gasto diario. Here están los detalles completos sobre la facturación.
Planes futuros de Google
Cuando descubrieron los defectos con la base de datos en tiempo real, crearon otro producto en lugar de mejorar el anterior. Aunque no hay detalles confiables que revelen su clasificación actual en la base de datos en tiempo real, es el momento de comenzar a pensar que es probable que sea abandonado.
Nota: Mientras tanto, también tenga en cuenta que Cloud Firestore está actualmente en versión beta.
Google acaba de lanzar Cloud Firestore, su nueva base de datos de documentos para aplicaciones.
He estado leyendo la documentación pero no veo muchas diferencias entre Firestore y Firebase DB.
El punto principal es que Firestore utiliza documentos y colecciones que permiten el uso fácil de las consultas en comparación con Firebase, que es una base de datos noSQL tradicional con una base JSON.
Me gustaría saber un poco más sobre sus diferencias o usos, o si Firestore acaba de reemplazar Firebase DB.
Así que escribí una publicación de blog completa sobre esta misma pregunta, y le recomiendo que la revise (o la documentación oficial ) para obtener una respuesta más completa.
Pero si quieres el resumen rápido (-ish), aquí está:
Mejor consulta y datos más estructurados : si bien la base de datos en tiempo real es solo un árbol JSON gigante, Cloud Firestore es un poco más estructurado. Todos sus datos consisten en documentos (que son básicamente almacenes de valores clave) y colecciones (que son colecciones de documentos). Los documentos también apuntarán frecuentemente a subcolecciones, que contienen otros documentos, que pueden contener otros documentos, etc.
Estos datos estructurados lo ayudan de dos maneras. Primero, todas las consultas son superficiales , lo que significa que puede solicitar un documento sin obtener todos los datos debajo. Esto significa que puede mantener sus datos almacenados jerárquicamente de una manera que tenga más sentido para usted sin tener que preocuparse por mantener su base de datos superficial. Segundo, tienes consultas más poderosas. Por ejemplo, ahora puede realizar consultas en varios campos sin tener que crear esos campos "combinados" que combinan (y desnormalizan) datos de otras partes de su base de datos. En algunos casos, Cloud Firestore solo ejecutará esas consultas directamente, y en otros casos, automáticamente creará y mantendrá índices para usted.
Diseñado para escalar: Cloud Firestore podrá escalar mejor que la base de datos en tiempo real. Es importante tener en cuenta que sus consultas se ajustan al tamaño de su conjunto de resultados, no a su conjunto de datos. Por lo tanto, la búsqueda seguirá siendo rápida, independientemente del tamaño de su conjunto de datos.
Recuperación manual de datos más fácil : al igual que la base de datos en tiempo real, puede configurar escuchas en Cloud Firestore para transmitir los cambios en tiempo real. Pero si no desea ese tipo de comportamiento, y solo desea una simple llamada "recuperar mis datos", Cloud Firestore también lo tiene, y está integrado como un caso de uso principal. (Son mucho mejores que las llamadas únicas en Realtime Database-land)
Soporte para múltiples regiones : esto básicamente significa más confiabilidad, ya que sus datos se comparten en múltiples centros de datos a la vez. Pero aún tiene una fuerte consistencia, lo que significa que siempre puede hacer una consulta y estar seguro de que está obteniendo la última versión de sus datos.
Modelo de precios diferente : mientras que la base de datos en tiempo real cobra principalmente según el almacenamiento o el ancho de banda de la red, Cloud Firestore cobra principalmente según la cantidad de operaciones que realice. ¿Será esto mejor o peor? Depende de tu aplicación.
Para impulsar una aplicación de noticias, un juego multijugador por turnos o algo así como su propia versión de , Cloud Firestore probablemente se verá bastante favorable desde el punto de vista de los precios. Para algo así como una aplicación de dibujo grupal en tiempo real donde se envían múltiples actualizaciones por segundo a varias personas, probablemente será más costoso que la Base de datos en tiempo real.
Por qué es posible que desee utilizar la base de datos en tiempo real : se debe a algunas razones. 1) Todo eso "probablemente será más barato para las aplicaciones que hacen muchas actualizaciones frecuentes" que mencioné anteriormente, 2) Ha existido durante mucho tiempo y ha sido probado en batalla por miles de aplicaciones (Cloud Firestore todavía está en beta ), 3) Tiene mejor latencia y cuando necesita algo con una latencia baja confiable para una sensación en tiempo real, la base de datos en tiempo real podría funcionar mejor.
Para la mayoría de las aplicaciones nuevas, le recomendamos que consulte Cloud Firestore. Pero si tiene una aplicación que ya está en la base de datos en tiempo real, realmente no recomiendo cambiar solo por cambiar, a menos que tenga una razón convincente para hacerlo.
¡Espero que ayude!
Puede leer el artículo completo aquí: https://medium.com/@beingrahul/firebase-cloud-firestore-v-s-firebase-realtime-database-931d4265d4b0
Firebase Realtime database
que se construye como un árbol JSON pero
Cloud Firestore
es información almacenada en documentos (que es un conjunto de pares clave-valor) y formatos de colección (que es una colección de documentos).
Más datos de estructura
La base de datos en tiempo real almacenó datos en el árbol JSON pero Cloud firestore almacenó datos en documentos que es muy similar a JSON.
En Cloud FireStore, los documentos pueden contener subcolecciones y objetos anidados (como ''teléfono'' en la figura anterior), los cuales pueden incluir campos primitivos como cadenas (como ''nombre'', ''correo electrónico'' y etc. en la figura anterior) u objetos complejos como liza.
Mejor consulta
- En la base de datos en tiempo real, solo podemos ordenar o filtrar una propiedad en una sola consulta, no tanto ordenar como filtrar en una propiedad, mientras que en Cloud FireStore, puede encadenar filtros y combinar el filtrado y la ordenación de una propiedad en una sola consulta.
- Si desea obtener datos en orden descendente, Cloud fireStore es muy útil para usted, pero para la base de datos en tiempo real, no hay una función de consulta disponible.
- También puede encadenar múltiples métodos "dónde" para crear consultas más específicas (AND lógico) en Cloud FireStore.
Escalabilidad
Cloud Firestore podrá escalar mejor que la base de datos en tiempo real. Es importante tener en cuenta que el rendimiento de su consulta es proporcional al tamaño de su conjunto de resultados, no a su conjunto de datos. Por lo tanto, la búsqueda seguirá siendo rápida, independientemente del tamaño de su conjunto de datos.
Recuperación manual de datos
Podemos escuchar datos en tiempo real en Cloud FireStore como en la base de datos en tiempo real, pero en Cloud FireStore, también podemos obtener datos manualmente (si desea obtener datos solo una vez).
Seguridad
En la base de datos en tiempo real, necesitamos validar los datos por separado utilizando la regla de validación, pero en Cloud FireStore, la validación de datos se realiza automáticamente.
Escribiendo los datos
Podemos ejecutar múltiples operaciones como un solo lote y completarlas atómicamente, con cualquier combinación de los métodos
set()
,
update()
o
delete()
.
Precios
En la base de datos en tiempo real, se cobra solo por el ancho de banda y el almacenamiento, pero a una tasa más alta. Mientras se encuentre en Cloud FireStore, se cobra principalmente por las operaciones realizadas en su base de datos (lectura, escritura, eliminación) y, a menor velocidad, ancho de banda y almacenamiento.