如何使用谷歌appengine使用python存储和检索时间序列

时间:2015-06-09 10:52:00

标签: python google-app-engine time-series bigdata

我们正在开发一种工具来分享特定垂直行业的案例研究。

  1. 我们希望存储人们观看案例研究的时间(时间序列)
  2. 我们希望以与Google Analytics在其主页上相同的方式显示分析(请参阅附件)
  3. Google Analytics, default dashboard

    数据模型很简单:

    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)
    
    1. 我们想要使用其中一个组件:Google AppEngine,NDB,BigTable,MapReduce,Python
    2. 我们希望向案例研究的所有者显示时间序列
    3. 我们想避免使用D3js(过于复杂?))
    4. 我们想使用Morris来显示那些时间序列http://morrisjs.github.io/morris.js/
    5. 问题

      1. 如何设计架构来存储数据? NDB还是别的什么?
      2. 如何设计架构以聚合数据?
      3. 如何设计架构以显示数据?
      4. 我们是否需要整合http://Goo.Gl
      5. 提前感谢您,欢迎任何建议

1 个答案:

答案 0 :(得分:2)

完全避免数据存储(BigTable),太昂贵和缓慢。 看看this projectBig Query可能就是您所需要的。