java - GAE/数据存储 : How to model my data for frequently updated statistics?

标签 java google-app-engine google-cloud-datastore

假设我有一个名为 User 的实体,我想存储有关用户的统计信息,例如他查看了多少页面。我的困境是我应该将统计信息存储在用户实体中作为名为“pageviews”的属性,还是应该创建一个名为 UserStatistics 的新实体,该实体将存储所有统计信息并将链接到单个用户。

我之所以认为最好创建一个新的统计实体,是因为我需要使用许多事务来更新与实体相关的统计信息,否则这些实体将非常小,几乎完全只读,并且需要经常访问(memcached)...如果我将这些统计信息存储在原始实体中,会产生大量开销吗?或者它并不重要?如果我在单个实体上进行大量事务,会减慢读取速度吗?

最佳答案

您应该将经常更新的数据存储在单独的实体中。每次更新实体时,即使这些属性没有更改,您也会在每个索引属性上产生写入成本。

关于java - GAE/数据存储 : How to model my data for frequently updated statistics?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23206468/

相关文章:

python - GAE NDB AttributeError 模型实例没有属性

java - 为什么 Vaadin ClickListener 没有在第一次点击时触发?

java - 来自数据库的实体类

java - Android 原生 map api 还是 webview?

python - Paho MQTT 无法与 Flask(Google 应用程序引擎)一起使用

python - 如何使用 Python API 在 Google Cloud Storage 上上传文件夹

google-app-engine - 在谷歌云存储上启用计费

python - GQLQuery 检索空结果集

java - 数据存储区 MapReduce 是否已弃用

java - 执行动态创建的文件