什么是适合批量写入的数据库

时间:2013-12-21 08:01:26

标签: google-app-engine

我的应用程序目前在应用程序引擎服务器上。我的应用程序连续写入记录(用于记录和报告)。

场景:网站中的观看次数。当我们打开网站时,它会点击服务器以添加包含时间和视图类型的记录。在用户仪表板中显示这些计数。

现在看来这些要求很大。现在40 /秒。谷歌应用程序引擎写得很重,成本也在增加。

有没有办法减少这个或任何其他数据库来记录视图?

2 个答案:

答案 0 :(得分:1)

Google App Engine的数据存储区不适用于您必须连续写入数据存储区并且不经常阅读的此类要求。

您需要将此任务卸载到第三方服务(您可以写一个或使用现有服务)

用户跟踪和分析的更好选择是Google Analytics(尽管您无法直接使用分析在网站上显示点击计数器)。

如果您想要显示您的用户页面点击计数,请使用页面点击计数器:https://www.google.com/search?q=hit+counter

答案 1 :(得分:0)

在这种情况下,您应该避免数据存储。

对于此类分析,最好执行以下操作:

  1. 将数据转储到GAE日志(是的,这听起来有点反直觉,但实际上是来自Google工程师的建议)。 GAE日志是持久的,并且保证不会丢失您写入的数据。
  2. 定期解析数据的日志,然后将其导出到BigQuery。
  3. BigQuery具有非常强大的查询语言,因此能够执行复杂的分析报告。
  4. 幸运的是,这已经在以前完成了:见Mache framework。另请参阅related video

    注意:现在有一个新的BigQuery feature called streaming inserts,可能会取代Mache中使用的繁琐的中间步骤(云存储上的文件)。