在 Google Cloud Datastore 与 Google Cloud Bigtable 中存储用户事件历史记录

Storing User Events History in Google Cloud Datastore vs Google Cloud Bigtable

我试图通过存储在后端的数据库中来跟踪我的 android 应用程序中的用户事件。我正在为我的移动后端使用 Google App Engine。我想弄清楚 Google App Engine 中的 Datastore 是否适合这个。此外,我遇到了用于 NoSQL 的 Bigtable(计费功能)。

在 Google App Engine 中使用 Cloud Datastore 与 Bigtable 的优缺点是什么?

此外,我找不到自动清除 Datastore 中的旧数据(即早于特定日期等)的方法(我发现了一些使用 cron-job 的建议)。

Cloud Bigtable 目前不支持 Google App Engine 标准,但该功能正在积极开发中。 Cloud Bigtable 当前 Google App Engine 灵活。

要将用户事件纳入 Bigtable,您必须使用稍微不同的体系结构。这是关于物联网的讨论,它类似于捕获用户事件,因为它是不会改变的时间序列数据:https://www.youtube.com/watch?v=8PibIlXmd-Q

Cloud Bigtable 适用于您希望针对大负载优化吞吐量的情况。最小的 Cloud Bigtable 设置允许 30k QPS(每秒查询数)。 The cost 与您需要多少吞吐量有关,这会转化为节点数,以及您使用多少存储空间。

综上所述,Cloud Datastore 应该更易于使用。 Cloud Bigtable 是一种更专业的工具,需要一定程度的模式设计和 table 管理专业知识。

Cloud Bigtable 如果您正确设置时间戳,清除会自动发生。

您可以在 Overview of Cloud Bigtable 中看到更多信息。

注意:此 post 于 6 月 18 日晚上编辑。

您是否考虑过 Google 分析? https://developers.google.com/analytics/devguides/collection/android/v4/#set-up-your-project