Firebase ofrece dos bases de datos de documentos basadas en la nube y accesibles para los clientes. Recomendamos a los clientes nuevos que comiencen a usar 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 clásica de Firebase en JSON. 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 describen 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.
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 una 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 límites de gasto diarios para proyectos de App Engine a fin de garantizar que no excedas los costos esperados. Obtén más información sobre los planes de precios de Cloud Firestore. |
Se cobra solo por ancho de banda y almacenamiento, pero con una tarifa mayor.
Más información sobre los planes de precios de Realtime Database |
Uso de 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.