私は、セキュリティと読み取り/書き込み/検証ルールについて、Firebaseのドキュメントを読んできました。ドキュメントは非常に詳細ですが、セキュリティルールがパフォーマンス(クエリの検索、データの書き込みなど)に与える影響についての情報はありません。Firebaseの読み取り/書き込み/検証ルールのパフォーマンスへの影響は?
例えば、以下のデータベースの例を検討:
myapp : {
projects : {
<project_id> : { ... }
}
users : {
<uid> : { role : <admin or pm or other> }
}
}
...と読書については、以下のデータベースルール:
rules : {
projects : {
$project : {
{
.read: root.child(‘users’).child(auth.uid) && root.child(‘users’).child(auth.uid).child(‘role’).val() == “admin” || root.child(‘users’).child(auth.uid).child(‘role’).val() == “pm”
}
}
}
それはどんな$プロジェクトノードからデータを読み取ることになる
(EXを:.child( "projects/alpha").once())、このルールはパフォーマンスにどのような影響を与えますか?読み込みルールが存在しない場合と比較して、複数のクエリ/読み込みを1つずつ実行すると、 Firebaseは再評価を避けるためにルールの結果をどこかに保存しますか?
こんにちはフランク、すばやく返信いただきありがとうございます。フォローアップとして、規則を持っているのと対立していて、規則を持っていないと、パフォーマンスにどのような影響がありますか?それは本質的に無視できますか? (私は、より明確になるように質問を編集した)。 –
特定のルールに起因すると思われるパフォーマンス上の問題が発生していない限り、私はユースケースに合ったルールを書くことに固執します。それ以外は早すぎる最適化です。 –