【发布时间】:2016-10-08 03:15:51
【问题描述】:
我正在尝试通过存储在后端的数据库中来跟踪我的 android 应用程序中的用户事件。我正在为我的移动后端使用 Google App Engine。我想弄清楚 Google App Engine 中的 Datastore 是否适合这个。另外,我遇到了 NoSQL 的 Bigtable(计费功能)。
在 Google App Engine 中使用 Cloud Datastore 与 Bigtable 的优缺点是什么?
此外,我找不到自动清除 Datastore 中旧数据(即,早于特定日期等)的方法(我找到了一些使用 cron-job 的建议)。
【问题讨论】:
-
BigQuery 专为您的应用而设计
-
@IgorArtamonov -- 不,
BigQuery不适合这个。 BigQuery 非常适合在收集数据之后查询数据,但对于需要频繁写入的数据来说,它不是很好的存储。我已经看到使用 Datastore 完成了此操作,但据我所知,它不提供开箱即用的“清除早于...的数据”功能。您必须自己构建它(也许是cron的工作来清理它或其他东西)。我猜 Datastore 会更快,因为它不使用传统的 REST api,但我没有任何真实数据来支持这种说法。 -
是的,我知道这样的问题只会得到基于意见的答案 :) 无论如何,afaik 每个人都在为此使用 BQ(人们需要对这些数据进行临时分析,不只是存储和以后燃烧)
-
@IgorArtamonov -- 我并不是说 BQ 不适合临时查询数据 -- 只是你不能使用 BQ 来收集数据在(据我所知)。即,当应用中发生点击时,您不能在 BigQuery 表中仅添加一行来表示该点击。在我的团队中,我们收集数据存储区中的数据并每天备份到 CloudStorage(然后将其导入 BigQuery 进行分析)。无论如何,我认为这个问题是在询问数据收集部分,而不是“一旦我拥有数据,我该如何理解它”部分......
-
你说的“你不能”是什么意思?这绝对是允许的,没有额外的费用或任何东西(afaik 它是免费的应用程序引擎)。我们有一个应用程序可以做到这一点,绝对没问题
标签: python google-app-engine google-cloud-datastore google-cloud-bigtable