Firebase ofrece dos bases de datos de documentos accesibles para el cliente y basadas en la nube. Recomendamos a los nuevos clientes que comiencen con Cloud Firestore:
Cloud Firestore es la base de datos de documentos compatible con JSON de nivel empresarial recomendada , en la que confían más de 250 000 desarrolladores. Es adecuado para aplicaciones con modelos de datos enriquecidos que requieren consultabilidad, escalabilidad y alta disponibilidad. También ofrece sincronización de clientes de baja latencia y acceso a datos sin conexión.
Realtime Database es la base de datos clásica de Firebase JSON. Es adecuado para aplicaciones con modelos de datos simples que requieren búsquedas simples y sincronización de baja latencia con escalabilidad limitada.
¿Cuáles son algunas otras cosas importantes a considerar?
Después de pensar en las consideraciones clave anteriores, es posible que esté listo para elegir una base de datos . Si todavía estás sopesando las ventajas y desventajas, esta sección cubre otras diferencias entre Cloud Firestore y Realtime Database.
Modelo de datos
Tanto Realtime Database como Cloud Firestore son bases de datos NoSQL.
Preferiblemente Cloud Firestore | Base de datos en tiempo real |
---|---|
Almacena datos como colecciones de documentos.
Obtenga más información sobre el modelo de datos de Cloud Firestore . | Almacena datos como un gran árbol JSON.
Obtenga más información sobre el modelo de datos de Realtime Database . |
Soporte en tiempo real y fuera de línea
Ambos tienen SDK en tiempo real para dispositivos móviles y ambos admiten almacenamiento de datos local para aplicaciones listas para usar sin conexión.
Preferiblemente Cloud Firestore | Base de datos en tiempo real |
---|---|
Soporte sin conexión para Apple, Android y clientes web. | Soporte sin conexión para clientes Apple y Android. |
Presencia
Puede resultar útil saber cuándo un cliente está en línea o fuera de línea. Firebase Realtime Database puede registrar el estado de la conexión del cliente y proporcionar actualizaciones cada vez que cambia el estado de la conexión del cliente.
Preferiblemente Cloud Firestore | Base de datos en tiempo real |
---|---|
No es compatible de forma nativa. Puede aprovechar el soporte de presencia de Realtime Database sincronizando Cloud Firestore y Realtime Database mediante Cloud Functions. Consulte Crear presencia en Cloud Firestore . | Presencia apoyada. |
Consultando
Recupere, ordene y filtre datos de cualquier base de datos mediante consultas.
Preferiblemente Cloud Firestore | Base de datos en tiempo real |
---|---|
Consultas indexadas con clasificación y filtrado compuestos.
| Consultas profundas con funciones limitadas de clasificación y filtrado .
|
Escrituras y transacciones
Preferiblemente Cloud Firestore | Base de datos en tiempo real |
---|---|
Operaciones avanzadas de escritura y transacción.
| Operaciones básicas de escritura y transacción.
|
Fiabilidad y rendimiento
Preferiblemente Cloud Firestore | Base de datos en tiempo real |
---|---|
Cloud Firestore es una solución regional y multirregional que escala automáticamente.
| Realtime Database es una solución regional.
|
tiempo de actividad
Preferiblemente Cloud Firestore | Base de datos en tiempo real |
---|---|
Rendimiento de tiempo de actividad extremadamente alto.
| Alto rendimiento de tiempo de actividad.
|
Escalabilidad
Preferiblemente Cloud Firestore | Base de datos en tiempo real |
---|---|
El escalado es automático.
| El escalado requiere fragmentación.
|
Seguridad
Preferiblemente Cloud Firestore | Base de datos en tiempo real |
---|---|
Reglas sin cascada que combinan autorización y validación.
| Lenguaje de reglas en cascada que separa autorización y validación.
|
Precios
Ambas soluciones están disponibles en los planes de precios Spark y Blaze .
Preferiblemente Cloud Firestore | Base de datos en tiempo real |
---|---|
Cobra principalmente por las operaciones realizadas en su base de datos (lectura, escritura, eliminación) y, a una tarifa más baja, por el ancho de banda y el almacenamiento. Cloud Firestore admite límites de gasto diario para proyectos de App Engine, para garantizar que no excedas los costos con los que te sientes cómodo. Obtenga más información sobre los planes de precios de Cloud Firestore . | Cobra sólo por ancho de banda y almacenamiento , pero a una tarifa más alta. Obtenga más información sobre los planes de precios de Realtime Database . |
Uso de Cloud Firestore y base de datos en tiempo real
Puedes usar ambas bases de datos dentro de la misma aplicación o proyecto de Firebase. Ambas bases de datos NoSQL pueden almacenar los mismos tipos de datos y las bibliotecas cliente funcionan de manera similar. Tenga en cuenta las diferencias descritas anteriormente si decide utilizar ambas bases de datos en su aplicación .
Obtenga más información sobre las funciones disponibles tanto en Realtime Database como en Cloud Firestore .
¿Listo para elegir una base de datos?
Esperamos que esta comparación le haya ayudado a decidirse por una solución de base de datos Firebase. Ahora puedes aprender cómo agregar una base de datos a tus proyectos de Firebase.
- Para Cloud Firestore , consulte Introducción a Cloud Firestore .
- Para Realtime Database , lea el tema Introducción correspondiente a su plataforma: Apple , Android , C++ , Unity , Web o REST .