首页 文章

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

提问于
浏览
4

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

1.我应该使用哪种服务 - 谷歌 Cloud 存储或谷歌硬盘?

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

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

3.什么是appengine无架构NoSQL数据存储区和cloudSQL之间的区别,这对于用户的数据存储更好 .

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

2 回答

  • 2

    1.我应该使用哪种服务 - 谷歌 Cloud 存储或谷歌硬盘?

    Google Cloud Storage 非常适合保存大量数据,例如照片,以及获取或服务它们 . Google App Engine的 Datastore 用于更小,更结构化的数据(每个实体不超过1MB,因此您会看到许多照片不适合那里),并且能够通过查询将它们全部或部分地取回 .

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

    Google Cloud Endpoints非常适用于此目的,但是“大块”(如照片和视频)的数据部分应该存储在 Cloud 端存储中,而在数据存储区中,您只需保存 Cloud 存储对象的名称因此创建(用于将来检索),以及其他不那么庞大,结构更多的数据(例如用户的联系信息) .

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

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

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

    3.什么是appengine无架构NoSQL数据存储区和cloudSQL之间的区别,这对于用户的数据存储更好 .

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

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

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

    在任何情况下,Android客户端肯定 not 是"a back-end"任何东西;它绝对是前端,与用户交互(而应用引擎应用程序,与您选择使用的任何形式的存储交互,将成为该Android应用程序的后端) .

    如果您只愿意将用户限制在Android应用中,而不是以任何方式向他们提供从浏览器访问数据的权限,因此您不必为您的服务提供网络“面孔” . 然而,它可以非常简单,并且为用户提供更多的灵活性和选择权并不是一件坏事,不是吗?我怀疑这部分是一代人的事情 - 能够从更大的屏幕和更大,更易读的字体访问您的服务,对于更成熟的用户来说可能是宝贵的,而千禧一代可能更不关心它 .

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

    • 请勿将Google Cloud 端硬盘用作后端存储空间 . 它不是用于结构化数据,而是用作 Cloud 文件系统 .

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

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

相关问题