谷歌云数据存储与谷歌驱动器与其他存储服务的数据备份

Tan*_*vir 5 google-app-engine android google-cloud-storage google-drive-api google-cloud-endpoints

我需要对谷歌云整体有一些基本的了解。假设,我有一个 android 应用程序,可以将用户的联系人、照片等存储到云中,在这种情况下 -

1.我应该使用哪个服务 - 谷歌云存储或谷歌驱动器?

如果我使用谷歌云存储,我该怎么做?这是我们如何使用带有端点类的实体类来制作应用引擎后端,从而将其保存到云的无模式 NoSQL 数据存储中吗?如果我这样做,应用程序可以使用的存储空间是否有限制?

2.如果我使用谷歌驱动器,我该怎么做?我应该先将数据存储在 xml 中,然后将其保存到谷歌驱动器吗?

3.appengine schemaless NoSQL datastore和cloudSQL有什么区别,更利于用户的数据存储。

4.哪个称为应用引擎应用程序/后端-设备中的android客户端应用程序或上传到云端的后端模块(带有实体类,端点类等)?web前端(IDE自动生成的)怎么样,有必要吗?

Ale*_*lli 5

1.我应该使用哪个服务 - 谷歌云存储或谷歌驱动器?

Google Cloud Storage非常适合保存大块数据(例如照片)以及获取或提供它们。Google App Engine 的数据存储区用于存储更小、更结构化的数据(每个实体不超过 1MB,因此您会看到例如许多照片不适合其中),并且能够在将来通过查询全部或部分地将它们取回。

如果我使用谷歌云存储,我该怎么做?这是我们如何使用带有端点类的实体类来制作应用引擎后端,从而将其保存到云的无模式 NoSQL 数据存储中吗?如果我这样做,应用程序可以使用的存储空间是否有限制?

Google Cloud Endpoints 非常适合此用途,但“大块”数据部分(例如照片和视频)应存放在 Cloud Storage 中,而在数据存储中,您只需保存 Cloud Storage 对象的名称从而创建(为了将来检索),以及其他较小的结构化数据(例如用户的联系信息)。

数据存储中的每个实体都必须不超过 1 兆字节。Cloud Storage 中的对象大小没有限制,应用可以拥有的数据存储实体的数量也没有限制,Cloud Storage 存储分区和对象的数量也没有限制。当然,您需要为存储和访问付费——对于 Cloud Storage,参阅https://cloud.google.com/storage/pricing,对于 App Engine ,参阅https://cloud.google.com/appengine/pricing#cost_resource资源(包括数据存储)。

2.如果我使用谷歌驱动器,我该怎么做?我应该先将数据存储在 xml 中,然后将其保存到谷歌驱动器吗?

Google Drive 是“云中的文件系统”——当您需要文件系统语义时,您会使用它,而不仅仅是存储和检索大对象(这是 Cloud Storage 最擅长的)或使用数据库的功能(关系,例如云 SDL,与否,如 GAE 数据存储)。驱动器似乎并不像您在这里表达的需求那样非常适合您的需求。

3.appengine schemaless NoSQL datastore和cloudSQL有什么区别,更利于用户的数据存储。

Cloud SQL 是 MySQL 的一种实现,如果您确实需要关系数据库功能(例如 JOIN)或为了简化已编写的现有应用程序的迁移以使用关系数据库,则建议使用 Cloud SQL。如果不需要关系型数据库的特性,Big Blob 的 Cloud Storage 和结构化数据的 GAE Datastore 可以更快,并且可以无限制地扩展(而 Cloud SQL 确实有限制,目前每个实例默认 250 GB ,可通过发送电子邮件至 cloud-sql@google.com 扩展至绝对最大值 500 GB)。

4.哪个称为应用引擎应用程序/后端-设备中的android客户端应用程序或上传到云端的后端模块(带有实体类,端点类等)?web前端(IDE自动生成的)怎么样,有必要吗?

“后端”这个词有点含糊不清,而且过重了。GAE 过去使用它来指代旨在处理更大(类似批处理)工作负载的特定实例,但现在已弃用,以支持GAE modules为您提供更多控制权。

无论如何,android 客户端 up 绝对不会是任何东西的“后端”;它绝对是前端,与用户交互(而应用引擎应用程序,与您选择使用的任何形式的存储交互,将是该 Android 应用程序的后端)。

如果您愿意将您的用户限制为仅使用 Android 应用程序,而不为他们提供任何从浏览器访问其数据的方式,那么您就没有必要为您的服务提供网络“面孔”。然而,它可以非常简单地做到,并且为您的用户提供更多的灵活性和选择权并不是一件坏事,不是吗?我怀疑这在一定程度上是代际的事情——从更大的屏幕和更大、更易读的字体访问你的服务的能力,对于更成熟的用户来说可能是宝贵的,而千禧一代可能不太关心它。