【问题标题】:Load chart data into a webapp from google datastore将图表数据从 google 数据存储区加载到 web 应用程序中
【发布时间】:2017-11-12 22:55:32
【问题描述】:

我有一个谷歌应用引擎应用程序,它可以将时间序列数据实时加载到谷歌数据存储区 nosql 样式表中。我希望就正确的架构类型获得一些反馈,以将这些数据提取到 Web 应用程序样式图表中(理想情况下,我也可以将其插入到 Word Press 等内容管理系统中)。

我的大部分服务器端代码都是 python。从数据存储数据库中提取数据并显示到我的网页中的合理客户端-服务器设置是什么?理想情况下,我会有一些可以扩展的东西,并且不会在我的数据库上造成不必要的读取次数(可能使用 google-app-engine 的内置缓存/等)。

我猜这是一个常见的用例,但我想了解一下可能有哪些最佳实践。我已经看到一些使用客户端 Web 端 javascript/ajax 和服务器端 php 来读取 DB 的示例——这真的是最好的方法吗?

【问题讨论】:

    标签: python wordpress google-app-engine charts google-cloud-datastore


    【解决方案1】:

    欢迎来到“视情况而定”。

    你有一些选择。想象一下经典的四象限图表。一个轴是数据大小,另一个是陈旧/新鲜度。

    如果您的时间序列数据变化迅速,但小到足以在请求中安全地检索,您可以按需查询,将其转换为 JSON,然后将其喷射到浏览器以由 JavaScript 图表包呈现你的选择。如果数据很大,您的应用程序将需要进行某种服务器端预处理,以便在需要数据时,可以在足够少的请求中检索数据,从而使请求不会超时。这可能涉及一些依赖于数据的东西,比如预先存储时间序列。

    如果数据变化缓慢,您可以选择在服务器端生成图表,可能使用matplotlib。当新数据被摄取时,或者可能每隔一段时间,产生一个任务来生成和缓存图表(或 JSON 交给前端)作为数据存储中的 blob。如果数据足够大以至于任务将超时,您可能需要使用后端进程。如果数据足够大并且您不进行预处理,那么您就处于不快乐象限中。

    根据我的经验,GAE memcache 最适合在请求之间的时间很短的请求之间缓存数据。不要依赖于生成工件,将它们填充到内存缓存中,并希望它们会在几分钟后出现。我很少看到这样的作品。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-30
      • 2019-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-13
      相关资源
      最近更新 更多