【问题标题】:Data backup by Google Cloud Datastore Vs google drive Vs other storage serviceGoogle Cloud Datastore Vs google drive Vs 其他存储服务的数据备份
【发布时间】:2015-05-09 21:49:33
【问题描述】:

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

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

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

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

3.appengine无模式NoSQL数据存储和cloudSQL有什么区别,哪个更适合用户的数据存储。

4. 哪个叫做app engine app/backend-设备中的android客户端应用程序或上传到云端的后端模块(带有实体类,端点类等)? web前端(IDE自动生成)呢,有必要吗?

【问题讨论】:

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


    【解决方案1】:

    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 应用程序,而不向他们提供任何从浏览器访问其数据的方式,那么您就没有必要为您的服务提供网络“面孔”。然而,它可以很简单地做到,并且赋予您的用户更多的灵活性和选择权并不是一件坏事,不是吗?我怀疑,这在一定程度上是世代相传的事情——从更大的屏幕和更大、更易读的字体访问您的服务的能力对于更成熟的用户来说可能是宝贵的,而千禧一代可能不太关心它。

    【讨论】:

    • 非常感谢您提供如此详尽的答案,您兄弟太酷了,现在正如您所说,我将为数据存储和云存储付费,我认为它们在一定限度内是免费的。我有吗为使用存储/数据存储的已发布应用程序付费?至于 GAE,我可以将其称为应用引擎应用程序而不是后端吗?该应用程序包含什么(即实体、端点、库)?
    • 我建议仔细阅读我提供的各种 Google Cloud Platform 产品定价信息的链接。有些有免费配额——请参阅cloud.google.com/appengine/docs/quotas——例如,云存储中默认存储桶中的前 5GB,加上数据存储中的前 1GB;其他的,比如 cloud sql,没有免费配额。当然,您可以将您的 GAE 应用程序称为应用程序引擎应用程序,为什么不呢?该应用程序是您编写的代码以及您使用的任何库和服务,包括例如云端点。
    • 非常感谢你。对你的澄清首先应该放在谷歌的文档中......:P
    • 我可以再问你一个问题,我找不到答案。 “配额”适用于每个应用程序还是每个开发人员的帐户。我的意思是,1 个应用程序 = 5GB GCS,另一个应用程序 = 5GB GCS 用于同一个谷歌帐户或 1 个开发人员的帐户 = 5GB(对于所有应用程序)。谢谢
    • @Tanvir,我相信这是每个​​帐户的。但是,对于官方答案,您可以随时通过 support.google.com/cloud/contact/cloud_platform_billing 联系账单支持,输入“常规账单查询”。
    【解决方案2】:
    • Google cloud storage 不是Google Cloud Datastore。云存储是 Blob 的持久持久存储,Google Cloud Datastore 是 NoSQL 产品。 Google 云端硬盘通常不是作为移动应用后端存储的好选择。

    • 不要将 Google 云端硬盘用作您的后端存储。它不适用于结构化数据,而是作为云文件系统。

    • NoSQL 数据存储也称为 Google Cloud Datastore 是 NoSQL - 无模式、高可用性存储,而 Google Cloud SQL 是在 Google 基础架构上运行的完全托管的 mySQL 数据库。

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

    【讨论】:

    • 非常感谢您。如果我使用谷歌驱动器作为后端存储,我希望我的应用程序的用户使用免费存储空间来存储微小的数据空间。为什么不推荐它?你能解释一下在哪种情况下使用哪种存储,即云存储、数据存储和驱动器。谢谢
    猜你喜欢
    • 1970-01-01
    • 2019-09-05
    • 2014-07-30
    • 1970-01-01
    • 2015-10-16
    • 1970-01-01
    • 1970-01-01
    • 2016-06-04
    • 1970-01-01
    相关资源
    最近更新 更多