1.我应该使用哪个服务 - 谷歌云存储或谷歌驱动器?
Google 云存储非常适合保存大量数据(例如照片)并获取或返回它们。 Google App Engine 的 Datastore 用于存储更小、更结构化的数据(每个实体不超过 1MB,因此您会看到很多照片无法放在那里),并且能够在未来将它们取回,全部或部分,通过查询。
如果我使用谷歌云存储,我该怎么做?这是我们如何制作
应用程序引擎后端使用带有端点类的实体类,从而
将其保存到云的无模式 NoSQL 数据存储中?如果我这样做,有没有
应用可以使用的存储空间是否有限制?
Google Cloud Endpoints 非常适合此目的,但数据中的“大块”(例如照片和视频)部分应隐藏在 Cloud Storage 中,而在数据存储区中您只需保存这样创建的 Cloud Storage 对象(用于将来检索),以及其他规模较小、结构较多的数据(例如用户的联系信息)。
数据存储中的每个实体都必须在 1 兆字节以内。 Cloud Storage 中的对象大小没有限制,应用程序可以拥有的数据存储实体的数量以及 Cloud Storage 存储桶和对象的数量也没有任何限制。当然,您需要为存储和访问付费 - 云存储请参见 https://cloud.google.com/storage/pricing,App Engine 资源(包括数据存储)请参见 https://cloud.google.com/appengine/pricing#cost_resource。
2.如果我使用谷歌驱动,我该怎么做?我应该先将数据存储在 xml 中,然后将其保存到谷歌驱动器吗?
Google 云端硬盘是“云中的文件系统”——您可以在需要文件系统语义时使用它,而不仅仅是存储和检索大对象(这是云存储最擅长的)或使用数据库的功能(关系,如 Cloud SDL,或非关系,如 GAE 数据存储)。就您在此处表达的需求而言,Drive 似乎不太适合您的需求。
3.appengine无模式NoSQL数据存储和cloudSQL有什么区别,哪个更适合用户的数据存储。
Cloud SQL 是 MySQL 的一种实现,如果您确实需要关系数据库功能(例如 JOIN),或者为了简化已编写的现有应用程序的迁移以使用关系数据库,建议您使用 Cloud SQL。如果您不需要关系型数据库的特性,大 blob 的 Cloud Storage 和结构化数据的 GAE Datastore 可以更快,并且可以无限制地扩展(而 Cloud SQL 确实有限制,目前每个实例默认为 250 GB ,可通过发送电子邮件至 cloud-sql@google.com 扩展至最大 500 GB)。
4.所谓的应用引擎app/backend-设备中的android客户端应用程序或后端模块(带有实体类,端点类
等)上传到云端? Web 前端呢(即
IDE自动生成的),有必要吗?
“后端”这个词有些含糊不清,而且过于繁琐。 GAE 过去使用它来指代旨在处理更大(类似批处理)工作负载的特定实例,但现在已弃用它,取而代之的是 GAE modules,它为您提供更多控制权。
无论如何,安卓客户端肯定不会成为任何东西的“后端”;它绝对是前端,与用户交互(而应用引擎应用与您选择使用的任何形式的存储交互,将是该 Android 应用的后端)。
如果您愿意将用户仅限于 Android 应用程序,而不向他们提供任何从浏览器访问其数据的方式,那么您就没有必要为您的服务提供网络“面孔”。然而,它可以很简单地做到,并且赋予您的用户更多的灵活性和选择权并不是一件坏事,不是吗?我怀疑,这在一定程度上是世代相传的事情——从更大的屏幕和更大、更易读的字体访问您的服务的能力对于更成熟的用户来说可能是宝贵的,而千禧一代可能不太关心它。