質問: csvSync(data) // 書き込み処理 res.forEach(function(user) { #addでレコードを新規作成する usersRef.add({ id: Number(user[0]), name: user[1], sex: user[2], address: user[3] }) }, this); ``` よろしくお願いします。
回答: > > dbへの書き込み処理でエラーを起こした際の対処 > > > `Error: Deadline Exceeded`とある通り,時間かかり過ぎで怒られているようです. CSVの分割が簡単な対処ではないでしょうか. > > データ移行について一般的に考慮すべきこと > > > まずそもそもの話ですが,realtime databaseのほうが場合によってメリットもあることはご認識ください. ・読み書きの非常に多いサービスでは,Firestoreより安くなりやすい(お絵かきチャットなど) ・全般的に少し簡単 ・オフライン検知ができる ・低レイテンシ,反映が速い 具体的な移行ベストプラクティスに関しては,まだまだコミュニティ全体としてもノウハウ蓄積待ちの状態とは思いますが, ひとまず推奨できることとして,`batch()`を利用した一括書き込み(Batched writes)は,多くの場合で速度向上につながるかと思われます. それから,データ構造など少し違うのはもちろんですが,セキュリティルールについても違うためご確認ください. > > csvから読み出したデータの扱い方について、下に示すようにarray[0]のように扱うよりももっと良いベストプラクティスがあるのではないか? > > > 書き込むFirestore内でのデータ構造ではなく,単に読み込んだCSVデータの扱い,ということでしょうか? 移行は一時的なものですし,そもそもあまりそこにこだわる意味はないのではないか,と思いますが,いかがでしょうか.