我有1.5Gb的Google数据存储数据(大约800000个实体),下载整个数据大约需要4000秒。
1)是否可以使它快速?
2)我们可以在请求Google Datastore的客户端API时使用“accept-encoding:gzip”压缩数据吗?
1)我已尝试使用RunQueryLazily,但它将以300实体/秒的速度进行批量处理,但下载整个数据需要2666秒,但速度并不快。
Query queryString = new Query(kindname);
var data = _db.RunQueryLazily(queryString);
foreach (Entity entity in data)
{
....
store in inner class model
....
}
输出结果将是大数据列表。
1)如果您希望更快地获取所有数据,则应考虑使用Cloud Dataflow并行化查询。从Cloud Datastore读取Dataflow的连接器对于python和java都存在。内置连接器列表位于https://beam.apache.org/documentation/io/built-in/。
2)如果您的请求包含'Accept-Encoding:gzip',则应该已经压缩了响应。