如何使用 python 使用 google appengine 存储和检索时间序列
How to store and retrieve time series using google appengine using python
我们正在开发一种工具来分享特定行业的案例研究。
- 我们想存储人们观看案例研究的时间(时间序列)
- 我们希望以与 Google Analytics 在其主页上相同的方式显示分析(参见附件)
数据模型很简单:
from google.appengine.ext import ndb
from webapp2_extras.appengine.auth.models import User
class CaseStudy(ndb.Model):
title = ndb.StringProperty()
published = ndb.BooleanProperty( default=False)
class Hits(ndb.Model):
case_study = ndb.StructuredProperty(CaseStudy, repeated=False)
by_whom = ndb.StructuredProperty(User, repeated=False)
timestamp = DateTimeProperty(auto_now_add=True)
- 我们想使用以下组件之一:Google AppEngine、NDB、BigTable、MapReduce,Python
- 我们想向案例研究的所有者显示时间序列
- 我们希望避免使用 D3js(太复杂?))
- 我们想用Morris来显示那些时间序列http://morrisjs.github.io/morris.js/
问题
- 如何设计存储数据的架构? NDB 还是其他?
- 如何设计聚合数据的架构?
- 如何设计显示数据的架构?
- 我们需要集成 http://Goo.Gl 吗?
提前致谢,欢迎任何建议
完全避免使用数据存储 (BigTable),它太昂贵而且速度太慢。
看看this project。
Big Query 可能是您需要的。
我们正在开发一种工具来分享特定行业的案例研究。
- 我们想存储人们观看案例研究的时间(时间序列)
- 我们希望以与 Google Analytics 在其主页上相同的方式显示分析(参见附件)
数据模型很简单:
from google.appengine.ext import ndb
from webapp2_extras.appengine.auth.models import User
class CaseStudy(ndb.Model):
title = ndb.StringProperty()
published = ndb.BooleanProperty( default=False)
class Hits(ndb.Model):
case_study = ndb.StructuredProperty(CaseStudy, repeated=False)
by_whom = ndb.StructuredProperty(User, repeated=False)
timestamp = DateTimeProperty(auto_now_add=True)
- 我们想使用以下组件之一:Google AppEngine、NDB、BigTable、MapReduce,Python
- 我们想向案例研究的所有者显示时间序列
- 我们希望避免使用 D3js(太复杂?))
- 我们想用Morris来显示那些时间序列http://morrisjs.github.io/morris.js/
问题
- 如何设计存储数据的架构? NDB 还是其他?
- 如何设计聚合数据的架构?
- 如何设计显示数据的架构?
- 我们需要集成 http://Goo.Gl 吗?
提前致谢,欢迎任何建议
完全避免使用数据存储 (BigTable),它太昂贵而且速度太慢。 看看this project。 Big Query 可能是您需要的。