Firebase Firestore 模拟器批量导入速度慢

问题描述

本地 Firestore emulator for firebase 在处理大量数据时似乎相当慢。

我正在尝试模拟大约 5,000,000 个文档的生产批量导入,但在几千条记录后,服务器不堪重负,速度减慢到大约 5 条记录/秒。

关于 Transactions and Batched Writes firebase 的话题说...

注意:对于批量数据输入,请使用具有并行化单独写入的服务器客户端库。批量写入的性能比序列化写入好,但不比并行写入好。您应该使用服务器客户端库进行批量数据操作,而不是移动/网络 SDK。

这对我来说意味着我不应该使用移动/网络 SDK,并且应该确保我使用服务器端 SDK/API 进行导入。

我已经将 server client library 用于 node.js

  const batch = firestore.batch();

  for (const record of records) {
    batch.set(
      firestore.collection(collection).doc(record.key),record,);
  }
  await batch.commit();

...这个问题让我觉得本地模拟器(或一般的firestore)无法跟上高负载

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)