我正在尝试提供来自某个 Appengine 数据存储字段的 7 天跟踪统计信息。如果我的模型有一个整数字段“Foo”,我希望能够通过过去 7 天 Foo 的增加找到前 N 个模型。
我认为最好举例说明。假设我们有两个具有 Foo 字段的实体,并且我们每天在午夜对 Foo 的值进行采样:
Day 01 02 03 04 05 06 07 08 09 10 11 12 13
User1.Foo 1 2 3 4 5 6 7 8 9 8 7 6 5
User2.Foo 50 55 50 45 50 55 50 45 50 55 50 45 50
我希望能够(每天)构建 7 天的增量:
Day 01 02 03 04 05 06 07 08 09 10 11 12 13
User1.FooDelta7d 6 6 6 4 2 0 -2
User2.FooDelta7d 0 -10 0 10 0 -10 0
并且能够查询用户ORDER BY FooDelta7d。
我可以通过在每个用户上保留 7 个额外条目来解决这个问题,比如 Foo1 Foo2 Foo3 ... Foo7 并以一年中的一天为模 7 来决定在午夜写入哪个条目:
Day 01 02 03 04 05 06 07 08 09 10 11 12 13
User1.Foo 1 2 3 4 5 6 7 8 9 8 7 6 5
User1.Foo1 1 1 1 1 1 1 1 8 8 8 8 8 8
User1.Foo2 2 2 2 2 2 2 2 9 9 9 9 9
User1.Foo3 3 3 3 3 3 3 3 8 8 8 8
User1.Foo4 4 4 4 4 4 4 4 7 7 7
User1.Foo5 5 5 5 5 5 5 5 6 6
User1.Foo6 6 6 6 6 6 6 6 5
User1.Foo7 7 7 7 7 7 7 7
所以在(比如说)第 10 天,增量是 User1.Foo3 - User1.Foo4 = 8 - 4 = 4。这可行,但对我来说似乎真的很恶心,特别是因为这意味着我要跟踪的每个字段有 8 倍的存储空间。
有没有人有更好的主意?谢谢!