【问题标题】:Is Google Cloud Datastore or Google BigQuery better suited for analytical queries?Google Cloud Datastore 还是 Google BigQuery 更适合分析查询?
【发布时间】:2017-12-17 02:17:48
【问题描述】:

目前,我们正在将从供应商 API 检索到的数据上传到 Google 数据存储区。想知道数据存储和查询数据的最佳方法是什么。

我将需要查询数百万行数据,并从数据中提取定制工程特征。所以想知道我是否应该将数据直接加载到 BigQuery 并查询它以加快处理速度,还是将其存储在 Datastore 中然后将其移动到 BigQuery 进行查询?我将使用 pandas 对存储的数据进行统计。

【问题讨论】:

    标签: python pandas google-cloud-datastore google-bigquery google-cloud-platform


    【解决方案1】:

    通常,Google Cloud Datastore 用于存储由应用程序访问的用户数据。 Google BigQuery 用于对数据运行分析查询,因此听起来更适合您提议的用例。

    您可以查看Google Cloud storage options table 进行更详细的比较。

    Loading Datastore data directly into BigQuery 将为您提供最佳查询性能,但您也可以backup your Datastore to Cloud Storage 并使用Cloud Storage as an external data source for BigQuery

    要在 Pandas 中访问 BigQuery 结果,您可以使用 pandas-gbq 库或使用 BigQuery 与 Datalab 的集成。

    【讨论】:

    • 作为 Cloud Datastore 的 PM,这个答案得到了我的支持。
    【解决方案2】:

    据我所知,Pandas 中不支持 Datastore。这可能会影响您的决定。

    【讨论】:

      【解决方案3】:

      您还可以考虑 INSERT/DELETE 操作的每日配额限制,BigQuery 为 1000,而 Datastore 为 20000(在撰写本文时)。请参阅以下参考资料:

      除此之外,UPSERT 或修改行在 BigQuery 中似乎不是推荐的操作:

      所以这些可以从另一个方面帮助你做出决定。

      --以下只是我的个人经验--

      我面临类似的选择情况,但在了解了这些配额事实后,我的印象是 BigQuery 可能并不总是适合作为数据湖,但您可以先在 Datastore 加载数据,然后再加载一些数据以供稍后分析到 BigQuery,正如@tim-swast 提到的:

      【讨论】:

        猜你喜欢
        • 2018-05-21
        • 2019-03-22
        • 1970-01-01
        • 1970-01-01
        • 2018-01-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-21
        相关资源
        最近更新 更多