通过Google云端数据存储进行数据备份与谷歌驱动器对其他存储服务进行备份

时间:2015-03-08 18:18:43

标签: android google-app-engine google-drive-api google-cloud-storage google-cloud-endpoints

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

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

如果我使用谷歌云存储,我该怎么办?这是我们如何使用具有端点类的Entity类创建app-engine后端,从而将其保存到云的无架构NoSQL数据存储区?如果我这样做,应用程序可以使用的存储空间是否有限制?

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

3.描述appengine无架构NoSQL数据存储区与cloudSQL之间的区别,这对于用户的数据存储更好。

4.它被称为app引擎app / backend-设备中的android客户端应用程序或上传到云端的后端模块(具有实体类,端点类等)?那么Web前端(由IDE自动生成)是必要的吗?

2 个答案:

答案 0 :(得分:4)

  

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

Google 云存储非常适合保存大量数据,例如照片,以及获取或提供服务。 Google App Engine的数据存储区用于更小,更结构化的数据(每个实体不超过1MB,因此您可以看到许多照片不适合那里),并且能够获得他们将来通过查询完全或部分地回来。

  

如果我使用谷歌云存储,我该怎么办?这是我们如何制作的   app-engine后端使用Entity类和端点类,从而   将其保存到云的无架构NoSQL数据存储区?如果我这样做,是吗?   应用程序可以使用的存储空间限制吗?

Google Cloud Endpoints有助于实现此目的,但这部分数据包含了大量的内容和#34; (例如照片和视频)应该存储在云存储中,而在数据存储中,您只需保存由此创建的云存储对象的名称(以便将来检索),以及其他不那么庞大,结构更多的数据(例如用户'联系信息)。

数据存储区中的每个单个实体必须在1兆字节内。云存储中的对象大小没有限制,应用程序可以拥有的数据存储实体数量也没有限制,云存储桶和对象的数量也没有限制。当然,您需要为存储和访问权限付费 - 请参阅https://cloud.google.com/storage/pricing了解云存储,https://cloud.google.com/appengine/pricing#cost_resource了解App Engine资源(包括数据存储)。

  

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

Google云端硬盘是"云中的文件系统" - 当您需要文件系统语义时,您可以使用它,而不仅仅是存储和检索大对象(云存储最擅长的)或使用数据库的功能(关系,如云SDL,或不是,像GAE数据库一样)。在此处表达此类需求时,驱动器似乎不太适合您的需求。

  

3.描述appengine无架构NoSQL数据存储区与cloudSQL之间的区别,这对用户的数据存储更有利。

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

  

4.它被称为app引擎app / backend-设备中的android客户端应用程序或后端模块(带有实体类,端点类)   等)上传到云? Web前端怎么样(即   由IDE自动生成,是否有必要?

术语"后端"有些含糊不清和过载。 GAE过去常常使用它来指代用于处理较大(类似批处理)工作负载的特定实例,但现在不推荐使用GAE modules来为您提供更多控制权。

在任何情况下,Android客户端肯定会成为"后端"什么;它绝对是前端,与用户交互(而应用引擎应用程序,与您选择使用的任何形式的存储交互,将成为该Android应用程序的后端)。

如果您仅愿意将用户限制在Android应用中,而不是以任何方式向他们提供从浏览器访问其数据的权限,那么您提供网络并非绝对必要&# 34;面部"为您服务。然而,它可以非常简单,并且赋予用户更多的灵活性和选择权并不是一件坏事,不是吗?我怀疑,这部分代代相传 - 能够从更大的屏幕和更大,更易读的字体访问您的服务,对于更成熟的用户来说可能是宝贵的,而千禧一代可能更不关心它。 / p>

答案 1 :(得分:2)

  • Google cloud storage不是Google Cloud Datastore。云存储是Blob的持久持久存储,Google Cloud Datastore是NoSQL产品。 Google云端硬盘通常不适合作为移动应用的后端存储。

  • 请勿使用Google云端硬盘作为后端存储空间。它不适用于结构化数据,而是作为云文件系统。

  • NoSQL数据存储区a.k.a.Google云数据存储区是NoSQL - 无架构,高可用性存储,而Google Cloud SQL是在Google基础架构上运行的完全托管的mySQL数据库。

  • 我认为你在问你的代码在哪里运行。 Google App Engine是Google的PAAS解决方案,非常适合此目的。