【发布时间】:2011-05-12 16:33:39
【问题描述】:
我之前没有使用过 Google App Engine 的经验,但我是一位经验丰富的 Java 开发人员。
我有兴趣通过 Google App Engine 设置一个 REST API,您可以在其中向它提供数据,它会使用我单独生成的预测模型进行预测。
构成预测模型的数据可以从几百千字节到 gzip 压缩时的几兆字节,解压缩时大几倍。当存储在内存中时,它基本上由 10-30 个 HashMap 组成,每个 HashMap 包含从少数到数万个条目。
在预测过程中,从这些 HashMap 中检索数据并以各种方式组合以得出最终预测。重要的是尽快发生这种情况以最大程度地减少 API 的延迟,这就是我希望将 HashMap 保留在内存中的原因。
有没有办法在 Google App Engine 中将这些数据存储为序列化文件,以便在启动时加载?我意识到我可以将数据存储在数据存储中的 HashMap 中并根据需要检索它们,但我担心这会相当慢,因为典型的预测可能需要从不同的 HashMap 检索 30 个不同的值。
即使使用 Memcache,我也担心这会比将数据存储在 JVM 中的 HashMap 中慢得多。
【问题讨论】: