Firebase ofrece dos bases de datos de documentos basadas en la nube y accesibles para los clientes. Te recomendamos que los clientes nuevos comiencen con Cloud Firestore:
Cloud Firestore es la base de datos de documentos de nivel empresarial recomendada y compatible con JSON, en la que confían más de 250,000 desarrolladores. Es adecuada para aplicaciones con modelos de datos enriquecidos que requieren capacidad de consulta, escalabilidad y alta disponibilidad. También ofrece sincronización de clientes de baja latencia y acceso a los datos sin conexión.
Realtime Database es la base de datos JSON clásica de Firebase. Es adecuado para aplicaciones con modelos de datos simples que requieren búsquedas simples y sincronización de baja latencia con escalabilidad limitada.
¿Qué otros aspectos importantes debo tener en cuenta?
Después de pensar en las consideraciones clave anteriores, es posible que estés listo para elegir una base de datos. Si todavía estás considerando las ventajas y desventajas, en esta sección se abarcan otras diferencias entre Cloud Firestore y Realtime Database.
Modelo de datos
Tanto Realtime Database como Cloud Firestore son bases de datos NoSQL.
Cloud Firestore | [ PREFERIDO ] | Realtime Database |
---|---|---|
Almacena datos como colecciones de documentos.
Obtén más información sobre el modelo de datos de Cloud Firestore. |
Almacena datos como un gran árbol JSON.
Obtén más información sobre el modelo de datos de Realtime Database. |
Compatibilidad sin conexión y en tiempo real
Ambos tienen SDK en tiempo real centrados en dispositivos móviles y ambos admiten el almacenamiento de datos locales para las apps que funcionan sin conexión.
Cloud Firestore | [ PREFERIDO ] | Realtime Database |
---|---|---|
Soporte sin conexión para clientes de Apple, Android y la Web. | Soporte sin conexión para clientes de Apple y Android. |
Presencia
Puede ser útil para saber si un cliente está en línea o no tiene conexión. Firebase Realtime Database puede registrar el estado de conexión del cliente y proporcionar actualizaciones cada vez que cambie el estado de conexión del cliente.
Cloud Firestore | [ PREFERIDO ] | Realtime Database |
---|---|---|
No compatible de forma nativa. Puedes aprovechar la compatibilidad de Realtime Database con la presencia si sincronizas Cloud Firestore y Realtime Database con Cloud Functions. Consulta Crea presencia en Cloud Firestore. | Se admite la presencia. |
Realiza consultas
Recupera, ordena y filtra datos de ambas bases de datos mediante consultas.
Cloud Firestore | [ PREFERIDO ] | Realtime Database |
---|---|---|
Consultas indexadas con ordenamiento y filtrado compuestos.
|
Consultas directas con funciones de ordenamiento y filtrado limitadas.
|
Escrituras y transacciones
Cloud Firestore | [ PREFERIDO ] | Realtime Database |
---|---|---|
Operaciones avanzadas de escritura y transacción.
|
Operaciones básicas de escritura y transacción.
|
Confiabilidad y rendimiento
Cloud Firestore | [ PREFERIDO ] | Realtime Database |
---|---|---|
Cloud Firestore es una solución regional y multirregional con ajuste de escala automático.
|
Realtime Database es una solución regional.
|
Tiempo de actividad
Cloud Firestore | [ PREFERIDO ] | Realtime Database |
---|---|---|
Rendimiento de tiempo de actividad extremadamente alto
|
Alto rendimiento de tiempo de actividad
|
Escalabilidad
Cloud Firestore | [ PREFERIDO ] | Realtime Database |
---|---|---|
El escalamiento es automático.
|
El escalamiento necesita fragmentación.
|
Seguridad
Cloud Firestore | [ PREFERIDO ] | Realtime Database |
---|---|---|
Reglas sin formato de cascada que combinan autorización y validación.
|
Lenguaje de reglas en cascada que separa la autorización de la validación.
|
Precios
Ambas soluciones están disponibles en los planes de precios Spark y Blaze.
Cloud Firestore | [ PREFERIDO ] | Realtime Database |
---|---|---|
Se cobra principalmente por operaciones ejecutadas en la base de datos (lecturas, escrituras y eliminaciones) y, con una tarifa menor, por ancho de banda y almacenamiento.
Cloud Firestore admite diariamente límites de gasto para proyectos de App Engine, a fin de asegurarte de no superar los costos si te acomodan. Más información sobre Planes de precios de Cloud Firestore. |
Se cobra solo por ancho de banda y almacenamiento, pero con una tarifa mayor.
Obtén más información sobre los planes de precios de Realtime Database. |
Usa Cloud Firestore y Realtime Database
Puedes usar ambas bases de datos dentro del mismo proyecto o la misma app de Firebase. Ambas bases de datos NoSQL pueden almacenar los mismos tipos de datos y las bibliotecas cliente funcionan de manera similar. Ten en cuenta las diferencias descritas anteriormente si decides usar ambas bases de datos en la app.
Obtén más información sobre las funciones disponibles en Realtime Database y Cloud Firestore.
¿Todo listo para elegir una base de datos?
Esperamos que esta comparación te haya ayudado a elegir una solución de base de datos de Firebase. Ahora puedes aprender a agregar una base de datos a tus proyectos de Firebase.
- Para Cloud Firestore, consulta Primeros pasos con Cloud Firestore.
- En el caso de Realtime Database, lee el tema Primeros pasos que corresponda a tu plataforma: Apple, Android, C++, Unity, Web o REST.