1

我对使用 GAE 进行有效查询的数据模型建模有点陌生,但对 RDBMS 有广泛的了解。

这就是问题所在:我得到了大约一百万个术语(字符串),并且需要将关联的数值作为时间序列与每周数据点进行查询和比较。将其视为 X 轴上的时间图和显示数值度量的线性 Y 轴。

到目前为止,我在数据存储中获得了每个术语和每天的离散数据点,我正在寻找一种方法来按周聚合数据 并存储数据,以便我可以有效地查询数据存储。我正在考虑预先计算每个学期不同长度(4 周、5 周、6 周等)的时间序列,并将每个条目存储为{term, start_week, [time series]}

使用 RDBMS,我可以轻松地按周分组并以编程方式创建数据系列,无论是作为存储过程还是在应用程序后端。由于 GAE 限制和 BigTable 作为高度分布式系统的性质,这不是一个选项。

任何想法都受到高度赞赏!

4

1 回答 1

2

您采用的方法似乎是合理的,但这完全取决于您需要执行的查询类型。假设您需要按名称(字符串)和周查找时间序列,并且您通常希望获取连续 1 到 100 周的数据,我建议如下:

  • 按照您的建议,为每个学期的每周数据提供一个实体
  • 与其“松散”地存储数据并定期汇总数据,不如直接以这种形式存储新点。每当您收到一个新数据点时,如果它是一周的第一个点,则创建一个新实体。如果不是,请检索该周的现有实体并将您的数据点附加到它。
  • 当您要绘制数据时,查询您需要的期限和时间段,并按时间顺序获取结果。
于 2010-08-12T08:04:07.947 回答