我有大约300mb的数据(~180k json对象),每2-3天更新一次。
这些数据分为三个"集合",我必须保持最新。
我决定采用Node.JS方式,但我所熟知的语言(Java,Python)中的任何解决方案都会受到欢迎。
每当我使用node.JS firebase-admin 客户端执行批量设置时,不仅会消耗异常数量的ram(大约4-6GB!),而且还会导致崩溃没有明确的错误(最多没有有意义答案的谷歌搜索的第4页)原因。
我的代码坦率地说很简单,就是这样:
var collection = db.collection("items");
var batch = db.batch();
array.forEach(item => {
var ref = collection.doc(item.id);
batch.set(ref, item);
});
batch.commit().then((res) => {
console.log("YAY",res);
});
如果在有限的时间内写入数量有限制,我无法找到任何地方(据我所知,50-60k的写入应该很容易让人感到轻松,后端的大小与firebase一样),而且发现这可以通过公羊列车,并且分配了4-6GB的公羊。
我可以确认,当错误被抛出,或者ram使用情况堵塞了我的笔记本电脑时,无论先发生什么事情,我的日常使用配额仍然不到1-4%,所以这不是问题。