Google Cloud Datastore frente a Firebase [cerrado]

96

Google proporciona dos servicios de almacenamiento de datos basados ​​en la nube, Google Cloud Datastore y Firebase (después de su adquisición). Si bien se proporcionan escenarios de uso típicos para permitir que un desarrollador haga una selección entre varios servicios proporcionados por la plataforma en la nube de Google, no se menciona cómo Firebase encaja en la imagen en su desarrollo actual / futuro.

¿Alguien puede imaginarse alguna información sobre el asunto y proporcionar casos de uso típicos de Google Cloud Datastore frente a Firebase?

Chebyr
fuente
2
También tenemos más información aquí: cloud.google.com/storage-options
Dan McGrath
Firebase no es un servicio de almacenamiento de datos en sí mismo, ya que abarca un conjunto de productos que incluyen Cloud Firestore y Realtime Database para bases de datos y Cloud Storage para archivos.
Andy Fusniak
@DanMcGrath Datastore no aparece en ninguna parte del enlace que compartiste. ¿O me estoy perdiendo algo?
Ronnie Royston
@Ron, en el tiempo transcurrido desde que se publicó, la versión mejorada de Datastore rebautizada como Cloud Firestore es GA, por lo que solo usamos el nuevo nombre.
Dan McGrath
@DanMcGrath a la derecha. ... la URL cloud.google.com/datastore todavía anuncia el sistema obsoleto, así que no estaba seguro de cuál era el trato. Gracias.
Ronnie Royston

Respuestas:

61

Ambos productos tienen sus puntos fuertes y débiles. Aquí hay algunas razones para usar uno u otro:

Usa Firebase si quieres:

  • Una base de datos sin su propio backend : los SDK de Firebase le permiten escribir aplicaciones web y móviles sin ejecutar su propio backend. Puede leer y escribir en Firebase Database directamente desde su aplicación, no se requiere código de servidor. El modelo de seguridad de la base de datos permite un control de acceso detallado sin un servidor basado en sus usuarios.
  • Datos en tiempo real : Firebase te permite escuchar los cambios en tus datos, lo que hace que escribir cierto tipo de aplicaciones sea muy fácil. Un gran ejemplo es el editor de texto colaborativo .
  • Un modelo de datos simple : Firebase Database almacena JSON. Si conoce JSON, conoce el modelo de datos de Firebase.
  • Para beneficiarse de otras funciones de Firebase : por ejemplo, Firebase proporciona autenticación y administración de usuarios que funciona muy bien con la base de datos.

Utilice Datastore si lo desea:

Jonnydee
fuente
1
Cree que la frase "Una base de datos sin su propio back-end" es aplicable a ambos servicios. El almacén de datos es parte de Google Cloud, no está manteniendo sus propios servidores. En cuanto a la lógica de back-end, la mayoría de las bibliotecas cliente de Datastore están basadas en servidores, sin embargo, es posible utilizar sus API REST para aplicaciones móviles y basadas en web. Incluso puede ir tan lejos como para ejecutar la biblioteca cliente Node.js a través de browserify, convirtiéndola en una biblioteca basada en web.
TheAddonDepot
1
@DimuDesigns firebase DB tiene reglas de seguridad para evitar que las actualizaciones del usuario alteren sus datos. Por ejemplo, elimine los datos de otras personas. Eso significa DB sin backend, no necesita backend para verificar la validez de la entrada, aunque no es aceptable permitir que el cliente haga lo mismo con gdatastore
Thaina
@DimuDesigns o jonnydee: ¿Datastore tiene todas las funciones que tiene Firebase más las dos enumeradas para Datastore? O al menos, responda, ¿Datastore también tiene datos en tiempo real de la misma manera que Firebase?
Bryan Dimas
1
@BryanDimas Datastore no admite de forma nativa los activadores de eventos en tiempo real cuando cambian los datos. Sin embargo, existe una función llamada "Puesta en cola de tareas transaccionales". No es en tiempo real, pero es una opción viable. Sin embargo, se ha hablado de implementar la función de forma nativa: issuetracker.google.com/issues/62959790
TheAddonDepot
1
@BryanDimas Aquí hay un enlace a cierta documentación sobre la " puesta en
cola de
14

firebase podría decirse específicamente para plataforma móvil. La nube de Google era una solución empresarial.

Firebase ha desarrollado sus sdks teniendo en cuenta Android, IOS, Web y Unity (motor de juego). No necesita el servidor web para interactuar con sus componentes. Sus sdks son suficientes para hacer eso. Por lo tanto, no hay costo de servidor web o servidores de aplicaciones. Tiene una base de datos en tiempo real, puedes escuchar y es ridículamente rápido.

Tiene servicio de mensajería en la nube, autenticación, funciones Lambda y almacenamiento masivo (como cualquier otra nube). Su documentación es muy sucinta. Por lo tanto, no es necesario pasar por miles de páginas para comprender cualquier servicio de nube típico como AWS o Google Cloud. Me tomó un mes integrar mi juego con AWS, pero solo me tomó una semana integrarlo con firebase.

sn.anurag
fuente
8

Actualización de octubre de 2017 (Firebase lanzó Cloud Firestore):

Cabe señalar que con el lanzamiento reciente de Cloud Firestore (Beta a partir de octubre de 2017), las ventajas de Datastore sobre "Firebase" que mencionó johnydee ahora son obsoletas si usa el producto Firestore, ya que tiene consultas poderosas y es altamente escalable. .

Estos productos (Datastore y Firestore) comparten raíces comunes y solo uno se puede usar en el mismo proyecto.

La respuesta de Johny aún se aplica si compara Firebase Realtime Database con Datastore.

Kqtr
fuente
¿Firestore admite zigzag-merge-join flexible como soporte de índice que está disponible en el almacén de datos? Como uno descrito en cloud.google.com/appengine/articles/indexselection
user482594
7

La pregunta se aborda automáticamente en la última versión de Firebase lanzada en Google IO 2016, en la que han traído una integración a gran escala entre Firebase y Google Cloud Platform.

Consulte https://firebase.googleblog.com/2016/05/firebase-expands-to-become-unified-app-platform.html

Ahora se puede acceder a todos los servicios de Google Cloud Platform de una manera mucho más sencilla a través de Firebase. La forma de acceder a la base de datos en tiempo real de Firebase también se ha ampliado a Google Cloud Storage. Muchas de las API del lado del cliente de Google Cloud, como Google Cloud Messaging, se han trasladado a la marca Firebase.

Firebase es claramente el camino previsto por Google para el acceso del lado del cliente a la infraestructura de Google Cloud Services.

Chebyr
fuente
2
Google Cloud Datastore es una base de datos escalable reforzada, Firebase es solo para aplicaciones de pequeña escala (<10k conexiones) y tiene un tiempo de inactividad de migración de fragmentos regular
Mark Essel