Closed6

firestoreのチューニングをする

sugar-catsugar-cat

個人で使ってる特に何もチューニングしていないdbがあるのでこいつを改善する
月700円くらいかかってる

sugar-catsugar-cat

最大 100 階層までデータをネストできます。

ネストした場合としなかった場合の差
サブコレにした場合と複合indexを利用した場合の比較が必要そう

ホットスポットに注意する

ドキュメントの ID によってデータを分割して保持するので、アクセスがランダムになるようにIDはシーケンシャルでないようにする

sugar-catsugar-cat

Cloud Firestore を使用すると、以下の項目に対し課金されます。
読み取り、書き込み、削除を行うドキュメントの数。
集約クエリにより照合されたインデックス エントリの数。クエリにより照合されたインデックス エントリのバッチ(1,000 個まで)ごとに 1 回のドキュメントの読み取りとして課金されます。
データベースにより使用されるストレージの容量(メタデータとインデックスのオーバーヘッドを含む)。
ネットワーク帯域幅の使用量。

  • 読み取り、書き込み、削除

書き込みの場合、set オペレーションまたは update オペレーションを実行するたびに書き込み 1 件としてカウント

blukwriterの時はどうなるのかな。書き込み対象のドキュメント数ごとに課金?

クエリの結果をリッスンする場合、結果セット内のドキュメントを追加または更新するたびに、1 回の読み取り

firestoreでstreamは注意が必要そう

カーソル。長期実行クエリを再開できます。
ページトークン。クエリ結果のページを設定できます。
上限。取得する結果の数を指定します。
オフセット。一定数のドキュメントをスキップできます。

カーソル、ページトークン、および上限を使用する場合、追加コストは発生しないらしい。
オフセットは飛ばしたドキュメント数分課金

コレクション ID リストのリクエストは1 回のドキュメント読み取り分

sugar-catsugar-cat

その他の課金対象
Cloud Firestore に保存するデータの容量

サンプル ポイントの1か月平均をとってデータベースのストレージ サイズを計算

ネットワーク帯域幅

シリアル化されたメッセージ形式に基づいてレスポンスのサイズを計算

このスクラップは2024/03/21にクローズされました