繁体   English   中英

从Google数据存储区将图表数据加载到Web应用程序中

[英]Load chart data into a webapp from google datastore

我有一个Google App Engine应用程序,可将时间序列数据实时加载到google datastore nosql样式表中。 我希望获得有关正确类型的体系结构的反馈,以将这些数据提取到Web应用程序样式表中(理想情况下,我还可以将其插入到Word Press等内容管理系统中)。

我的大部分服务器端代码是python。 将数据从数据存储数据库中提取并显示到我的网页中的合理的客户端-服务器设置是什么? 理想情况下,我会进行扩展,并且不会对数据库造成不必要的读取次数(可能使用Google-app-engine内置的缓存/ etc)。

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

欢迎来到“取决于”。

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM