从数据存储中获取大型 JSON

Fetch large JSON from Datastore

我在 Google Cloud Endpoints 上创建了一个 API,它从 Datastore 中的单个实体获取所有数据。 NoSQL 请求(一个非常简单的请求:Select * 来自实体)是使用 Objectify 执行的。

此数据存储区实体填充了 200 行(实体),每行(实体)都有一个 children 同类实体的列表:

所以当我获取 API 时,返回 JSON。它的大小约为 641Ko 并且有 17K 行.

当我查看 API 资源管理器时,它告诉我请求需要 4 秒才能执行:

我想减少那个时间,因为它真的很高......我已经:

有点帮助,但我认为这不是最有效的方法...

我是否应该使用 Big Query 更快地生成 JSON 文件?或者也许还有其他解决方案?

您是否需要在单个请求中包含所有实体?

  • 如果不是,那么您可以使用 Cursor Queries 批量获取实体并根据需要显示,例如:fetch 20或一次 30 个实体,具体取决于您的需要。
  • 如果是,
    • 你的膳食实体是否经常变化
      • 如果否,您可以生成一个json文件并将其存储在GCS中,每当您的实体发生变化时,您都可以更新json文件,这样在客户端抓取就会快很多,并且使用 etag header,可以轻松提取新内容
      • 如果是, 然后我认为批量获取是拉取那么多实体的唯一有效方法