我有关于要使用Threading和C#最快方式从Google数据存储区下载1.5 GB数据的问题

时间:2019-02-12 06:17:28

标签: download google-cloud-datastore datastore

我具有 1.5Gb 的数据( 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 个答案:

答案 0 :(得分:0)

1)如果您希望更快地获取所有数据,则应考虑将查询与Cloud Dataflow并行化。 python和java都存在用于从Cloud Datastore读取数据流的连接器。  内置连接器的列表位于https://beam.apache.org/documentation/io/built-in/

2)如果您的请求包含“ Accept-Encoding:gzip”,则响应应该已经被压缩。